[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: sorting & counting

Subject: Re: sorting & counting
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 28 Jun 2000 22:03:54 +0100
sorting by counting
Igor,

>1. sort them by 'priority'
>2. leave, say, only 3 nodes in the result

Here's a solution.  First, specify the number of nodes you want in a
parameter, so that you can change it whenever you like:

<xsl:param name="nodes" select="'3'" />

Next, you want to treat the nodes individually despite them being nested
inside each other, and you want to sort them within your output in order of
priority.  You can use either xsl:for-each or xsl:apply-templates to select
the nodes within the document, whatever their level (using //node) and
xsl:sort within whichever you use to sort in order of priority.  For example:

  <xsl:for-each select="//node">
    <xsl:sort select="@priority" order="ascending" />
    ...
  </xsl:for-each>

Within that, you only want to output anything if the position of the node
within that sorted list is less than or equal to the number of nodes you
want in the result.  In other words:

  <xsl:for-each select="//node">
    <xsl:sort select="@priority" order="ascending" />
    <xsl:if test="position() &lt;= number($nodes)">
      <xsl:value-of select="name" />
    </xsl:if>
  </xsl:for-each>

Tested and works in SAXON.

I hope this helps,

Jeni

Dr Jeni Tennison
Epistemics Ltd * Strelley Hall * Nottingham * NG8 6PE
tel: 0115 906 1301 * fax: 0115 906 1304 * email: jeni.tennison@xxxxxxxxxxxxxxxx


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.