【发布时间】:2013-12-20 07:53:55
【问题描述】:
这是我在网站上的第二个问题,和往常一样,我花了几个小时阅读了很多相关问题,其中两个最相关的是:
- Will XPath 2.0 and/or XSLT 2.0 be implemented in PHP? 其中解释了使用 PHP/Java Bridge 和 Saxon 的解决方案。
和
- Upgrade PHP XSLT processor to XSLT 2.0 其中解释了使用 XML_XSLT2Processor 的解决方案,使用 PEAR 和 PHP 安装它。
我主要关注第二个选项,因为 php 已经有一个 XSLTProcessor 库,但遗憾的是它只支持 XSLT 1.0,我正在寻找 2.0 支持,所以它似乎是正确的选择,但在安装 PEAR 并尝试安装之后XML_XSLT2Processor,并阅读了许多文章(1、2、3,我目前对这个主题开放的文章)和 AltovaXML 已经商业化,而且 PEAR 有这么多错误,我决定使用第一个选项。
但我并不真正了解 Java,但我会尝试一下,但在开始之前,我决定先问一下(加上帖子有点过时了)。
没有其他更好的方法来使用 PHP 管理 XSLT 2.0 吗?
【问题讨论】:
-
如果您正在考虑将 XSLT 与另一种语言配对,那么要问的部分问题是,当 XSLT1.0 对其他语言有更多支持时,为什么您还需要 XSLT2.0?
-
实际上 PHP 是最后一个不支持 XSLT 2.0 的主要平台(直到上周,见下文...)
-
我需要 2.0,因为我们得到了一个 xslt 2.0 文件,我们应该在墨西哥的 IRS 使用它,我不知道他们为什么选择使用 2.0 版本,因为它不是广泛使用,我认为它不需要是 2.0,但他们就是这样做的。当我使用 php 转换它时,它实际上确实转换了它,但是它为每个元素抛出了错误的版本错误。
-
任何曾经使用过 XSLT 2.0 的人将永远不会回到 1.0,除非提供非常大的贿赂。