2010-01-26 98 views
1
<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」將兩個xml文件合併爲一個

如何解決?

需要編碼嗎?

回答

1

傳遞字符串時,document函數需要URI。如果您的XSLT處理器支持它,則可以使用EXSLT中的str:encode-uri擴展函數對您的文件名進行URI編碼。

+0

非常感謝你 – brian 2010-01-29 02:50:24