You can't do it using xsl:copy-of. Instead you walk the tree using
xsl:apply-templates, changing the name of each node as you go. If there are
nodes you don't want to change, you can handle them with an identity
template:
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
and then you just write additional rules for the nodes you do want to
change.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Chad Chelius [mailto:cchelius(_at_)agitraining(_dot_)com]
Sent: 13 June 2006 20:02
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Renaming an element when using copy-of
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?
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--