一直在尝试使用 XSLT 转换 XML,但名称空间在转换后继续重新排列。
XML 输入样本
<Document xmlns="uri" xmlns:xsi="url" xsi:schemaLocation="uri file">
改造后变成了这样
<Document xsi:schemaLocation="uri file" xmlns="uri" xmlns:xsi="url">
知道如何使用 XSLT 获得相同的输出吗?
这是我的一些转换,不确定是否有任何影响命名空间
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<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>
<xsl:template match="text() | processing-instruction() | comment()">
<xsl:copy />
</xsl:template>