我有以下 XML 可以在我的 XML 文档中以任何一种形式出现:
<Message xsi:schemaLocation="http://www.location.com StructureFile.xsd" xmlns=http://www.thenamespace.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
或者
<Message xmlns="http://www.thenamespace.com">
我需要输出为:
<Message xmlns="http://www.theNEWnamespace.com">
我目前有这个模板来处理两种 xml 可能性的较短版本:
<xsl:template match="*">
<xsl:element name="{name()}" namespace="http://www.theNEWnamespace.com">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
但是,如果它们存在,这不会删除 xml 的 SchemeLocation 或 xmlns:xsi 部分。
我将如何调整上述内容以处理这两种可能性。
干杯,
编辑:XML结构:
<?xml version="1.0" encoding="utf-8"?>
<Message xsi:schemaLocation="http://www.location.com StructureFile.xsd" xmlns="http://www.thenamespace.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<Info></Info>
</Header>
</Message>