将两个xml文件合并为一个

时间:2010-01-26 09:45:41

标签: php xml xslt

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="pXml1" select="''" />
  <xsl:param name="pXml2" select="''" />
  <xsl:param name="pRoot" select="'root'" />

  <xsl:template match="/">
    <xsl:variable name="vXml1" select="document($pXml1)" />
    <xsl:variable name="vXml2" select="document($pXml2)" />

    <xsl:element name="{$pRoot}">
      <xsl:copy-of select="$vXml1/*/*" />
      <xsl:copy-of select="$vXml2/*/*" />
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

$pXml1包含空格Ex时代码失败。 “a b c.xml”

如何解决?

是否需要编码?

1 个答案:

答案 0 :(得分:1)

传递字符串时,document函数需要URI。如果您的XSLT处理器支持它,您可以使用EXSLT的str:encode-uri扩展功能对您的文件名进行URI编码。