Subject: Re: [xsl] Copy element with attributes From: "Diogo Vascocelos" <dgvascon@xxxxxxxxxxx> Date: Tue, 29 Nov 2005 15:52:45 +0000 |
<xsl:template match="body/@text"> <xsl:attribute name="text">#000000</xsl:attribute> </xsl:template>
<xsl:template match="body"> <xsl:copy> <xsl:apply-templates select="@*"/><! -- this was failing me --> Prepend <xsl:apply-templates/> Append </xsl:copy> </xsl:template>
From: Ragulf Pickaxe <ragulf.pickaxe@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Copy element with attributes Date: Tue, 29 Nov 2005 14:25:13 +0100
Hi Diogo,
> The xslt I use: > > <xsl:template match="body"> > <xsl:copy> > Prepend text > <xsl:apply-templates/> > Append text > </xsl:copy> > </xsl:template> > > removes body tag attributes. How can > I copy the body tag attributes at the > same time, so I can use something like: > > <xsl:template match="body/@text"> > <xsl:attribute name="text">#000000</xsl:attribute> > </xsl:template> > > to change attributes.
I am not sure quite what you want. If you want to copy the attributes as is, you should do something like: <xsl:copy> <xsl:copy-of select="@*"/> Prepend text <xsl:apply-templates/> ...
If you want to do something with the attributes, you should perhaps do something like: <xsl:copy> <xsl:apply-templates select="@*"/> ...
Or you can do something like: <xsl:copy> <xsl:for-each select="@*"> <xsl:attribute name="name()"><!-- Do something here --></xsl:attribute> </xsl:for-each> Prepend text ...
I do not know if this is what you want.
Regards, Ragulf Pickaxe :-)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Copy element with attribu, Ragulf Pickaxe | Thread | Re: [xsl] Copy element with attribu, andrew welch |
Re: [xsl] looping on a line (anothe, JBryant | Date | Re: [xsl] looping on a line (XSLT 1, JBryant |
Month |