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>
--~--