Re: [xsl] how to increment a variable in a for-each loop

Subject: Re: [xsl] how to increment a variable in a for-each loop
From: yan bai <bytj@xxxxxxxxx>
Date: Wed, 23 Jan 2002 15:14:12 -0800 (PST)
I have a code snippet as below:
<xsl:template match="*" mode="diff_cols">
<xsl:for-each select=".">
    <xsl:if test="position() mod 2 = 1">
	<fo:table-cell  background-color="red">	
<fo:block><xsl:value-of select="."/></fo:block>
	</fo:table-cell>
    </xsl:if>
    <xsl:if test="position() mod 2 = 0">
	<fo:table-cell  background-color="blue">
        <fo:block><xsl:value-of
select="."/></fo:block>
	</fo:table-cell>
    </xsl:if>
    </xsl:for-each>
</xsl:template>

Unfortunately, it did not work.  The background color
in all columns is red.

Can you help to debug?


Yan



--- David Carlisle <davidc@xxxxxxxxx> wrote:
> > I wonder if any one knows how to increment a
> variable
> > value in a for-each loop just like in other
> > programming languages.
> 
> As is the case with other declarative languages, you
> can not change the
> value of a variable once it is bound.
> 
> >   I need to check this value so
> > that I can change the background color for every
> other
> > column in a table.
> 
> This is a FAQ (an an example in the spec) just use
> the value of
> position() mod 2
> will will be either 0 or 1 as you go through the
> loop.
> 
> David
> 
>
_____________________________________________________________________
> This message has been checked for all known viruses
> by Star Internet
> delivered through the MessageLabs Virus Scanning
> Service. For further
> information visit http://www.star.net.uk/stats.asp
> or alternatively call
> Star Internet for details on the Virus Scanning
> Service.
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

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


Current Thread