RE: [xsl] [XSL] Using Sort and Position Function

Subject: RE: [xsl] [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

Current Thread