xsl-list
[Top] [All Lists]

RE: XPath2 preceding / following axis and attributes

2006-01-10 04:41:30

So, as a next attempt, are the following two XPath 
expressions equivalent:


       someElement/@someAttribute/following::someNodeTest


  and



      someElement/@someAttribute/../following::someNodeTest
   |
      someElement/@someAttribute/../descendant::someNodeTest


Yes, I think so.

Incidentally, I was at one time under the impression that:

following::X ==>
ancestor-or-self::node()/following-sibling::node()/descendant-or-self::X

but unfortunately this breaks when starting at attributes or namespaces

But I think the corresponding equation

preceding::X ==>
ancestor-or-self::node()/preceding-sibling::node()/descendant-or-self::X

is valid.

To make the first equation true you have to have to define a new axis

following::X ==>
ancestor-or-self::node()/following-duckling::node()/descendant-or-self::X

where the ducklings of a node N are all the children of the parent of N
(even when N is an attribute or namespace).

Michael Kay
http://www.saxonica.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>
--~--