7

在不久的将来有什么机会看到像 saxon for php 这样的 XSLT 2.0 处理器?

4

6 回答 6

6

这并不完全正确。

如果您在 Windows 平台上运行 PHP,那么有一个相对容易配置的 AltovaXML XSLT 2.0 处理器扩展... http://sourceforge.net/projects/xslt2processor/

如果您在 Linux 上运行 PHP,则需要安装 PHP/Java Bridge。这涉及运行一个包含如 Apache/Tomcat 的 Java servlet,并且非常复杂。完成这项工作还需要一些相对复杂的混合 java/php 代码。如果您有兴趣,我可以发布更多详细信息。

于 2009-12-04T08:25:18.653 回答
3

在最近的将来?没有任何。

PHP5 完全依赖LibXSLT进行 XSLT 处理(Sablotron 已退出),并且没有计划在此库中支持 XSLT 2.0。

于 2009-11-27T14:26:09.530 回答
3

最后,对这个问题有一个肯定的回答

就在今天,Michael Kay 博士宣布了Saxon/C

有关更多信息,请参阅:https ://stackoverflow.com/a/20275114/36305

于 2013-11-28T22:00:32.150 回答
1

XSLT2.o到目前为止,PHP还没有支持,使用 XSLT2.0 的唯一选择是使用基于 Java 的 SAXON,因此您将不得不使用 PHP XSLT2.0 处理器之类的东西,请参阅此链接:http: //sourceforge.net /项目/xslt2处理器/

XML_XSLT2Processor是一个 PHP 类,它允许您使用 SAXON 或 AltovaXML 在 PHP 中执行 XSLT 2.0 转换。

于 2012-07-18T09:57:53.483 回答
1

PHP 中有一个开源的 XSL 2.0 转译器,可以在github上找到

此外,在 C/C++ 和 PHP 上支持 XSLT 2.0/3.0 的 Saxon/C 版本 1.0.0已经发布

于 2016-02-08T19:23:38.987 回答
0

PHP 使用 LibXML2 来实现所有 XML 类。它非常快速和稳定,但今天(2013 年)只支持 XPath1 和 XSLT1……也许社区只需要这个更快更简单的解决方案,而不需要 XSLT2 的强大功能(参见“option0”)。

option0:尝试使用更好的MVC分离!

...在 MVC 上下文中用作视图的许多模板不需要 XSLT2 的功能:请参阅 很好的解释为什么。了解一些优秀的 PHP 项目如何使用 XSLT1

选项1:尝试非主流实现

正如@collapsar 在这个类似问题上所展示的那样,有一个开源开发来扩展经典的LibXML2,它具有 XSLT2 和 XPath2 的一些功能。见 http://www.explain.com.au/libx/

PHP 社区还没有动力完成这一演变……为什么?也许只是害怕失去一些性能和稳定性。可能只是缺少完成任务的人力,主要是在一个PHP驱动。

选项 2:使用 PHP 函数/连接授权 XSLT1 或 XPath1

通过将 PHP 函数注册到 XPath1 或 XSLT1中,请参阅此处的常见问题示例。我在我的项目中使用这个解决方案。

于 2013-11-26T12:24:29.833 回答