RE: [xsl] XSLT sort

Subject: RE: [xsl] XSLT sort
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 20 May 2004 22:37:10 +0100
> Im trying to sort a large XML document. I used this XSLT 
> before but it 
> takes a very long time to sort a big document, with big I 
> mean around 16 000 lines.

16K lines doesn't sound very big to me. It shouldn't be a problem. But what
do you mean by "a very long time": 10 seconds? 10 hours? What is the
performance requirement?
> 
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> <xsl:output method="xml" indent="yes"/>
> <xsl:strip-space elements="*"/>
> 
> <xsl:template match="Katalog">
> <xsl:copy>
> <xsl:apply-templates select="Person">
> <xsl:sort select="@enamn"/>
> </xsl:apply-templates>
> </xsl:copy>
> </xsl:template>
> 
> <xsl:template match="Person">
> <xsl:copy-of select="."/>
> </xsl:template>
> </xsl:stylesheet>
> 
> I heard that it possible to get better performance if I put 
> the nodes in a key and sorted on the key. 

Keys improve the performance of finding a node within a large document based
on the value of some attribute (or other property). You aren't doing that
here, so they won't help.

Michael Kay

Current Thread