更新された PHP5 と libXML を使用します。registerphpfunctionsを参照してください 。
私は多くのことを試みますsaveXML(null,LIBXML_NSCLEAN)
.
XML の例:
<root><p>Hello</p><p>world</p></root>
XSL の例:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl">
<xsl:output encoding="UTF-8" method="xml" version="1.0" indent="no"/>
<xsl:template match="root"><foo>
<xsl:for-each select="p">
<p><xsl:value-of select="php:function('regFunction', . )" /></p>
</xsl:for-each></foo>
</xsl:template>
XML 出力の例:
<foo>
<p xmlns:php="http://php.net/xsl">Hello</p>
<p xmlns:php="http://php.net/xsl">world</p>
</foo>
はxmlns:php
オーバーヘッドであり、出力では使用されません!