用于Perl的XSLT2.0处理器?

时间:2010-12-21 05:24:00

标签: xml perl xslt cpan

Perl是否有强大的XSLT2.0处理器?我刚尝试了XML :: LibXSLT,它不支持analyze-string,regex等。我害怕使用XML :: Saxon :: XSLT2来完成我的工作因为它使用Java而我不想添加那是我的依赖列表。你们用什么库来进行XSL2.0转换?

干杯,

1 个答案:

答案 0 :(得分:6)

  

所以你在寻找用Perl编写的XSLT 2.0处理器吗?

不,你绝对不会想要一个纯Perl XSLT处理器。结果将是极其缓慢和内存密集的,更不用说你想要一个在现场经过全面测试的库,其数量远远超过在Perl中执行XSLT的相对较少的用户群。这就是LibXSLT如此受欢迎的原因,因为它是一个快速而坚实的C库,它周围有一个最小的Perl包装器。除非你使用像Komodo那样的断点和变量检查的GUI调试器,否则调试并不会那么复杂。

但是要回答你的问题:目前唯一完全兼容的 XSLT 2.0处理器是Saxon,它是一个功能齐全的商业Java库和一个精简的开源版本 - 两者都是由编写XSLT 2.0规范的同一个人(我想知道哪个是先写的?)。鉴于规范的复杂性,很可能长期保持这种状态。

因此,如果不希望使用Java库,也许您应该问自己是否真的需要完整的2.0功能列表,或者是否满足于使用其他一些库来实现“XSLT 1.5”,这些库正在缓慢而痛苦地进行