Re: [xsl] Renaming an element when using copy-of

Subject: Re: [xsl] Renaming an element when using copy-of
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Tue, 13 Jun 2006 11:58:51 -0800
Without seeing more of your code.

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="source">
<newname>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</newname>
</xsl:template>

<xsl:template match="child_element">
<newchildname>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</newchildname>
</xsl:template>

<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>


As you need to add more changes to element names, just add more templates to match them as source and child_element above do, and replace the <newname> and <newchildname> with whatever you want them to be renamed to.


Spence


On 6/13/06, Chad Chelius <cchelius@xxxxxxxxxxxxxxx> wrote:
I am trying to copy the contents of an element called <source> using
a template but I want to change it's name when doing so. This
<source> element contains several children that I want to carry over
but I also want to rename them as well. I'm currently using:

<xsl:copy-of select="source"/>

This works but I want to change the name of source. How do I do this?

Current Thread