Re: [xsl] // expanding to descendant-or-self::node()

Subject: Re: [xsl] // expanding to descendant-or-self::node()
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 17 Sep 2008 11:08:49 +0100
2008/9/17 David Carlisle <davidc@xxxxxxxxx>:
>
>> its just a quirk of the way // currently works that you can do //@* at
>> all....isn't it?
>
>
> Not really, one may argue whether the current design is good or bad, but
> //@* working isn't a "quirk" or that design. It was almost certianly a
> major input to the current design that that should work.


Really - even though it implies attributes are descendants and that
the attribute axis is available from node()s?

It looks like:

/foo/bar

expands to

/child:foo/child:bar

so // had to expand to

descendant-of-self::node()

so //@* works as a side-effect of that - a happy accident if you like.

I wonder how we should approach //@* - is it less effective than
//*/@* because it gets non-element nodes, or does it come under the
category of those things to leave to the processor.

It remind me of the identity template - calling apply-templates when
matching an attribute - no big deal, but not exactly good either.


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread