0

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

但是当我们xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2"从 XML 文件中删除时,它会被转换。

我也在我的 XSLT 中使用了相同的命名空间,但它没有转换。

请帮助我在不更改 XML 文件的情况下转换 XML 文件。我想更改 XSLT。

4

1 回答 1

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>
于 2013-07-16T06:40:32.483 回答