Re: [xsl] finding elements lowest in hierarchy?

Subject: Re: [xsl] finding elements lowest in hierarchy?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 27 Jan 2004 17:34:51 -0500
At 10:38 AM 1/27/2004, Ken wrote:
Just skip the predicate that qualifies the node as being at the bottom, and you end up with:

test=".//*[@minimum]"

as the boolean test of any elements with the attribute. Alternatively since all you are doing is testing you could just have:

test=".//*/@minimum"

to address the attributes, but the way you worded it you wanted to address the elements that have the attribute.

Also, the latter amounts to .//@minimum, if you also want it to test true if a node itself has an attribute called "minimum".


Remember (as was recently noticed) // is short for /descendant-or-self::node()/, so .//@minimum expands to

self::node()/descendant-or-self::node()/attribute::minimum

which tests true if the context node or any of its descendants has a "minimum" attribute.

To restrict it to leaf nodes (defined as elements with no element children), insert the same predicate to filter for that

./descendant-or-self::*[not(*)]/@minumum

You'll learn all this and more if you take Ken's XSLT/XPath course or Mulberry's. :->

Cheers,
Wendell


___&&__&_&___&_&__&&&__&_&__&__&&____&&_&___&__&_&&_____&__&__&&_____&_&&_
"Thus I make my own use of the telegraph, without consulting
the directors, like the sparrows, which I perceive use it
extensively for a perch." -- Thoreau



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



Current Thread