Subject: Re: [xsl] efficiency with id() From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 3 Jul 2003 11:08:38 +0100 |
> <xsl:copy-of select="id($id)"/> well id() will only work if the attribute is of type ID which it wasn't in your sample document. If it is then this is probably quickest It depends a bit on your processor, if it indexes all IDs on input then id() is going to be easily faster than anything else, if (as is possibly more likely) it only indexes IDs if you actually use id() then the first time you use it you have to pay the prices of indexing the document, but if you use it often enough that usually is a price worth paying. > Is key() quicker? key() would _work_ on your input document, as it doesn't require a DOCTYPE, other than that it is presumably identical in speed to id() as the main point of key is that it gives the ID functionality to documents without requiring IDs specified in a DTD. Both of these will make some kind of index/hash table of the document so that finding an element by id will be quick, but it has to walk the entire tree to index it and costs space to store the index. If you are only looking up one element you might be better off with //*[@id='foo'] as with any speed question this is _highly_ dependent on which processor you use (some versions of msxsl had an acknowledged bug that using keys was almost always slow for example) the real answer is just to try it and time it. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. 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 ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] efficiency with id(), Jeni Tennison | Thread | RE: [xsl] efficiency with id(), Michael Kay |
Re: [xsl] efficiency with id(), Jeni Tennison | Date | RE: [xsl] Moving an attribute from , Michael Kay |
Month |