Re: [xsl] XSL2 attribute and schema-attribute tests

Subject: Re: [xsl] XSL2 attribute and schema-attribute tests
From: Soren Kuula <dongfang@xxxxxxxxxxx>
Date: Mon, 14 Nov 2005 09:12:38 +0100
Hi Michael, I pretty much sensed you would be the one to answer, with the first working XPath2 parser that I know of. I'm trying to make a 2nd place.

Michael Kay wrote:

If I do a <xsl:whatever select="attribute(foo)"/>, does the select the not default to the child axis



No, this is special-cased: if the node test has the form attribute(xxx) or
schema-attribute(xxx) then the axis defaults to the the attribute axis.


OK, how am I going to determine my axes after throwing my home made parser at the XPath then?
There are the cases "", "@", ".." and explicit for the axes, and there are kind and name tests for the node tests.


Explicit axes pretty much settle the axis.

... fixes the axis as parent, I presume.

@ as attribute

"" -- is that child for any of {NameTest, ElementTest, SchemaElementTest, PITest, CommentTest, TextTest, AnyKindTest} in XPath2?
And attribute for attributeTest and SchemaAttributeTest?


How 'bout the step document-node(gedefims) --child axis?

self::node() selects the context node regardless what kind it is, the
principal node kind doesn't come into it. So the above expression is fine.


Pheeew, OK.

But self::*/@foo will never select anything.


Evaluating with the context node=e, some element with an attribute foo, I really think that it will evaluate to the singleton list of just the attribute??

Did you not mean @foo/self::* as to no-go?

Soren

Current Thread