我得到一个XML输入文件,应该使用XSLT对其进行转换。现在,由于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。
您还必须在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>