Subject: Re: [xsl] Cheaper to prepend or append an item to a sequence? From: Вячеслав Седов <schematronic@xxxxxxxxx> Date: Tue, 22 Feb 2011 22:51:40 +0300 |
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>: > wQ^ESLAW, > > 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. > > Kind regards, > Abel Braaksm > > > 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?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Cheaper to prepend or app, Abel Braaksma | Thread | Re: [xsl] Cheaper to prepend or app, Abel Braaksma |
Re: [xsl] Cheaper to prepend or app, Abel Braaksma | Date | Re: [xsl] Cheaper to prepend or app, iwanttokeepanon |
Month |