3
我是xslt的新手,並且有一項任務,我不確定該怎麼處理。我想重命名節點,但保持所有節點聲明的格式。在實際的情況下,我會應用這個,我會做一系列像這樣的重命名,但爲了簡潔起見,我寫的樣本只涉及重命名一個節點。我正在使用XSL 1.0。使用xslt重命名節點和值
輸入:
<variables>
<var>
<RENAME> a </RENAME>
</var>
<var RENAME='b'/>
<var>
<DO_NOT_TOUCH> c </DO_NOT_TOUCH>
</var>
<var DO_NOT_TOUCH='d'/>
</variables>
所需的輸出:
<variables>
<var>
<DONE> a </DONE>
</var>
<var DONE='b'/>
<var>
<DO_NOT_TOUCH> c </DO_NOT_TOUCH>
</var>
<var DO_NOT_TOUCH='d'/>
</variables>
我的XSLT:
<xsl:template match="RENAME">
<RENAMED>
<xsl:apply-templates select="@*|node()"/>
</RENAMED>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
電流輸出
<variables>
<var>
<RENAMED> a </RENAMED>
</var>
<var RENAME="b">
</var>
<var>
<DO_NOT_TOUCH> c </DO_NOT_TOUCH>
</var>
<var DO_NOT_TOUCH="d">
</var>
</variables>
+1爲正確的解決方案。 – 2011-02-11 15:35:38