This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: match on attribute anywhere


this works, however, it may be a bit clumsy:

<xsl:template match="@mark[.!='1']">
   <xsl:apply-templates />
</xsl:template>

<xsl:template match="@mark[.='1']">
	<span style="color:#FF0000">
  		<xsl:apply-templates />
	</span>
</xsl:template>

-Jeff



-----Original Message-----
From: Andrew Welch [mailto:awelch@piper-group.com]
Sent: Wednesday, February 13, 2002 5:20 AM
To: xsl-list@lists.mulberrytech.com
Subject: [xsl] match on attribute anywhere



Hi all,

In my xml, if an element has an attribute 'mark=1' then it should be
highlighted.  I can achieve it by putting a test on each template:

<xsl:template match="whatever">
    <xsl:choose>
    <xsl:when test="@mark='1'">
 		<span style="color:#FF0000">
 			<xsl:apply-templates/>
 		</span>
    </xsl:when>
    <xsl:otherwise>
		<xsl:apply-templates/>
    </xsl:otherwise>
    </xsl:choose>
</xsl:template>

However, doing this for each template seems a bit overkill, I would like to
specify a general template like this:

<xsl:template match="@mark">
	<span style="color:#FF0000">
  		<xsl:apply-templates select/>
	</span>
</xsl:template>

and apply it using:

<xsl:apply-templates select="@mark|node()"/>

This currently doesnt work for me - is it the correct approach?

Cheers

andrew

===


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]