如何在 Saxon-HE 中获得 EXSLT 支持?
我有一堆 XSLT 文件,需要针对一些 XML 文件进行处理。我无法更改 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 函数?
如果可行的话,我很高兴转向另一个工具/处理器。
I have a bunch of XSLT files that I need to process against some XML files. I cannot change the XSLT files as they come from a 3rd party. The XSLT's are version 2.0.
I'm on Mac OS X 10.6 and it looks like Saxon-HE is the only XSLT 2.0 processor available.
Most of the XSLT's work fine, however, some give errors regarding missing functions, specifically month-in-year()
and other date/time related functions.
According to
http://www.saxonica.com/documentation/extensions/exslt.xml regarding EXSLT:
These extensions are available in Saxon-PE and Saxon-EE "out of the box". They are not available in Saxon-HE
Is there anyway that I can use the EXSLT functions with Saxon-HE?
I'm happy to move to another tool/processor if that would work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Saxon-B 9.1 将仍然可供有此类要求的用户使用。当您使用 XSLT 2.0 时,几乎不需要 EXSLT 扩展,但您确实会遇到使用它们的样式表,如果您想坚持使用开源软件,Saxon-B 仍然可以用于此目的。
Saxon-B 9.1 will remain available for people with this kind of requirement. There's very little need for the EXSLT extensions when you're using XSLT 2.0, but you do come across stylesheets that use them, and Saxon-B remains available for that purpose if you want to stick with open source software.
Saxon9 HE 没有 EXSLT 扩展。为了使用 EXSLT,您需要恢复到 Saxon 9.1 或完全选择不同的产品,例如 Xalan (Java) 或 MSXML (Windows) 或 LibXSLT(C 和脚本),所有这些都仅实现 XSLT 和 XPath 1.0。也就是说,有了 Saxon9 HE 和 XSLT 2.0,为什么还需要 EXSLT?
好吧,在回复之前应该先看看你的帖子。要求似乎是:
如果这一切都被假设,那么看起来您只剩下 Saxon9 PE 或 EE。 (当然,或者 Saxon 9.1。)
Saxon9 HE does not have the EXSLT extension. In order to use EXSLT, you need to revert to Saxon 9.1 or pick a different product altogether, such as Xalan (Java) or MSXML (Windows) or LibXSLT (C and scripting), all of which only implement XSLT and XPath 1.0. That said, with Saxon9 HE and XSLT 2.0, why do you need EXSLT?
Okay, should have read your post before replying. The requirement seems to be:
If this is all to be assumed, it looks like that leaves you with Saxon9 PE or EE. (Well, or Saxon 9.1, of course.)
无论您选择哪种处理器,它都不必原生支持 EXSLT 函数,它只需要可扩展,以便您可以注册自己的函数,这样您就可以自己实现 EXSLT 函数。
Whatever processor you choose it doesn't have to natively support EXSLT functions, it just needs to be extensible so you can register your own functions, that way you can implement the EXSLT functions yourself.