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

Re: ancestor::* and for-each

Subject: Re: ancestor::* and for-each
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Wed, 28 Jul 2010 18:36:26 +0200
Re:  ancestor::* and for-each
Wolfgang Laun wrote:
I use ancestor-or-self::* to obtain the node sequence from some node
to the document root.
The outermost/top element of the document isn't interesting, so I add
a predicate, and I find that this works:
   [position() != last()]
Apparently, the sequence goes from leaf to root, which is the closing
tag order, as it should be.

Then, I iterate over the sequence, and now the nodes are processed
from root to leaf, which is strange.

It has nothing to do with iteration/for-each I think, XPath 2.0 when defining a step in a path expression that returns a sequence of nodes says the following:
"If every evaluation of E2 returns a (possibly empty) sequence of nodes, these sequences are combined, and duplicate nodes are eliminated based on node identity. The resulting node sequence is returned in document order."


Thus if you have
E1/ancestor::*
ancestor::* returns a sequence of nodes but for the result of the expression duplicates are eliminated and nodes are ordered in document order.







--


	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

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.