PHP 和 XSLT 处理器错误行为
简单的问题:为什么从 XSL 样式表调用的 PHP 函数只返回传递的最后一个参数:
foo.xsl:
<xsl:template match="/">
<xsl:value-of select="php:function('date','c')" />
</xsl:template>
PHP:
...
$xsl = new XSLTProcessor();
$xsl->registerPHPFunctions();
$xsl->importStylesheet($fooStylesheet);
echo $xsl->transformToXML($myXML);
I 获取输出
c
,如果我调用
我只是将 date
作为我的输出。我觉得很奇怪。
版本信息:
PHP 5.3.2
libxslt 版本 1.1.26
libxslt 针对 libxml 版本 2.7.6 编译
EXSLT 已启用
libexslt 版本 1.1.26
Simple question: Why is a PHP function called from an XSL Stylesheet just returning the last argument passed:
foo.xsl:
<xsl:template match="/">
<xsl:value-of select="php:function('date','c')" />
</xsl:template>
PHP:
...
$xsl = new XSLTProcessor();
$xsl->registerPHPFunctions();
$xsl->importStylesheet($fooStylesheet);
echo $xsl->transformToXML($myXML);
I Get the output
c
and if I call <xsl:value-of select="php:function('date')" />
I just get date
as my output. Seems strange to me.
Version info:
PHP 5.3.2
libxslt Version 1.1.26
libxslt compiled against libxml Version 2.7.6
EXSLT enabled
libexslt Version 1.1.26
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的
根标记中需要 PHP xmlns:You need the PHP xmlns in your
<stylesheet>
root tag: