Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT2.0 PHP支持。什么时候_Php_Xslt_Saxon - Fatal编程技术网

XSLT2.0 PHP支持。什么时候

XSLT2.0 PHP支持。什么时候,php,xslt,saxon,Php,Xslt,Saxon,在最近的将来有什么机会看到像saxon for php这样的XSLT 2.0处理器?在最近的将来?没有 PHP5完全依赖于XSLT处理(Sablotron已经退出),并且没有计划在这个库中支持XSLT2.0。这并不完全正确 如果您在Windows平台上运行PHP,那么AltovaXML XSLT 2.0处理器有一个相对容易配置的扩展 如果您在Linux上运行PHP,则需要安装PHP/Java桥。这涉及到运行一个包含Apache/Tomcat之类的Java servlet,而且非常复杂。还有一些相

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

在最近的将来?没有


PHP5完全依赖于XSLT处理(Sablotron已经退出),并且没有计划在这个库中支持XSLT2.0。

这并不完全正确

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


如果您在Linux上运行PHP,则需要安装PHP/Java桥。这涉及到运行一个包含Apache/Tomcat之类的Java servlet,而且非常复杂。还有一些相对复杂的java/php混合代码是实现这一功能所必需的。如果您感兴趣,我可以发布更多详细信息。

到目前为止,PHP中还没有
XSLT2.o
支持,使用XSLT2.0的唯一选项是使用基于java的SAXON,因此您必须使用类似PHP XSLT2.0的处理器,请参阅以下链接:

XML\u XSLT2Processor
是一个允许执行XSLT的PHP类 使用SAXON或AltovaXML在PHP中进行2.0转换


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

选项0:尝试使用更好的MVC分离! 。。。在MVC上下文中用作视图的许多模板不需要XSLT2的功能:请参阅。了解一些好的PHP项目是如何使用XSLT1的

选项1:尝试非主流实现 就在那里 是一个开放源代码,通过XSLT2和XPath2的一些功能来扩展经典。 看见

PHP社区还没有动力完成这一演变。。。为什么?也许只是害怕失去一些性能和稳定性,主要是在一个PHP驱动程序中

选项2:使用PHP函数/连接增强XSLT1或XPath1
参见示例。我正在我的项目中使用此解决方案。

最后,这个问题有了肯定的答案

就在今天,迈克尔·凯博士宣布


有关更多信息,请参见此:在上可以找到PHP中的开源XSL 2.0 transpiler


另外,Saxon/C版本1.0.0支持C/C++和PHP上的XSLT 2.0/3.0

@JR:未来-请用评论来回答这种问题(我知道你还不能评论)。像这样的答案在投上/下一票并且答案列表重新排序后就会脱离上下文。如果需要的话,您可以将XSLT处理交给支持XSLT 2.0的外部处理器…在我看来“决不使用of”。。。对于中间件和数据交换,比如在Gnome项目中,用户需要性能,并且需要执行单个任务(比如旧的DTD验证和简单的XSLT过滤器)。对于数据库应用程序(例如,考虑PostgreSQL中缺少XQuery),PHP需要进化,必须证明开源投资是正确的,同时也要反对现有的选项。好消息结账:太棒了!谢谢!但我希望这是在两周前宣布的,因为我正在为类似的事情抓网。无论是重构还是升级到XSTL 2::RezaSanaie,是的,XSLT 1是14年历史的,在互联网时代是古老的。SAXON/C不是基于java的,它是C++编写的…下面是用于saxon/c的PHPAPI