Subject: Re: [xsl] Collation for dotted decimal? From: andrew welch <andrew.j.welch@xxxxxxxxx> Date: Mon, 6 Feb 2006 19:43:10 +0000 |
On 2/6/06, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote: > Given a set of numbers such as the list below, is there a collation for sorting these in such a way that, for example, 3.3.1.1.11 comes after 3.3.1.1.2? > > The numbers are the text nodes of a set of elements produced with an <xsl:for-each-group>. > > > 3.1.1.3.1 > 3.1.1.3.2.4.2 > 3.1.1.3.4 > 3.2.1.1.7.3.8 > 3.4.4.1.10 > 3.4.4.1.11 > 3.1.1.3.7 > 3.1.1.3.8 > 3.1.1.3.9 > 3.1.1.3.10 > 3.1.1.3.11 > 3.1.1.4.1.1 > 3.1.1.4.1.2 > 3.1.1.4.1.3 > 3.1.1.4.1.4 > 3.1.1.4.1.5 > 3.1.1.4.1.6 > 3.1.1.4.1.7 > 3.1.1.4.1.8 > 3.1.1.3.2.2 > 3.1.1.1.1.1.17 How about the brute force technique: <xsl:for-each-group ...> <xsl:sort select="tokenize(.,'\.')[1]" data-type="number"/> <xsl:sort select="tokenize(.,'\.')[2]" data-type="number"/> <xsl:sort select="tokenize(.,'\.')[3]" data-type="number"/> <xsl:sort select="tokenize(.,'\.')[4]" data-type="number"/> <xsl:sort select="tokenize(.,'\.')[5]" data-type="number"/> <xsl:sort select="tokenize(.,'\.')[6]" data-type="number"/> </xsl:for-each> Obviously this doesn't scale well :)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Collation for dotted decimal?, cknell | Thread | Re: [xsl] Collation for dotted deci, David Carlisle |
[xsl] Collation for dotted decimal?, cknell | Date | RE: RE: [xsl] Parse through a table, Dariusz Borowski |
Month |