在不久的将来,有什么机会可以看到像saxon for php这样的XSLT 2.0处理器?
答案 0 :(得分:6)
这不完全正确。
如果您在Windows平台上运行PHP,那么AltovaXML XSLT 2.0处理器有一个相对容易配置的扩展...... http://sourceforge.net/projects/xslt2processor/
如果您在Linux上运行PHP,则需要安装PHP / Java Bridge。这涉及运行包含Apache / Tomcat之类的Java servlet,并且非常复杂。还有一些相对复杂的混合java / php代码使这项工作成为必要。如果您有兴趣,我可以发布更多详细信息。
答案 1 :(得分:3)
在不久的将来?无。
PHP5完全依赖于LibXSLT进行XSLT处理(Sablotron已经出局),并且没有计划在此库中支持XSLT 2.0。
答案 2 :(得分:3)
最后,对这个问题有一个肯定的答案。
就在今天,Michael Kay博士宣布 Saxon/C 。
有关详情,请参阅此处: https://stackoverflow.com/a/20275114/36305
答案 3 :(得分:1)
到目前为止,在PHP中没有XSLT2.o
支持,使用XSLT2.0的唯一选择是使用基于java的SAXON,因此你将需要像PHP XSLT2.0处理器那样,看到这个链接:http://sourceforge.net/projects/xslt2processor/
XML_XSLT2Processor
是一个允许您执行XSLT的PHP类 使用SAXON或AltovaXML在PHP中进行2.0转换。
答案 4 :(得分:1)
PHP中有一个开源的XSL 2.0转换器,可以在github
上找到Saxon / C 1.0.0版支持C / C ++和PHP has been released上的XSLT 2.0 / 3.0。
答案 5 :(得分:0)
PHP使用LibXML2来实现所有XML类。它非常快速和稳定,但今天(2013)只支持XPath1和XSLT1 ...... 或许社区只需要这个更快更简单的解决方案,并且不需要XSLT2的强大功能(参见“option0”)。
...许多模板在MVC上下文中用作 View ,不需要XSLT2的权力:请参阅good explanation why。了解一些优秀的PHP项目如何使用XSLT1
那里是showed by @collapsar at this similar question 是一个开源的开发用于扩展经典LibXML2与XSLT2和XPath2的一些功能。 看到 http://www.explain.com.au/libx/
PHP社区还没有动力去完成这种演变......为什么?也许只是害怕失去一些性能和稳定性。 Maybe just a lack of manpower to complete the task,主要在PHP驱动程序中。
参见usual workawound here, by registering PHP functions into XPath1 or XSLT1的示例。我在我的项目中使用此解决方案。