gpt4 book ai didi

PHP 和 XSLT : extending the processor

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:30 25 4
gpt4 key购买 nike

我需要用我自己的标签和函数在 PHP 中扩展 XSLT 处理器。我找到了一些API,但是这些API仍然不是我需要的。

1) http://php.net/manual/ru/book.xsl.php - 非常简单的 API,但我只能扩展函数 (registerPHPFunctions),不能扩展标签。

2) http://www.php.net/manual/en/ref.xslt.php - 简单明了,我可以扩展我需要的任何东西 (xslt_set_sax_handlers),但是,我们开始吧 - 另一个问题。简介 (http://www.php.net/manual/en/intro.xslt.php) 说:“此扩展已移至 » PECL 存储库,自 PHP 5.0.0 起不再与 PHP 捆绑在一起。” .好的,我正在导航到 pecl.php.net -> 搜索包 -> XSLT -> 未找到结果 -> o_O

所以,看起来好的 API 已被弃用,而坏的 API 不能满足我的需求。大家有什么可以推荐的吗?我需要一个 PHP XSLT 处理器,我可以在其中扩展或覆盖所有可以扩展或覆盖的内容,就像上面的“2)”一样。谢谢!

最佳答案

PHP 使用 libxslt 作为其默认处理器,并使用 libexslt 作为其扩展处理器。这是 API 文档:

此外,libxslt已经支持 eval extension ,这可能符合您的目的。

还有通过 xsl:processing-instruction 提供的内置宏,它与 PHP 的速记分隔符相匹配:

还有 registerPHPFunctions方法。

转换可以将 XPath 表达式作为参数传递给自定义命名空间中的函数:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:js="urn:livescript"
extension-element-prefixes="js"
>

<xsl:variable name="source" select="//"/>

<xsl:template match="json">
<xsl:value-of select="livescript:JSON($source)"/>
</xsl:template>
</xsl:stylesheet>

该函数链接到一个外部转换,该转换计算 XPath 结果并使用回调返回结果。

引用资料

关于PHP 和 XSLT : extending the processor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com