This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Increment a Value in xsl:for-each
Thanks jeni. It worked for me.
Raj.
----- Original Message -----
From: "Jeni Tennison" <mail@jenitennison.com>
To: "Raj Avula" <raj_avula@hotmail.com>
Cc: <xsl-list@lists.mulberrytech.com>
Sent: Thursday, March 08, 2001 2:06 PM
Subject: Re: [xsl] Increment a Value in xsl:for-each
> Hi Raj,
>
> > In xsl:for-each I have to read first Address and First City for the
> > first time, Second Address and second City second time and so on.
> >
> > My XSL template is
> >
> > <xsl:variable name="iCount" select="1"/>
> >
> > <xsl:for-each select="Address">
> > <xsl:value-of select="Address"/>
> > <xsl:value-of select=../City[position()=$iCount"/>
> > </xsl:for-each>
> >
> > I have to increment iCount in for loop.
> >
> > Can you please tell me how can I increment iCount in for-each loop.
>
> XSLT doesn't allow you to increment variables. There are usually
> other ways to do what you need to do, and there is in this case.
>
> Use xsl:for-each to iterate over the Address elements and then use the
> position() of the Address to index into the City elements:
>
> <xsl:for-each select="Address">
> <xsl:variable name="iCount" select="position()" />
> <xsl:value-of select="." />
> <xsl:value-of select="../City[$iCount]" />
> </xsl:for-each>
>
> Two things to note here: first, the Address element that you're
> looking at within the xsl:for-each is the current node within the
> xsl:for-each. In your xsl:for-each, you're getting the value of the
> child Address element of the current Address element - I don't
> think you have nested Address elements, so I don't think that's what
> you wanted.
>
> The other thing to note is that $iCount is a number, so there's no
> need to test whether the position() of the node equals it - you can
> just put the number as the value of the predicate and the nodes will
> automatically be filtered by position().
>
> I hope that helps,
>
> Jeni
>
> ---
> Jeni Tennison
> http://www.jenitennison.com/
>
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list