是否可以在 XSL 运行时更改 Document (root-node) 属性的值?
喜欢:
<Document xmlns="http:\\someURL.com" xmlns:xsi="http://www.w3.org">
至:
<Document xmlns="urn:iso:std:iso" xmlns:xsi="http://www.w3.org">
xmlns 不是属性,它是文档命名空间。
(有时像命名空间声明,或者在语法上看起来与属性相似的部分处理指令,具有 key=value 格式被称为伪属性。)
但是您可以复制一个元素并在不同的命名空间中声明它,例如:
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="urn:iso:std:iso" >
<xsl:apply-templates select="@*" />
<xsl:apply-templates />
</xsl:element>
</xsl:template>