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 ]



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)



 

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

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