This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: position in a conditional for-each
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] position in a conditional for-each
- From: Craig Pfeifer <cpfeifer at acm dot org>
- Date: Wed, 3 Jan 2001 15:37:42 -0500 (EST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
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