RE: [xsl] Problem setting variable in if statement

Subject: RE: [xsl] Problem setting variable in if statement
From: "Martinez, Brian" <brian.martinez@xxxxxxxxxxx>
Date: Mon, 2 Feb 2004 13:00:15 -0700
> From: Johnson, Kaerstin [mailto:johns218@xxxxxxxxx]
> Sent: Monday, February 02, 2004 12:03 PM
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Problem setting variable in if statement 
> 
> 
> I am very new to xsl/xslt and have a basic problem.  I am 
> setting a style
> sheet color based on a condition.
> I'd like the color to be a variable value, like
> <xsl:variable name="statColor" select="#33cc33">
> and set this variable in the if/choose condtion.
> Then recall it like
> <span style="color:{$statColor}"><xsl:value-of select="status"></span>

You'll still need to use the xsl:choose construct, but just move it inside
the xsl:variable element:

<xsl:variable name="statColor">
  <xsl:choose>
    <xsl:when test="status='undelivered'">#ff0000</xsl:when>
    <xsl:when test="status='inprogress'">#33cc33</xsl:when>
    <xsl:when test="status='delivered'">#0033ff</xsl:when>
    <xsl:when test="status='escalated'">#ffff33</xsl:when>
    <xsl:otherwise>#000000</xsl:otherwise>
  </xsl:choose>
</xsl:variable>

Then reference $statColor as you have it.  If you use $statColor only once,
it may not be any more efficient, but it's easier to read.

hth,
b.

| brian martinez                           brian.martinez@xxxxxxxxxxx |
| lead gui programmer                                    303.357.3548 |
| cheap tickets, part of trip network                fax 303.357.3380 |
| 6560 greenwood plaza blvd., suite 400           englewood, co 80111 |
| cendant travel distribution services   http://www.cheaptickets.com/ |

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


Current Thread