[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: alternative to repeatedly walking the ancestor axi
> >> Out of interest, does xml:lang annotate the input tree, or does the > >> lang() function walk the ancestor axis behind the scenes? Or > >> is it all implementation dependent? > > > > It's implementation-dependent, of course. > > > > Saxon walks the ancestor axis when you use the lang() function. I think it's > > used too rarely to be worth optimizing. > > So (for Saxon anyway) doing: > > test="lang('foo', .)" > > is pretty much the same as: > > test="ancestor-or-self::*/@xml:lang = 'foo'" > > except that the lang() function should return true if the lang tested > is a subset of that declared in the attribute. No. See: http://www.w3.org/TR/xpath-functions/#func-lang fn:lang($testlang as xs:string?, $node as node()) as xs:boolean "This function tests whether the language of $node, or the context item if the second argument is omitted, as specified by xml:lang attributes is the same as, or is a sublanguage of, the language specified by $testlang." Please notice "sublanguage" word. P.S. You seems to be obsessed with an optimization of ancestor walks. Are you sure you have a problem in the first place? -- Vladimir Nesterovsky http://www.nesterovsky-bros.com/
|
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
|