This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Increment a Value in xsl:for-each
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Increment a Value in xsl:for-each
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Fri, 9 Mar 2001 10:52:54 -0000
- Reply-To: xsl-list at lists dot mulberrytech dot com
> I am using xsl:for-each to read all the nodes with the
> same name at the
> same level in my xml file.
> I have to actually read two nodes at one time.
>
> eg:
> <Customer>
> <Address/>
> <Address/>
> <Address/>
> <Address/>
> <City/>
> <City/>
> <City/>
> <City/>
> </Customer>
>
> 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.
If you can't persuade someone to change this appalling data structure, try:
<xsl:for-each select="Address">
<xsl:value-of select="Address"/>
<xsl:variable name="p" select="position()"/>
<xsl:value-of select=../City[$p]"/>
</xsl:for-each>
Don't even think of incrementing variables in XSLT: it's not a sequential,
procedural language.
Mike Kay
Software AG
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list