OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] sorting elements

[ 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
________________________________________________________________________




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS