| Subject: Re: [xsl] Increment a Value in xsl:for-each From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 8 Mar 2001 22:06:04 +0000 | 
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
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] Increment a Value in xsl:for-, Raj Avula | Thread | Re: [xsl] Increment a Value in xsl:, Raj Avula | 
| [xsl] Increment a Value in xsl:for-, Raj Avula | Date | [xsl] How to "quo" without "quo", Lindy Quick | 
| Month |