OS X上的xslt 2.0和Ruby

我试图针对XSLT 2.0表解析XML文档。 但是,我被告知OSX 10.5.x上的库仅支持XSLT 1.0操作。 当我看到xsltproc时,我得到了这个:

hmasing $ xsltproc –version使用libxml 20616,libxslt 10112和libexslt 810 xsltproc针对libxml 20616编译,libxslt 10112和libexslt 810 libxslt 10112针对libxml编译20616 libexslt 810针对libxml编译20616

有没有人有一个简明的指南来安装XSLT 2.0,ruby xslt gems来对抗那些libs,还有一些好的方法可以通过我的方式? 请假设我在任何指示中都是一个完全白痴。 任何帮助是极大的赞赏!

  • 汉斯

可悲的是,Saxon是城里唯一一款免费的XSLT 2.0实施游戏。 Saxon本身很棒,但它只是Java或.NET,具有所有这一点。

从命令行或通过系统调用调用它将每次都产生JVM启动成本,因此您可能不希望这样做。

你可以尝试一些事情:

1)您确定需要XSLT 2.0吗? 除非您使用的function不是1.0,否则您的XSLT可能与1.0兼容。 然后你可以使用xsltproc。 如果您需要的是EXSLT,xsltproc对此有一些支持。

2)如果你肯定需要2.0,那么你将需要为撒克逊创建某种包装器。 很大程度上取决于你想要使用它的环境,所以这可能是一个Web服务或类似的东西。 对于我正在处理的项目,我们使用一个包含saxon的小型TCP侦听器程序。 你可以在这里看到它: http : //idp.atlantides.org/svn/idp/idp.contenttool/trunk/epiduke_saxon/它适用于命令行批量转换,速度非常快。