Subject: Re: [xsl] alternative to repeatedly walking the ancestor axis in 1.0|
From: "Colin Adams" <colinpauladams@xxxxxxxxxxxxxx>
Date: Mon, 4 Aug 2008 18:17:34 +0100
2008/8/4 Dimitre Novatchev <dnovatchev@xxxxxxxxx>: >> Yes (although you're just walking the ancestor axis once per node in a >> different place) > > It is possible to create the following key (and any other keys!): > > <xsl:key name="kRtlMode" match="*[ancestor-or-self::*[@dir='rtl']]" > use="generate-id()"/> > > just during the initial reading of the xml document -- without any > walking up the ancestor axis. > > That is, when the currently-read node satisfies: > > @dir='rtl' > > then the "key-recording-mode" for the key named 'kRtlMode' is turned > on and key-values are generated for each element while this > "key-recording-mode" is on. > > To summarise, it is perfectly possible to create the above key without > walking up the ancestor axis for the nodes. But do you know of any implementations that build such a key like that?