xsl-list
[Top] [All Lists]

RE: [xsl] alternative to repeatedly walking the ancestor axis in 1.0

2008-08-04 10:03:15

Out of interest, I wonder how in-scope-prefixes() works - 
does any tree walking need to take place? 

I think that it's almost certainly the case that a system that explicitly
stores all the in-scope namespaces with every element is likely to be very
inefficient.

Saxon stores the differences between the inscope namespaces of an element
and those of the parent element (in effect, it stores namespace declarations
and undeclarations) - and therefore walks the ancestor axis when necessary.

However, there are other implementation choices that could work well, for
example storing at document level all the distinct sets of in-scope
namespaces, and storing with each element node a pointer to one of these
sets. I've been thinking about using that strategy for the Saxon linked
tree, as it might work better for XQuery Update.

Michael Kay
http://www.saxonica.com/


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