我有一个<div>
带有属性的嵌套级别元素的 xml 文档。我想按属性名称重命名 div 。
问问题
364 次
1 回答
0
这种转变:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="div">
<xsl:element name="{@class}">
<xsl:apply-templates select="node()|@*"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
当应用于以下 XML 文档时:
<html>
<div class="animal">
Animals:
<div class="mammal">
Mammals:
<div class="dog">
Dogs
</div>
<div class="cat">Cats</div>
</div>
</div>
</html>
产生想要的正确结果:
<html>
<animal class="animal">
Animals:
<mammal class="mammal">
Mammals:
<dog class="dog">
Dogs
</dog>
<cat class="cat">Cats</cat>
</mammal>
</animal>
</html>
说明:
正确使用标识规则设计模式。
于 2012-06-06T12:10:17.147 回答