[XSL-LIST Mailing List Archive Home]
[Reply To This Message]
Re: Cheaper to prepend or append an item to a sequence
Subject: Re: Cheaper to prepend or append an item to a sequence?|
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Tue, 22 Feb 2011 21:02:14 +0100
Hmm, maybe I misunderstand or we're mixing apples and pears. The way I
see it, you say "select all @id from whole doc which is not belong to
meta node" and that means check for each @id whether it belongs to a
meta-node. You cannot do that check only once. I don't see a difference
between your and my analysis.
On 22-2-2011 20:51, wQ^ESLAW sEDOW wrote:
nope... select all @id from whole doc which is not belong to meta node
- result ia same for every node
2011/2/22 Abel Braaksma<abel.online@xxxxxxxxx>:
Actually, it _is_ dependent on the current node. //@id gets all @id nodes in
the document. The next "[..]" means "filter these nodes by the following
expression". That expression is a node-test: "not(ancestor::meta)", which is
applied to the _current_ node (the current @id-node).
That doesn't mean that a processor cannot optimize that, but in this case
that might proof futile: no single element can contain multiple attributes
with the same name. Hence the processor will have to test the predicate for
each and every found id-attribute.
In short: no, it cannot be calculated only once.
On 22-2-2011 20:26, wQ^ESLAW sEDOW wrote:
@id = //@id except (@id, //meta//@id) - yep... good idea
but i think that even //@id[not(ancestor::meta)] should be calculated
only once since it not depend from current node - is not it? is
optimizer capable to recognize context dependant from context
independant XPath fragments inside predicate and calculate independant
fragments only once instead calculating it every time for each node?
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format