[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] How might I reproduce a tag, but change one attribute?


Subject: RE: [xsl] 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.


Current Thread
Keywords
xsl