7

我有一堆需要针对一些 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 功能吗?

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

4

3 回答 3

6

Saxon-B 9.1 仍可供有此类要求的人使用。当您使用 XSLT 2.0 时,几乎不需要 EXSLT 扩展,但您确实会遇到使用它们的样式表,如果您想坚持使用开源软件,Saxon-B 仍然可以用于此目的。

于 2011-05-05T14:24:34.227 回答
1

Saxon9 HE 没有 EXSLT 扩展。为了使用 EXSLT,您需要恢复到 Saxon 9.1 或完全选择不同的产品,例如 Xalan (Java) 或 MSXML (Windows) 或 LibXSLT(C 和脚本),所有这些都只实现 XSLT 和 XPath 1.0。也就是说,对于 Saxon9 HE 和 XSLT 2.0,为什么需要 EXSLT?

好的,应该在回复之前阅读您的帖子。要求似乎是:

  • XSLT 2.0
  • EXSLT
  • 无法更改 XSLT

如果这一切都是假设,那么看起来你只剩下 Saxon9 PE 或 EE。(好吧,当然是撒克逊 9.1。)

于 2011-05-05T13:11:18.740 回答
0

无论您选择哪种处理器,它都不必原生支持 EXSLT 功能,它只需要可扩展,以便您可以注册自己的功能,这样您就可以自己实现 EXSLT 功能。

于 2011-05-05T14:48:47.190 回答