Subject: RE: How might I reproduce a tag, but change one attribute?
From: "Haarman, Michael" <mhaarman@xxxxxxxxx>
Date: Thu, 26 Jan 2006 22:22:25 -0600
|
> From: footh
> an <img> tag exactly, except I want to change one
> attribute, the "src". The only way I can think of
<xsl:template match="img">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="src">
<xsl:value-of select="'bar'"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
This is a modified identity template. The copy-of instruction selects all
attributes of the element and copies them and their values. Just after it,
the attribute instruction names and values a new @src attribute which
overrides the value for @src just copied in the previous instruction.
apply-templates catches any child nodes of the img element, unnecessary if
you know img is always a leaf node.
HTH,
-----------------------------------
Mike Haarman,
XSL Developer,
Internet Broadcasting Systems, Inc.
|