[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: the nearest ancestor with the attribute

Subject: RE: the nearest ancestor with the attribute
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Wed, 17 Jan 2001 09:19:36 -0000
ancestor to a attribute
> You're absolutely right that the ancestor axis is a reverse axis.  If
> you were using:
>
>   ancestor::*[1]/@attr
>
> you'd be fine (aside from the fact that you'd be stuffed if the node's
> parent didn't have a 'attr' attribute). However, the last axis used in
> the XPath is the 'attribute' axis, which takes you back to document
> order again. To get the last one, use:
>
>   ancestor::*/@attr[last()]
>
> At least I *think* that's right ;)

No, I don't think it is. This expression will return a set consisting of the
last @attr attribute of each ancestor element. An element can only have one
@attr attribute so saying you want its last one is pointless.

An axis returns a list of nodes, which is always in either forwards or
reverse document order. This affects the meaning of position() and last()
when applied to a predicate used in a Step based on that axis. The final
result of a path expression, however, is always a set of nodes, with no
intrinsic order. Many operations on a node-set access the nodes in document
order. This includes a filter expression, so:

(ancestor::*/@attr)[last()] will select the last in document order (i.e. the
innermost available attribute).

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.