【发布时间】:2017-05-19 11:42:28
【问题描述】:
我想删除所有节点中的命名空间,但将命名空间留在根节点中。
你知道我该怎么做吗?
我正在使用这个 XSLT,但它正在删除所有节点中的命名空间。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="*">
<xsl:element name="{local-name()}" >
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
提前致谢。
【问题讨论】:
-
只要确保这里...您想将根元素保留在同一个命名空间中,并为所有后代提供默认(空)命名空间吗?我之所以问,是因为有时人们只想在根元素中声明所有命名空间,但将后代留在其原始命名空间中(没有重复或冗余的前缀绑定)。
-
是的,想法是将根元素保持在同一个命名空间中,并给所有后代一个空命名空间。
-
请提供输入和预期输出的示例。
-
我们需要删除除根节点之外的所有节点中的命名空间。但是我们需要保留前缀。在此图像中,您有一个示例。谢谢
-
这是带有示例i64.tinypic.com/1zyy4c4.jpg的图像
标签: xml xslt xml-namespaces