Re: [xsl] Advantages of using key()?

Subject: Re: [xsl] Advantages of using key()?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 23 Sep 2004 22:23:14 +0100
> What are the advantages of using xsl:key and key()?

key() is _always_ equivalent to an Xpath that doesn't use it , as you
have shown, but typically an xpath to find the nodes matching the key
are of the form
//*[@foo='value']
and // is very expensive causing a search of the entire document.

an implementtation may implment key() just by rewriuting it to the
equivalent xpath but in practice it is a hint that the stylesheet author
would rather the system save (a lot) of time at the cost of some
(perhaps non-negligable) amount of memory space, and build some kind of
index or hash table doing a one-off pass over the whole document and
then hashing the locations of the nodes that match the key values.


this can make orders of magnitute speed improvements for some kinds of
problem.

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
________________________________________________________________________

Current Thread