2013-07-16 49 views
0

我得到一個XML輸入文件,它應該使用XSLT進行轉換。 由於XML文件中的名稱空間,現在我面臨轉換中的問題。使用xslt將Input xml轉換爲Output xml

包含此命名空間中的XML文件沒有轉化

xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2" xmlns:n1="http://b2b.ibm.com/schema/B2B_CDM_Incident/R2_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

但是,當我們從XML刪除xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2"文件,它被轉化。

我在XSLT中也使用了相同的命名空間,但它不會轉換。

請幫助我轉換XML文件而不更改XML文件。我想更改XSLT。

回答

1

您必須在XSLT中使用相同命名空間指定的元素前綴。例如:

輸入XML:

<input xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2"> 
    <content>testing</content> 
</input> 

你XLST應該是這個樣子:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet 
    version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:t="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2"> 

    <xsl:template match="/"> 
    <output> 
     <xsl:value-of select="/t:input/t:content"/> 
    </output> 
    </xsl:template> 
</xsl:stylesheet>