At 03:44 PM 10/29/2004, you wrote:
Wendell Piez wrote:
(//item[(_at_)active=1])[last()]
Or
/descendant::item[(_at_)active=1][last()]
I was thinking of:
/descendant-or-self::item[(_at_)active=1][last()]
This works too, though it is redundant, there being no chance that the root
node of the document is itself an 'item' element node. (/self::item, or
/self::* for that matter, must return empty node sets.)
Note that they all function differently, though give the same result in
most cases. I love these kind of subtle differences!
Yes: understanding these shows you the seams and joins in XPath, revealing
how it is put together.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================