[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Copy Attribute Unless
Subject: Re: [xsl] Copy Attribute Unless From: Alan <alan-xsl-list@xxxxxxxxx> Date: Fri, 25 Mar 2005 12:40:12 -0500 |
* Alan <alan-xsl-list@xxxxxxxxx> [2005-03-25 12:27]: > In my expand.xslt I have a template like so... > > <xsl:template match="control"> > <xsl:variable name="definition" > select="ancestor::bench/fixture/control-point[ > @name = current()/@name]"/> > <xsl:copy> > <xsl:copy-of select="@*"/> > <xsl:if test="not(@trim)"> > <xsl:copy-of select="$defition/@trim"/> > </xsl:if> > <xsl:if test="not(@class)"> > <xsl:copy-of select="$defition/@class"/> > </xsl:if> > <!--| Repeat for every attribute I add. |--> > </xsl:copy> > > </xsl:template> > My question... Is there a clever select statement that could > "copy all the attributes, and all the definition attributes, > unless they are already definied in the test instance." The following works in Saxon 8.0. I assumed it was bad news to specify an attribute twice, but I suppose the last attribute node copied wins. <xsl:template match="control"> <xsl:variable name="definition" select="ancestor::bench/fixture/control-point[ @name = current()/@name]"/> <xsl:copy> <xsl:copy-of select="$definition/@*"/> <xsl:copy-of select="@*"/> </xsl:copy> </xsl:template> -- Alan Gutierrez - alan@xxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Copy Attribute Unless, Alan | Thread | RE: [xsl] Copy Attribute Unless, Michael Kay |
Re: [xsl] how red ampersand from th, henry human | Date | Re: [xsl] how red ampersand from th, Joe Fawcett |
Month |