问题标签 [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 投票
0 回答
723 浏览

java - XSLT 和 XInclude

可能重复:
Java 6 中对 xinclude 的默认支持?

我有一个名为 和 的三个A.xmlXMLB.xml文件C.xml
A 通过 XInclude 包括 B 和 C。

我希望 Saxon 在解析 A.xml 中的包含后处理 A.xml。

到目前为止,我可以激活 XInclude,但 Saxon 没有收到解析的 A.xml,而是原始版本:\

我能怎么做 ?

撒克逊 9.3 HE Java 6

0 投票
1 回答
1869 浏览

xslt - 文件集内存不足/未释放内存的 Ant XSLT 任务

我有一个大 (1.9 GB) XML 文件,其中包含我想每个月插入 MySQL 数据库的数据。我为此制作了一个 Ant 脚本。

Ant XSLT 任务无法处理这么大的文件,因此我有一个任务使用 xml_split(来自 xml-twig-tools)将 1.9 GB 的 xml 文件拆分为大约 4 MB 的较小的 xml 文件。

这一切都很顺利。

我使用以下 Ant xml 对所有这些 XML 文件运行 XSLT 任务:

问题是,一旦它从第一个 XML 文件开始,我看到 linux顶部的“RES”内存随着每个下一个 XML 文件而增长。由于它正在处理多个(不相关的)xml 文件,我怀疑它会在每个 xml 文件的翻译之间释放内存。好吧,它没有......在两百个 4MB xml 文件之后,java 抛出一个内存不足异常:

我可以做些什么来防止 XSLT 任务占用我所有的内存吗?还是我应该重新考虑我的方法?

0 投票
3 回答
6208 浏览

xquery - 如何在 xquery 中格式化小数?

我正在尝试在 XQuery 中格式化小数。小数是货币,所以格式应该是,###.##.

例如:

5573652.23应该5,573,652.23

352769应该是352,769(或者352,769.00如果它更容易/更清洁)

现在我正在使用来自http://www.xqueryhacker.com/2009/09/format-number-in-xquery/的这个函数,但我不能使用小数:

我正在为我的处理器使用 Saxon 9HE。

任何帮助将不胜感激。

- - - 更新 - - -

根据 Dimitre 的回答,我修改了函数以保存小数部分并将其添加到返回字符串的末尾。

新功能

0 投票
1 回答
512 浏览

php - Xslt 在 php 中不起作用,但 saxon 可以

我有时在 Kernow 中使用 saxon 处理器测试我的 xslt 样式表。我总是使用 xslt 1.0,因为 simplexml 甚至 simpledom 只能执行 xslt 1.0。以下样式表在 php 中不起作用:

那就是样式表是 php 抛出编译错误,无法编译 when 语句<xsl:when test="count($ctag/ancestor::*[local-name()=current()/local-name() and text()=current()/text()]|$ctag/descendant::*[local-name()=current()/local-name() and text()=current()/text()])&gt;0">

我知道这个模板并不完美,也不容易理解。在php中遇到此类问题的任何经验?感谢您的帮助!

罗伯特

0 投票
3 回答
3373 浏览

xml - 如何在 Saxon-HE 中获得 EXSLT 支持?

我有一堆需要针对一些 XML 文件处理的 XSLT 文件。我无法更改 XSLT 文件,因为它们来自第 3 方。XSLT 是 2.0 版。

我在 Mac OS X 10.6 上,看起来Saxon-HE是唯一可用的 XSLT 2.0 处理器。

XSLT 的大部分工作都很好,但是,有些会给出关于缺少函数的错误,特别是month-in-year()其他与日期/时间相关的函数。

根据 http://www.saxonica.com/documentation/extensions/exslt.xml关于 EXSLT:

这些扩展在“开箱即用”的 Saxon-PE 和 Saxon-EE 中可用。它们在 Saxon-HE 中不可用

无论如何,我可以在 Saxon-HE 中使用 EXSLT 功能吗?

如果可行的话,我很高兴转向另一个工具/处理器。

0 投票
1 回答
723 浏览

java - 使用 Java API 向 XSLT 程序提供参数

我想做的是:

但API是:

我找不到任何正确创建 XdmValue 和 QName 的示例,我找到的示例都使用此函数/api 的不同版本。

0 投票
1 回答
2372 浏览

xml - XSLT 2.0 函数可以返回任意类型吗?

我正在尝试编写一个返回特定类型结果的 XSLT 2.0 函数——比如说一个或多个元素。这是我尝试过的,但无济于事:

这是我从撒克逊处理器得到的错误:

但我希望得到这样的东西:

我在这里想念什么?我以为我已经为 $output (一个或多个<parent>元素)指定了适当的类型,但处理器显然没有收到消息并且只看到文本。如何<parent>在此处返回元素列表?提前致谢...

更新:

总而言之,标题中问题的答案是“是”。<xsl:value-of>原始示例中的关键是和之间的区别<xsl:sequence>。用后者替换前者是获得所需行为的一种方法。另一种方法是从<xsl:variable>元素中“解包”内容,这会使事情变得更整洁:

感谢迈克尔和吉姆抓住了我最初的疏忽……

0 投票
2 回答
1376 浏览

performance - 我在哪里可以找到 xquery 处理器之间的速度比较,特别是 Saxon 和 Zorba?

我找到了功能比较,但没有找到速度比较。

Saxon 是用 Java 编写的,我相信 Zorba 是用 C 编写的,所以人们会期望 Zorba 更快,但是是吗?

0 投票
2 回答
1464 浏览

xml - 为什么撒克逊不产生任何文件输出?

即使没有明确的文本输出,XSLT 解析器也应该生成一个空文件。但是,我遇到了Saxon-HE 9.3根本不产生任何文件输出的情况。

我使用以下命令编译了文件:

其中1.xml的内容是:

2.xsl的内容是:

但是,没有输出(甚至没有空文件)。也没有任何错误信息。

可能是什么问题?

0 投票
1 回答
805 浏览

xml - 如何使用 XQuery fn:idref() 函数?

我无法让 XQuery 函数fn:idref()返回任何内容。

我有这个 XML 文档doc.xml

还有这个 XQuery;

但结果总是空的。我猜该属性idref="xyz"需要声明为类型idref,但可以在没有模式的情况下完成吗?

我正在使用 Saxon XQuery 1.0 处理器。