xsl-list
[Top] [All Lists]

Re: [xsl] Sorting using helper structure, position(), xsl:key

2008-04-16 04:08:15
Abel Braaksma schrieb:
Michael Ludwig wrote:
You must use a variable in this case, which, of course, is
unfortunate if the node-set to search is large.

I'd be surprised if you could find a single XSLT processor that
actually makes a deep copy of the full tree. A simple test with
several variables pointing to the root node of several large documents
shows no increase in internal memory usage compared to using only one
variable per document. In other words: use as many variables as you
like.

I don't think we disagree. As far as I've understood, a variable in XSLT
1.0 is just a pointer as long as you use @select instead of element
content. The former method never involves copying, the latter may well
do so. So I tend to use the former approach wherever I can, and I do not
think memory consumption is a concern here. It's just a named @select.

What I was referring to is the case of a large node-set, say, 300
nodes, which you have to repeatedly search, say, at each of 300
iterations. I've seen a significant speed-up using key('bla', @id)
versus $bla[(_at_)id = current()/@id], which is, I think, one of the reasons
why keys exist.

And also the reason I wrote "unfortunate" in the above quote.

Best regards,

Michael

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--