xsl-list
[Top] [All Lists]

RE: [xsl] Tokenized String Sorting Puzzle/Problem

2008-03-26 06:40:55
From: Scott Lynch [mailto:slynch(_at_)nortel(_dot_)com] 
Sent: 26 March, 2008 09:18
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Tokenized String Sorting Puzzle/Problem

What I can't seem to accomplish is sorting the resulting 
pairs into numerical order based on the first and then the 
second values in each pair. Like this (this line breaks are 
just for visual clarity in this email and are not necessary 
in the transform):

"1 0", "1 1", "1 2", "1 3", "1 4",
"2 0", "2 1", "2 3", "2 4",
"5 0",
"6 0",
"10 0", "10 1", "10 2"

You didn't say whether you were using XSLT 1.0 or 2.0, but a
possible 1.0 solution would be, assuming the above values are
strings:

<xsl:for-each select="$list">
  <xsl:sort order="ascending" data-type="number"
    select="substring-before(.,' ')" />
  <xsl:sort order="ascending" data-type="number"
    select="substring-after(.,' ')" />
  <xsl:value-of select="." />
</xsl:for-each>


Andy.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--