[
Lists Home |
Date Index |
Thread Index
]
You didn't say what language you are using to do the sort. 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
________________________________________________________________________
|