Subject: [xsl] Customised sorting From: Mille Eriksson <mille.eriksson@xxxxxxxxxxxxxxxxx> Date: Thu, 05 Apr 2001 09:30:57 +0200 |
In Michael Kay's book XSLT - Programmer's reference, the following example is given on getting data into groups (pages 560-561): <cities> <city name="Paris" country="France"/> <city name="Roma" country="Italy"/> <city name="Nice" country="France"/> <city name="Madrid" country="Espana"/> <city name="Milano" country="Italia"/> <city name="Firenze" country="Italia"/> <city name="Napoli" country="Italia"/> <city name="Lyon" country="France"/> <city name="Barcelona" country="Espana"/> </cities> The grouping of the data is done with the following stylesheet: <xsl:template match="/"> <xsl:variable name="unique-countries" select="/cities /city[not(@country=preceding-sibling::city/@country)] /@country" /> <countries> <xsl:for-each select="$unique-countries"> <country name="{.}"> <xsl:for-each select="//city[@country=current()]"> <city> <xsl:value-of select="@name"/> </city> </xsl:for-each> </country> </xsl:for-each> </countries> </xsl:template> Resulting in: <countries> <country name="France"> <city>Paris</city> <city>Nice</city> <city>Lyon</city> </country> ... and so on </countries> Now, my problem is very similar to this example but with the addition that I need to sort the groups in a specific order. In the example this would correspond to order the groups for example by the size of captial of each country. This ordering information needs to bes supplied with the style-sheet and not with the XML-document. Are there any ideas of how this can be accomplished? Thanks in advance Mille Eriksson XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: xsl to xsl doing it right, Dan Diebolt | Thread | Re: [xsl] Customised sorting, David Carlisle |
RE: [xsl] Handling  , Chris Bayes | Date | [xsl] Re: XSL-List Digest V3 #667, David Marsh |
Month |