Re: [xsl] Sorting problem

Subject: Re: [xsl] Sorting problem
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 1 Sep 2005 07:02:55 +1000
A good one, David!

I think this type of sort was first used by David McNally a few years
ago. I call it "distance sorting".

Actually, I was thinking that this approach was feasible last night,
but was too tired to try to follow it.


Cheers,
Dimitre Novatchev.


> Or rather you could use keys here, but in this case, i think you just want
> to sort don't you?
>
>
>  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> version="1.0" >
>  <xsl:output method="xml" indent="yes"/>
>
>
> <xsl:template match="root">
>
> <root>
> <xsl:for-each select="item">
> <xsl:sort data-type="number"
select="count(preceding-sibling::item[@type=current()/@type])"/>
> <xsl:copy-of select="."/>
> </xsl:for-each>
> </root>
> </xsl:template>
>
>
> </xsl:stylesheet>
>
>
> produces
>
> $ saxon item.xml item.xsl
> <?xml version="1.0" encoding="utf-8"?>
> <root>
>   <item type="A" subType="1"/>
>   <item type="B" subType="2"/>
>   <item type="D" subType="1"/>
>   <item type="E" subType="2"/>
>   <item type="A" subType="2"/>
>   <item type="B" subType="3"/>
>   <item type="D" subType="2"/>
>   <item type="E" subType="4"/>
>   <item type="A" subType="4"/>
>   <item type="D" subType="3"/>
>   <item type="D" subType="4"/>
> </root>
>
> which appears to be what you wanted.
>
> 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
> ________________________________________________________________________
>
>


--
Cheers,
Dimitre Novatchev
---------------------------------------
Harry did not ask how Dumbledore knew; ...but Harry had long since
learned that bangs and smoke were more often the marks of ineptitude
than expertise.

Current Thread