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]

Re: comparing the valie of an attribute..


Sara Mitchell wrote:
> To use xsl:choose, you can do something like this:
>
> <xsl:template match="event">
> <!-- set variable based on the value of type attribute -->
> <xsl:variable name="colortype">
> <xsl:choose>
> <xsl:when test="@type='error'">#990000</xsl:when>
> <xsl:otherwise>#dddddd</xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
> <td>
> <!-- assign background color using variable -->
> <xsl:attribute name="bgcolor"><xsl:value-of select="$colortype"/>
> </xsl:attribute> 
>  ...what ever your cell content should be here...
> </td>
> </xsl:template>

There's no particular need to use a variable here unless you reuse the
colour elsewhere. You can just embed the xsl:choose within the
xsl:attribute:

<xsl:template match="event">
  <td>
    <xsl:attribute name="bgcolor">
       <xsl:choose>
         <xsl:when test="@type='error'">#990000</xsl:when>
         <!-- other colours for other types -->
         <xsl:otherwise><!-- default --></xsl:otherwise>
       </xsl:choose>
    </xsl:attribute>
    <!-- content of the table cell -->
  </td>
</xsl:template>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



 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]