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::*[(_at_)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.
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
On Mon, Aug 4, 2008 at 7:53 AM, Andrew Welch
<andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
Then simply use keys as shown in my first reply to this thread.
Yes (although you're just walking the ancestor axis once per node in a
different place)
Out of interest, I wonder how in-scope-prefixes() works - does any
tree walking need to take place? If not, you could perhaps do:
<foo xmlns:lang_cornish="...">
and then test for that:
test="in-scope-prefixes(.) = 'lang_cornish'"
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--