Subject: Re: [xsl] Recursion (I think)|
From: Nicholas Orr <nick@xxxxxxxxxxx>
Date: Mon, 26 Sep 2005 22:18:08 +1000
Would that be
No, that you get you an ancestor node (or the current node) that has a childnode with the element name ObjectType.
What purpose does the  serve?
What ancester-or-self::*[@id] does, is to select the superset of all ancestors and current node, which have an attribute called id. The  here, then, selects the first of these nodes in reverse document order - as that is the order of ancestor-or-self (buttom-up)). The last /@id selects the attribute id of that node.
What you would want was probably something like ancestor-or-self::*[@id][self::ObjectType]/@id
I think you can write: ancestor-or-self::ObjectType[@id]/@id But this is not tested (I haven't had to do this before, and my reference book is not nearby).
Hope this helps