我有一个带有属性的嵌套级<div>
元素的xml文档。
我想按属性名称重命名div。
答案 0 :(得分: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>
<强>解释强>:
正确使用 identity rule 设计模式。