xsl-list
[Top] [All Lists]

Re: [xsl] Cheaper to prepend or append an item to a sequence?

2011-02-22 08:40:57
On 22/02/2011 14:25, Andrew Welch wrote:
             <report test="@id = (//@id[not(ancestor::meta)] except @id)">
The most
inefficient part of this is the test [not(ancestor::meta)] - it would be
nice if Saxon were smart enough to remember while scanning the elements
whether it has passed more meta start-tags than end-tags - but sadly, it
isn't.
couldn't that be rewritten as:

@id = //@id except (@id, //meta//@id)

to avoid the ancestor walk?

It could. Whether it would be faster depends on the volumetrics - something Saxon doesn't have any knowledge of at the time it makes optimization decisions.


Michael Kay
Saxonica


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>