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 中实现吗?的主要内容,如果未能解决你的问题,请参考以下文章
BizTalk Server 2016 映射中是不是支持 XSLT 2.0 或 3.0?
XSLT(2.0 或 3.0)方法将存储在 xml 中的每个逗号分隔值的整个 xml 复制到单独的 xml 文件中