Subject: Re: [xsl] template match on attribute, copy but change value From: david_n_bertoni@xxxxxxxxxx Date: Thu, 10 Jul 2003 16:08:28 -0700 |
> Hi, > I'm attempting to find a single attribute and change it's value. I > thought this should be simple, but it just doesn't seem to be working. > Looking at the Rec it says that xsl:copy is not allowed to copy the > attribute and change it's value (what it looks like in the archives that I > found as well). So my question is, can I use the identity transform, then > have a template matching a specific attribute and copy the attribute to the > result, but change it's value? > > XML File: > <test> > <Element myAtt="test"> > <child/> > </Element> > </test> > > XSL File: > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:template match="/"> > <xsl:apply-templates select="*"/> > </xsl:template> > > <xsl:template match="@myAtt"> > <xsl:copy> <!-- this is ignored and will not let me change the value --> > <xsl:value-of select="'hi there'"/> > </xsl:copy> > </xsl:template> xsl:copy makes a shallow copy of a node, and, by definition, a copy is identical to the original. Instead, use the xsl:attribute instruction to create a new attribute with the same name, but with the new value: <xsl:template match="@myAtt"> <xsl:attribute name="myAtt">hi there</xsl:attribute> </xsl:template> Dave XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] template match on attribute, , Benjamin Farrow | Thread | Re: [xsl] template match on attribu, Benjamin Farrow |
Re: [xsl] template match on attribu, Benjamin Farrow | Date | Re: [xsl] template match on attribu, David Carlisle |
Month |