使用xslt将输入xml转换为输出xml



我得到一个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>

相关内容

  • 没有找到相关文章

最新更新