我可以告诉撒克逊自己弄清楚XSLT版本吗?

时间:2012-04-16 17:44:57

标签: saxon command-line-tool

我必须运行带有saxonb-xslt的XSLT 2.0样式表(警告大约1.0个样式表)和带有saxon-xslt的XSLT 1.0样式表(它不适用于2.0样式表)。有没有办法告诉撒克逊:“这是一个样式表,弄清楚如何自己处理它。”?

我希望尽可能简化Makefile并尽可能免费。

1 个答案:

答案 0 :(得分:0)

不确定为什么这个问题没有得到回答;您可能会发现在Saxon帮助列表中查询Saxon特定问题更为有效(可通过Sourceforge上的项目访问)。

一般来说,这些天我建议人们使用最近的Saxon版本(9.4)来处理XSLT 1.0代码,而不是使用旧的Saxon 6.5处理器。是的,它会产生一个警告 - 不幸的是,XSLT 2.0规范需要警告 - 但你必须做一些非常奇怪的事情来解决任何兼容性问题。如果您不喜欢该警告,可以使用-versionmsg:off来禁止它。

但是如果你想根据样式表中的version属性选择一个不同的XSLT处理器,你只需要将这个逻辑编码到你的脚本中。如果您的脚本是使用面向XML的语言(如XProc或xmlsh)编写的,那么这很容易,如果您使用的是通用shell脚本,则会更加棘手。