问题标签 [saxon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1319 浏览

java - 无法从 Saxon XSLT 处理器访问更新的 Java 对象

我正在使用 Saxon XSLT 处理器“来自 Saxonica 的 Saxon 9.0.0.2J”的开源版本,并且正在尝试第一次使用 java 可扩展性。我遇到了一个问题,我怀疑可能是对开源版本的限制,但我想先检查一下我是否在这里遗漏了一些东西。

从下面的片段中,我的结果是 $c1 的最终值不会因为调用 greg:setTime() 而改变 - 即 Saxon 中的 $c1 变量似乎与底层 Java 对象脱钩,并且存在没有明显的方法来访问由 setTime() 调用更新的对象。

请注意,片段中的所有代码都经过测试并且可以正常工作 - 即 $c1 已通过 getInstance() 调用正确实例化, $startdate 具有正确的格式,并且 $d1 已正确实例化。

想法?

0 投票
1 回答
306 浏览

xslt - XSLT:转换 XML 文件树

我有以下文件结构(嵌套文件夹中的 XML 文件“index.xml”):

现在我必须使用给定的 XSL 样式表来转换每个 XML 文件。结果应该是相同的文件夹结构(覆盖就可以了)。实现这一目标的方法是什么?

我的系统:OS X 10.6,Saxon XSLT 处理器

0 投票
1 回答
1287 浏览

xslt-2.0 - 提高 XSL 的性能

我正在使用下面的 XSL 2.0 代码来查找包含我作为输入提供的索引列表的文本节点的 ID。该代码运行良好,但就性能而言,大型文件需要很长时间。即使对于大文件,如果索引值很小,那么结果在几毫秒内很快。我正在使用 saxon9he Java 处理器来执行 XSL。

在上述解决方案中,如果索引值太大,比如 270962,则 XSL 执行所需的时间为 83427 毫秒。在大文件中,如果索引值很大,例如 4605415、4605431,则需要几分钟才能执行。似乎变量“插入数据”的计算需要时间,尽管它是一个全局变量并且只计算一次。应该添加 XSL 还是处理器?如何提高 XSL 的性能。

0 投票
2 回答
528 浏览

xslt - 具有可变数量源文件的 XSLT 工作流

我有一堆具有固定的、基于国家/地区的命名模式的 XML 文件:、、、report_en.xmlreport_de.xmlreport_fr.xml现在我想编写一个 XSLT 样式表,通过document()XPath 函数读取这些文件中的每一个,提取一些值并生成一个 XML 文件带摘要。我的问题是:如何在不知道要处理的文件的确切名称的情况下迭代源文件?

目前我正计划生成一个包含所有文件名的辅助 XML 文件,并在我的样式表中使用辅助 XML 文件进行迭代。文件列表将使用一个小的 PHP 或 bash 脚本生成。有更好的选择吗?

我知道XProc,但目前对我来说不是一个选择。也许有人可以发布 XProc 解决方案。该解决方案最好包括工作流程步骤,其中报告以 HTML 格式下载并整理:)

我将使用 Saxon 作为我的 XSLT 处理器,所以如果有我可以使用的特定于 Saxon 的扩展,这些也可以。

0 投票
1 回答
3972 浏览

xslt-2.0 - 为什么 Saxon 评估结果文档 URI 相同?

我的 XSL 源文档如下所示

我想为每台机器创建一个结果文档,因此我使用以下样式表,将 modelDir 作为结果文档的路径作为参数。

正如我的消息显示的那样,这似乎工作正常 - 如果 saxon 不会将结果文档的 URI 评估为相同并因此给出以下输出。

关于如何解决这个问题的任何想法?

0 投票
2 回答
673 浏览

xslt - XSLT 1.1 节点集

我有这个...

而且我认为对于 XSLT 1.1,$data 变量将被视为节点集,因此标准的 XSLT 东西——比如 for-each——应该可以工作。

我没有收到错误,但没有输出 - 好像 $data 节点集完全为空。

我也试过这个

结果相同。(事实上​​,我以前做过这个没有问题)我正在使用撒克逊人。

我错过了什么?(顺便说一句,我无法使用 XSLT 2.0)

谢谢

0 投票
1 回答
2075 浏览

java - 如何使用 saxon 9.2he 在 java 中设置 xquery 上下文文档?

我如何执行一个简单的this xquery,例如this

在使用 java 而不使用 fn:doc 的 xml 文件上?

我不断收到 XPDY0002:轴步子的上下文项::元素(xml,xs:anyType)未定义

--概要:我需要一个简单的解决方案来加载 xml 文件、加载 xquery 和处理

0 投票
2 回答
1052 浏览

java - SAXON 中的 XALAN 寄存器扩展功能

我想通过 XSLT 和 XALAN 转换 XML。现在我想使用一个扩展函数,这个函数必须像 SAXON 一样添加到 JAVA 源代码中:

方法:

Foo扩展:

但是它在 XALAN (?FunctionTable?, ?FunctionResolver?, ?URIResolver?) 中是如何工作的,我必须通过源代码来完成,我不允许在 XSLT 中添加类。

谢谢!!

0 投票
1 回答
4676 浏览

java - Saxon 9.2 / Java / XSLT:使用 setParameters() 设置转换器参数

我有以下 XSLT 2.0 模板:

我正在努力以编程方式将currentTotal其作为参数提供给变压器,如下所示:

..但没有任何积极的结果:

/xsl:transform/xsl:template[3]/xsl:variable[1] XPST0008: XPath 语法错误在 {$currentTotal} 中第 -1 行的字符 13: 变量 $currentTotal 尚未声明

调用setParameter()时,currentTotal变量也会被定义,对吧?我应该如何调用调用,setParameter()以便currentTotal在样式表中看到我的应用程序中定义的内容?

为了澄清起见,我正在像这样实例化转换器:

0 投票
1 回答
1060 浏览

xml - 对子树进行排序并将其存储在 xsl:variable 中

我正在使用 XSL 样式表,并且正在尝试使用此处显示的方法将已排序的子树存储为变量。我正在使用 saxon 8.7 与 xml-maven-plugin 来转换我的 XML 文件。这是我的代码:

当我运行样式表时,我收到以下错误:

如果我只是将子树设置为变量而不进行排序,它可以工作,但它没有排序:

如果我将复制语句的选择设置为“。”,它会超过那个点,但是稍后当我实际尝试使用变量数据时会给我一个错误。以下是它的使用方式:

和错误:

功能:

我是否错误地使用了 exsl:node-set?什么应该在副本的选择中,“。” 还是“。|@*”?