Re: [xsl] Top n values

Subject: Re: [xsl] Top n values
From: "Vasu Chakkera" <vasucv@xxxxxxxxxxx>
Date: Fri, 18 Oct 2002 09:03:41 +0000
Following is an example of how you can work with node-set()..

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl=""; xmlns:xalan = ""; exclude-result-prefixes="xalan">
<xsl:template match="/">
<xsl:variable name="sorted-items">
<xsl:for-each select="/root/item">
<xsl:sort select="." order="descending" data-type="number"/>
<xsl:copy-of select="."/>
<xsl:variable name="n-value" select="'3'"/>
<xsl:for-each select="xalan:nodeset($sorted-items)/item[position()&lt;= $n-value]">
<xsl:value-of select="."/><br/>

This works with XALAN..

From: Dan Diebolt <dandiebolt@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Top n values
Date: Thu, 17 Oct 2002 12:30:04 -0700 (PDT)

I need to process the top n values in a list where n
is dynamic. So if n=3 and I had the following XML:


I need to process <item>'s with values 6,5,4. If I had
captured n in a variable/parameter, what is the most
efficient way to do this? What I want to avoid is walking
the <item> nodset multiple times as there are a lot of
<item>s (thousands). Thanks.

XSL-List info and archive:

Get a speedy connection with MSN Broadband.  Join now!

XSL-List info and archive:

Current Thread