[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Count elements A up to any element B in an axis
On 11/30/2010 10:09 AM, Christian Roth wrote: > Effectively, I need to determine the level of a (possibly nested) list I > (=context node) am at. > > I thought I would do this by counting my ancestor list elements A. > However, certain elements along that axis establish a new level-counting > context (e.g. a table cell or a footnote, B), so I only want to count > until such an element first appears in the ancestor chain. > > My current solution is > > count( > ancestor-or-self::A[ . >> ancestor::node()[self::B or /][1] ] > ) On 11/30/2010 11:02 AM, David Carlisle wrote: > >> .>> ancestor::node()[zzzzz] > > the . >> doesn't appear to be doing anything here is it? > > . is always after its ancestors, so it is just checking that some > ancestors matching the predicate exist, unless i misread it... So maybe you need count( ancestor-or-self::A except ancestor-or-self::B[1]/ancestor::A ) (The [1] being there only for performance purposes.)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|