Subject: RE: [XSL] Using Sort and Position Function
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 10 Dec 2007 09:30:18 -0000
|
> The XSL:
>
> <xsl:template match="application">
> <xsl:for-each select=".">
> <xsl:sort select="@rank" order="ascending"/>
> <span>
> <xsl:attribute name="title">
> <xsl:value-of select="type"/>
> </xsl:attribute>
> <xsl:value-of select="ability"/>
> </span>
> <xsl:choose>
> <xsl:when test="position( ) !=last( )">, </xsl:when>
> <xsl:otherwise><!--Don't display
> anything--></xsl:otherwise>
> </xsl:choose>
> </xsl:for-each>
> </xsl:template>
>
> This stylesheet works.
You're sorting a list that contains a single item. This item will always be
the last in the list.
> The only problem is that I want the
> second to last to last element to use and instead of a comma,
> and I tried putting it in the <xsl:otherwise> tags. Didn't
> work as I thought, though.
A list of length one will never have a second-to-last item.
Michael Kay
http://www.saxonica.com/
|