|
Re: [xml-dev] sorting elements
|
[
Lists Home |
Date Index |
Thread Index
]
On 2/1/06, David Carlisle <davidc@nag.co.uk> wrote:
You didn't say what language you are using to do the sort.
I'm using xslt 1.0 :(
thank for your answer.
In XSLT2 for example you could use something like
<xsl:stylesheet version="
2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="x">
<x> <xsl:perform-sort select="*"> <xsl:sort select="string-join(for $i in tokenize(.,'\.') return format-number(number($i),'000000'),'.')"/>
</xsl:perform-sort> </x> </xsl:template>
</xsl:stylesheet>
$ saxon8 srt.xml srt.xsl <?xml version="1.0" encoding="UTF-8"?> <x> <art>1</art>
<art>1.1</art> <art>2</art> <art>2.1</art> <art>2.1.1</art> </x>
Of course if your example is really representative, and all your numbers
are single digits then you don't need to split things up and rejoin, you can just use <xsl:sort select="."/> which of course is also easy to do in xslt1
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk ________________________________________________________________________
-- ----------------------------------------------------------------------
Esteban Pizzini (http://mod-apache-snmp.sourceforge.net)
|
|
|
|
|