[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: 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
  • for-each order
    • Charly - Fri, 14 Dec 2001 11:34:20 -0500 (EST)
      • Jeni Tennison - Fri, 14 Dec 2001 12:12:18 -0500 (EST) <=
      • Trevor Nash - Fri, 14 Dec 2001 12:27:25 -0500 (EST)
      • Michael Kay - Fri, 14 Dec 2001 12:35:16 -0500 (EST)
      • <Possible follow-ups>
      • McNally, David - Fri, 14 Dec 2001 12:30:57 -0500 (EST)
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member