xsl-list
[Top] [All Lists]

Re: [xsl] Tokenized String Sorting Puzzle/Problem

2008-03-26 06:35:41
Scott Lynch wrote:

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"

Assuming your pairs are in a sequence of items $result where each item is "1 0" or "1 1" etc (i.e., two numbers separated by a space) why not doing someting like this:

<xsl:for-each select="$result">
   <xsl:sort select="tokenize(., ' ')[1]" data-type="numeric" />
   <xsl:sort select="tokenize(., ' ')[2]" data-type="numeric" />
   .... do your thing ...
</xsl:for-each>

but I haven't done too much XSLT lately so I may have missed the obvious ;)

Cheers,
-- Abel Braaksma

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