[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] for-each order


Subject: Re: [xsl] for-each order
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 14 Dec 2001 17:12:43 +0000

Hi Charly,

> Is there a way to do <xsl:for-each ..... and looping backwards.

Sure. Sort (numerically) on position() in descending order:

  <xsl:for-each select="histo/bar">
    <xsl:sort select="position()" order="descending"
              data-type="number" />
    <xsl:value-of select="@value" />
    <xsl:if test="position() != last()">,</xsl:if>
  </xsl:for-each>

Note that the call to position() in the select attribute of the
xsl:sort looks at the order of the selected nodes in the document,
whereas the call to position() within the xsl:for-each looks at the
sorted order of the nodes as they're being processed.
  
I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread