|
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 |