XPath 2.0 和/或 XSLT 2.0 会在 PHP 中实现吗?

Posted

技术标签:

【中文标题】XPath 2.0 和/或 XSLT 2.0 会在 PHP 中实现吗?【英文标题】:Will XPath 2.0 and/or XSLT 2.0 be implemented in PHP? 【发布时间】:2011-01-06 08:05:31 【问题描述】:

问题已被提问,但在收到答案之前被提问者删除。因为我相信这个问题是合理的、合法的并且是有目的的,所以我再次问这个问题并提供我已经为原始问题写的答案。

XPath 2.0 和/或 XSLT 2.0 有一天会在 php 中实现还是有什么计划?

【问题讨论】:

可以帮助phpmyxml.sourceforge.net phpmyxml 不支持 XSLT / XPath 标准的 2.0 版。 Upgrade PHP XSLT processor to XSLT 2.0的可能重复 @tripleee,这个问题是在那之前几个月被问到的,所以我认为它是相反的。但是答案有很大不同,并且引用的答案增加了价值,因此实际上没有真正的骗局;)。 【参考方案1】:

请参阅a thread 上的a thread 列表中有关 XSLT 2.0 开发的 XSL mailing list。

PHP 的一种解决方案是使用PHP/Java Bridge 和Saxon,并遵循tutorial。

XSLT 2.0(和 XPath 2.0)的当前开发状态​​意味着目前没有任何计划,因此 PHP 也没有任何计划。要使用 XPath 2.0,您需要包含 Saxon 9.x 并与 Java 库进行互操作。

即使今天有人为 XPath 2.0 和 XSLT 2.0 编写了一个开源本机库,它也需要一段时间才能适合生产。

【讨论】:

@Abel:订阅 XSL 列表值得吗?我担心我的 GMail 帐户可能会被大量垃圾邮件淹没,而且一旦我订阅了我就再也不会开心了…… 我个人从来没有通过 XSL-list 收到过垃圾邮件,他们有非常强大的过滤器和人工监控。当然,您的电子邮件将是公开可见的,这可能会导致(更多)未经请求的邮件。但是,现在必须使用一个好的垃圾邮件过滤器,我每周只收到一封垃圾邮件。我通常建议:为所有列表订阅或其他公开个人资料使用特殊地址。 PS:“值得吗?”:绝对! XSLT 2.0 W3C 总编辑 Michael Kay 等著名的 XSLT 专家,以及 Dimitre Novatchev、Andrew Welch、G. Ken Holman(也是 XSL-FO)和 David Carlisle 等其他人都非常活跃并提供了可靠的建议。确保您在询问之前阅读了常见问题解答,您将在列表中受到欢迎。我会在那里见到你吗? 我对回答比询问更感兴趣,但我确实在考虑。 Stack Overflow 在 XSLT 方面有点弱,每天只有几个问题。 @nicholas,这基本上就是 Dimitri 在下面的答案中所说的,两者都是关于 Saxon-C 的。虽然也很好地链接了那个新问题。【参考方案2】:

Saxon C 的构建考虑了这个 (PHP) 用例。这是一个 Saxon XSLT 2.0 处理器,现在可以从 PHP 使用它

更具体地说,以下是文档中有关如何构建 PHP 扩展的信息:

PHP 扩展

要构建 PHP 扩展,请按照以下步骤操作。

(或者,您也可以使用安装脚本install.sh 由 Petr Zak 提供 - 为 64 位机器编写,但可以 更改为 32 位机器。)

运行命令:

• php 化

• ./configure --enable-saxon

• 制作

• sudo 制作

安装

更新 php.ini 文件(如果使用 Ubuntu,它通常在该位置 '/etc/php5/apache2/') 来包含 PHP 扩展。插入 遵循动态扩展部分:extension=saxon.so,然后 运行命令

• sudo 服务 apache2 重启

【讨论】:

以上是关于XPath 2.0 和/或 XSLT 2.0 会在 PHP 中实现吗?的主要内容,如果未能解决你的问题,请参考以下文章

支持 XPath 2.0 的 Java XSLT 处理器

BizTalk Server 2016 映射中是不是支持 XSLT 2.0 或 3.0?

XSLT(2.0 或 3.0)方法将存储在 xml 中的每个逗号分隔值的整个 xml 复制到单独的 xml 文件中

将 XSLT 1.0 升级到 XSLT 2.0

XSLT / XPath函数month-from-dateTime(datetime)未按预期工作

哪些浏览器支持Xpath 2.0?