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

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?

Current Thread