如何使用XSLT将一个内容复制到另一个标记内容

时间:2014-07-14 06:56:07

标签: xml xslt

我有一个标签:

<footnote xml:id="ch03-fn-5" label="5"><para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para></footnote>

我想创建新标记“ftnote”,其中包含来自“footnote”标记的相同属性和内容。它应该是:

<ftnote xml:id="ch03-fn-5" label="5"><para aid:pstyle="Copytext">„Muchacho“ (1924), Musik: Luis N. Visca, Text: Celedonio Esteban Flores.</para></ftnote>

有人可以为此提供任何解决方案

谢谢!

1 个答案:

答案 0 :(得分:2)

第一个用于复制xml节点的模板。第二个用于更改元素名称的模板: 注意:您的XML输入有问题。缺少“援助”前缀的名称空间声明。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="node() | @*">
    <xsl:copy>
        <xsl:apply-templates match="node() | @*"/>
    </xsl:copy>
</xsl:template>
<xsl:template match="footnote">
    <ftnote>
        <xsl:apply-templates select="@* | node()"/>
    </ftnote>
</xsl:template>
</xsl:stylesheet>