PHP and XSLTProcessor Misbehavior
Simple question: Why is a PHP function called from an XSL Stylesheet just returning the last argument passed:
foo.xsl:
<xsl:templa开发者_C百科te 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.26You need the PHP xmlns in your <stylesheet>
root tag:
<stylesheet xmlns:php="http://php.net/xsl">
精彩评论