忽略XSLT

时间:2017-12-28 06:02:28

标签: xslt

我的输入文件带有不同的命名空间。但是,根据我的要求,我需要用1 xslt处理它。

输入文件1:

    <header xmlns="urn:xyz:hello">
       <body>
           <element1>hi</element1>
           <element2>sen</element2>
       </body>
    </header>

输入文件2:

<header xmlns="urn:abc:hello1">
   <body>
       <element1>hi</element1>
       <element2>sam</element2>
   </body>
</header>

与上面的示例类似,我会获得具有不同命名空间urn:cdf:well, urn:cdf:hello, ....

的文件

如何在1 xslt中处理此问题?

非常感谢您的建议。

由于 森

1 个答案:

答案 0 :(得分:1)

使用以下模板代替身份模板, “删除”任何命名空间。

<xsl:template match="*">
  <xsl:element name="{local-name()}">
    <xsl:apply-templates select="@*|node()"/>
  </xsl:element>
</xsl:template>

<xsl:template match="@*">
  <xsl:attribute name="{local-name()}">
    <xsl:value-of select="."/>
  </xsl:attribute>
</xsl:template>