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

RE: [xsl] MOD Every Other easy - but what about every 3rd


Subject: RE: [xsl] MOD Every Other easy - but what about every 3rd
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 21 Jan 2005 07:55:31 -0000

You seem to have been using "mod" without realising how it works.

you want

position() mod 3 = 0
position() mod 3 = 1
position() mod 3 = 2

to characterize the three possible renditions.

Michael Kay
http://www.saxonica.com/

> 
> Using MOD to determine odd rows is easy.  However, I'd like to have 3
> alternating rows so need to recognize the 1st row, the 2nd row, the
> 3rd and start over.
> So:
> 
> ..blue row..
> ..red row..
> ..green row..
> ..blue row..
> ....and so on....
> 
> This didn't work:
> <xsl:choose>
>   <xsl:when test="position() mod 3 = 
> 0">background_blue_fade</xsl:when>
>   <xsl:when test="position() mod 2 = 
> 0">background_green_fade</xsl:when>
>   <xsl:otherwise>background_red_fade</xsl:otherwise>
> </xsl:choose>


Current Thread