Subject: Re: position in a conditional for-each
From: Craig Pfeifer <cpfeifer@xxxxxxx>
Date: Wed, 3 Jan 2001 15:37:42 -0500 (EST)
|
How about?:
<xsl:if test="position() = last()">
... process last element differently ...
</xsl:test>
pg. 502 XSLT programmer's reference
--------
Craig Pfeifer
www.cpfeifer.org
On Wed, 3 Jan 2001, James Piva wrote:
> Hi,
>
> I'm trying treat the last element that passes a
> condition in a for-each differently.
> Every element which passes the condition
> displays its value, and that is followed by
> a comma. The problem is that I can't know when
> the last element to meet the condition
> has passed.I would like to omit trailing comma.
>
> <xsl:for-each select="COOLJEX_ATTRIBUTE">
> <xsl:if test="@key='true'">
> <xsl:value-of select="@name"/>
> <xsl:text> , </xsl:text>
> </xsl:if>
> </xsl:for-each>
>
> The only solution I can think of is to create a
> stringBuffer which is updated each time through the
> condition, then create a substring of that for display.
> But I don't know how to create a 'local variable'. I've
> looked at the xsl:attribute, but have not quite understood its
> functions.
>
> please help,
>
> thank you
>
> james
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|