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

Re: Sorting problem

Subject: Re: Sorting problem
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 03 Sep 2003 15:54:08 -0400
criteria for sorting
Todd,

Your problem is that in order to sort, you need to be able to select a *node* for each node being sorted, whereas format-number will return you a string. You can't select a string for processing, alas, even for purposes of sorting by them.

I recommend a two-pass solution. In the first pass -- which will be a near-identity transform -- decorate your data with new nodes describing such things as the proportion between space used and total space as applied to a given parent node. Then it'll be there in the form -- nodes -- that your second transform wants to pick up for its sorting.

I hope this helps,
Wendell

At 02:54 PM 9/3/2003, you wrote:
Hello All,

I have been looking in the sorting FAQ but haven't been able to solve my
problem.


I am trying to do a sort based on a parameter which I can do ok with the following sort statement:

<xsl:sort select="server_name[$sort='server_name'] |
                            nds_name[$sort='nds_name'] |
                            short_name[$sort='short_name'] |
                            total_space[$sort='total_space']"
order="{$order}" data-type="{$dtype}"/>

The above code sorts fine but I have one other sorting criteria. Based on
the used_space and total_space I figure a percent value and would like to
sort on it. The problem is I can get it to work all by its lonesome using
the following:

<xsl:sort select="format-number((number(used_space) div number(total_space))
* 100,'0')" order="{$order}" data-type="number"/>



but when I put it in with the following I get an error.

<xsl:sort select="server_name[$sort='server_name'] |
                  nds_name[$sort='nds_name'] |
                  short_name[$sort='short_name'] |
                  total_space[$sort='total_space'] |
                  format-number((number(used_space) div number(total_space))
*100,'0')[$sort='percent']"
order="{$order}" data-type="{$dtype}"/>


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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.