This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Changing an attribute wherever it may occur
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Changing an attribute wherever it may occur
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Fri, 28 Sep 2001 08:55:57 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
> Is there a way to change an attribute in any occurrence
> in a given
> element, including children? I have been able to do it
> recursively, with a
> little knowledge of where the attributes might be, but is it
> possible to do
> it all at once? I want to assume that I don't know where the
> attribute
> will be at.
If you base your stylesheet on the identity template rule
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
Then you can define any special processing in additional templates, e.g.
<xsl:template match="@fred">
<xsl:attribute name="bill">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list