Subject: RE: XSLT - How to find the last element in a group of nodes inside of a for loop
From: "Chaudhary, Harsh" <HCHAUDHA@xxxxxxxxx>
Date: Thu, 17 Jan 2008 14:02:20 -0600
|
Worked like a charm. Thanks a lot. Funnily enough, I know about both the
position and the last functions, just never put em together.
Harsh.
-----Original Message-----
From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx]
Sent: Thursday, January 17, 2008 1:46 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: XSLT - How to find the last element in a group of
nodes inside of a for loop
Harsh,
At 02:10 PM 1/17/2008, you wrote:
><xsl:for-each select="//competitor[generate-id() =
>generate-id(key('someKey', @zone))]">
>
> <xsl:sort select="@zone"/>
> <xsl:for-each select="key('someKey', @zone)">
>
> <xsl:sort select="@competitorTerritory"/>
> //Some code
>
> //How do I detect the last row for each Zone?
Since you're iterating over all the competitor nodes with a given
zone, you can use position() to identify particular nodes within the
iteration.
So here, what you want should be
<xsl:if test="position() = last()">
... do your thing
</xsl:if>
Of course, I don't know what other complications there might be.
Cheers,
Wendell
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
|