xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Sorting in descending order on the sum of a calculation


Subject: RE: [xsl] Sorting in descending order on the sum of a calculation
From: Joshua.Kuswadi@xxxxxxxxxxxxxxxxxxxx
Date: Thu, 29 Nov 2001 16:45:55 +1100

Hi there,

>   <xsl:for-each select="//referers/referer">
>    <xsl:sort select="@page" order="ascending"/>
<snip/>
>    </xsl:for-each>

The above xsl:sort is sorting on the page attribute in ascending alphabetical, which results in the output you are getting.

Looks like you will need to group by @page to get all the distinct pages and then sort on the calculation of the number of hits. The below is untested and untried.

<!-- Select all referer elements -->
<xsl:variable name="refererPages" select="//referers/referer" />
<!-- Select the distinct referer elements -->
<xsl:variable name="distinctRefererPages" select="$refererPages[@page != preceding::referer/@page]" />

<xsl:for-each select="$distinctRefererPages">
 <!-- Sort by sum of the hits attribute of all referer elements where the page attribute is the same as that in the $distinctRefererPages -->
 <xsl:sort select="sum(//referers/referer[@page = current()/@page]/@hits)" order="descending" />
</xsl:for-each>

HTH,
Joshua

------------------------------------------------------------------------------
This message and any attachment is confidential and may be privileged or otherwise protected from disclosure.  If you have received it by mistake please let us know by reply and then delete it from your system; you should not copy the message or disclose its contents to anyone.





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



Current Thread
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor