[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Advantages of using key()?

Subject: Re: Advantages of using key()?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 23 Sep 2004 22:23:14 +0100
advantages for using a globe
> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.