Subject: RE: [xsl] Renaming an element when using copy-of From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 13 Jun 2006 21:03:48 +0100 |
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@xxxxxxxxxxxxxxx] > Sent: 13 June 2006 20:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Renaming an element when , Spencer Tickner | Thread | Re: [xsl] Renaming an element when , Chad Chelius |
Re: [xsl] Renaming an element when , Spencer Tickner | Date | Re: [xsl] Reordering elements, J.Pietschmann |
Month |