saxon 相关问题

Saxon是XSLT,XQuery,XPath和XSD的实现。支持最新的W3C标准,包括XSLT 3.0,XQuery 3.1,XPath 3.1和XSD 1.1。开源和商业版都有Java,.NET和C版本。产品集的最新成员是Saxon-JS,这是一个将在大多数浏览器中运行的XSLT运行时。

转换期间 Saxon 模式验证的问题

根据评论进行编辑,不使用图像。没有认为这对某些用户来说是负面的。 我们正在开发一个应用程序,在其中创建一些额外的 XML 文件(S1000D 数据模块)...

回答 1 投票 0

抑制 Saxon 中的函数查找消息

我在 Java Swing 应用程序中使用 Saxon 12.4 EE,想知道是否可以禁止显示有关查找函数定义的消息: 这正在创建一个大

回答 1 投票 0

为什么这段代码随着时间的推移使用越来越多的内存?

Python:3.11 撒克逊:12.4.2 我的网站不断消耗越来越多的内存,直到服务器耗尽内存并崩溃。我将有问题的代码隔离到以下脚本中: 导入气相色谱 来...

回答 1 投票 0

如何使用XQuery生成相同类型元素的共现列表?

我有一本书的 XML 文件,在章节中标记了人员。我正在尝试使用在 oXygen 中运行的 XQuery 3.1 来计算共现(当某些字符出现在同一章中时......

回答 1 投票 0

XSLT 3.0 模板规则不可流化

我正在使用下面的 xsl 创建 csv 文件。我需要处理条件检查,如果 XML 不包含项目元素,那么我需要添加默认行,否则需要添加元素

回答 1 投票 0

使用 nodeJS 中的参数和 saxon-js 将 XSLT 重用于不同的 XML 输入

我想使用 XSLT 将未知数量的不同但非常相似的结构化输入 XML 文档转换为单个输出 XML 格式。 我的平台是node.js,因此我正在研究...

回答 1 投票 0

Saxon HE 12.4 无法在 ErrorReporter 中提供错误位置

提供自定义 ErrorReporter 时,Saxon HE v12.4 无法提供错误 XSLT 指令的错误位置。 注意:这在 v9.8 中有效,因为报告提供了异常,其中包含...

回答 1 投票 0

如何在多个线程中使用 net.sf.saxon.s9api.XsltTransformer 以避免影响性能和吞吐量?

在我的项目中,我尝试在多个线程中使用 net.sf.saxon.s9api.XsltTransformer 使用 java 中的同步,因为根据文档 XsltTransformer 不得在

回答 1 投票 0

如何高效地并行运行大量文件的 XSLT 转换?

我每次都必须定期在 1 个文件夹内转换大量 XML 文件(至少 100K)(基本上,来自解压缩的输入数据集),我想学习如何以最有效的方式做到这一点。 .

回答 3 投票 0

如何在 Saxon 中最好地转义 SQL

在 Saxon 中转义 SQL 的最佳方法是什么?可以做这样的事情吗? 在 Saxon 中转义 SQL 的最佳方法是什么?可以做这样的事情吗? <xsl:variable name="sql-value" select="$field-value => org.apache.commons.lang.StringEscapeUtils.escapeSql()"/> 如果是这样,我只需要包含这个 jar 文件吗?或者有更好的办法吗? 使用 Saxon-PE 或 -EE,您可以直接从 XPath 表达式调用 Java 方法。这些被称为“自反扩展函数”,并在 https://www.saxonica.com/documentation12/index.html#!extensibility/extension-functions-J/reflexive-functions 进行了描述。 我还没有设法追踪 org.apache.commons.lang.StringEscapeUtils.escapeSql() 的规范,但如果它是一个简单的静态方法,采用字符串参数并返回字符串结果,那么你可以将其称为: select="$field-value => Q{java:org.apache.commons.lang.StringEscapeUtils}escapeSql()"/> 如果您想使用开源 Saxon-HE 来做到这一点,那么您将需要跳过更多的麻烦并编写一些 Java 包装器代码:所有内容都在 进行了解释 https://www.saxonica.com/documentation12/index.html#!extensibility/extension-functions-J/ext-simple-J

回答 1 投票 0

为什么XQuery要添加额外的空格?

XQuery 添加了一个空格,我不明白为什么。我有以下简单查询: 声明选项 saxon:output "method=text"; 1 到 10 内的 $i 返回 concat(".", $i, " ", 100, " ...

回答 3 投票 0

有没有办法在运行 xslt 时忽略引用的 dtd?

当我在 Oxygen 中使用 Saxon 运行以下模板时: 当我在 Oxygen 中使用 Saxon 运行以下模板时: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-prefixes="xs math" expand-text="yes" version="3.0"> <xsl:output indent="yes" method="xml" omit-xml-declaration="no" encoding="utf-8"/> <xsl:template match="/"> <xsl:text>&#xa;</xsl:text> <xsl:apply-templates select="*"/> </xsl:template> <xsl:template match="*"> <!-- On Martin's suggestion I should use node-name instead of name, so I have changed this, but the result is the same. --> <xsl:value-of select="node-name()"/><xsl:text>&#xa;</xsl:text> <xsl:apply-templates select="*"/> </xsl:template> </xsl:stylesheet> 在此 xml 上: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ddn PUBLIC "-//S1000D//DTD Data Dispatch Note 20050501//EN//XML" "http://www.s1000d.org/s1000d_2-2/xml_dtd/ddn/dtd/ddn.dtd"> <ddn> <ddnc> <modelic>ABC</modelic> <sendid>AASSD</sendid> <recvid>VVBBN</recvid> <diyear>2024</diyear> <seqnum>00001</seqnum> </ddnc> </ddn> 我得到以下输出: <?xml version="1.0" encoding="utf-8"?> ddn ddnc modelic sendid recvid diyear seqnum 很明显(至少对我来说),变换知道元素名称。 如果我将与元素匹配的模板更改为: <xsl:template match="ddn"> <xsl:value-of select="node-name()"/><xsl:text>&#xa;</xsl:text> <xsl:apply-templates select="*"/> </xsl:template> 我得到以下内容,其中不包含任何元素名称: <?xml version="1.0" encoding="utf-8"?> ABC AASSD VVBBN 2024 0000 如果我删除文档类型声明并运行相同的转换,我会得到: <?xml version="1.0" encoding="utf-8"?> ddn ABC AASSD VVBBN 2024 00001 现在已经找到root ddn了。 结论是dtd被转换使用了。 我宁愿忽略 dtd,也不愿尝试纠正其中的某些内容,因为 dtd 本来就不是我的。我只需要转换我得到的文件的内容,而这个问题中包含的xml只是实际文件的一小部分,但无论内容是什么,问题都是一样的。 那么我该如何解决这个问题呢?我是否需要在我的规则中添加一些命名空间(尽管 name 函数没有产生类似的东西),或者我可以告诉 Saxon 忽略 dtd 吗?看起来好像这是设置中的默认设置,但我怀疑这里还缺少其他东西。 我已经尝试使用带有内置 xslt 引擎的 XMLSpy 进行相同的转换,并且其行为方式相同。 如果我像这样添加 * 作为命名空间: 如果我将与元素匹配的模板更改为: <xsl:template match="*:ddn"> <xsl:value-of select="node-name()"/><xsl:text>&#xa;</xsl:text> <xsl:apply-templates select="*"/> </xsl:template> 我得到: <?xml version="1.0" encoding="utf-8"?> ddn ABC AASSD VVBBN 2024 00001 所以这可行,但是为什么?!? 建议? 我下载了一些 DTD,它有 <!ELEMENT ddn (rdf:Description?,ddnc,issdate,security,datarest?, dispto,dispfrom,authrtn,mediaid?,remarks?,delivlst?) > <!ATTLIST ddn id ID #IMPLIED xmlns CDATA #FIXED "http://www.s1000d.org/ddn" %RDFDCATT; > 因此,基于此,对于任何非前缀元素,我希望在 XSLT 中声明 xpath-default-namespace="http://www.s1000d.org/ddn" 允许您选择和/或匹配 ddn、ddnc、issdate 等元素。

回答 1 投票 0

Saxon 添加随机 xmlns 属性

我用蜡染生成svg。 然后我通过加载 svg 进行一些后期处理,修改它,然后将其保存回文件。 公共无效doStuff(文件源F,文件目的地){

回答 1 投票 0

如何获取 saxonc XPath 匹配的行号?

我正在构建一个报告,该报告将显示与一组 XPath 匹配的 XML 元素的行号。我需要支持 XPath 2.0。将 XML 发送到用 Java 或 C 编写的单独的基于 Web 的处理器...

回答 1 投票 0

如何使用java将语句导入添加到xml(架构/xsd)

我想使用java将导入语句添加到现有的schema/xsd文件中,我们是否可以将它们添加到xsd中?,我确实尝试了如下但收到错误:“org.w3c.dom.DOMException:

回答 1 投票 0

我可以使用 SAXON XSLT 从文档中选择标签作为参数

这是我的代码示例。我想在转换 XML 文档时使用多个文档。因此,我将它们作为参数传递给我的 XSLT 文件。问题是我无法从中选择 XML 标签...

回答 1 投票 0

Saxon、XSLT:处理复杂树结构中的数千个 xml 文件

我使用一个 python 脚本来迭代复杂的树结构中的数千个 xml 文件,并执行以下 Saxon 命令: java -cp C:\saxon\SaxonHE10-6J\saxon-he-10.6.jar net.sf.saxon.

回答 1 投票 0

SAXON XSLT 3.0 无法在生成的 <rdf:RDF /> 输出中生成 xml:base 属性

我正在使用 SAXON 和 XSL 3.0 转换来生成 RDF 文件作为我的目标输出。根据 W3C RDF 规范,为了正确解析相对 IRI,我需要在通用中指定一个 xml:base URI...

回答 1 投票 0

SAXON XLST 3.0 无法在生成的 <rdf:RDF /> 输出中生成 xml:base 属性

我正在使用 SAXON 和 XSL 3.0 转换来生成 RDF 文件作为我的目标输出。根据 W3C RDF 规范,为了正确解析相对 IRI,我需要在通用中指定一个 xml:base URI...

回答 1 投票 0

Xpath。使用 fn:collection() 和 fn:base-uri() 获取 JSON 文件的 URI

我有一个包含多个 json 文件 (.json) 的文件夹。任务是获取文件夹中每个 json 文件的 uri。我在 xslt 文件中使用 fn:collection 和 fn:base-uri 。但是当我退出时我收到错误...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.