Subject: RE: XPath optional node question
From: "Pendakur, Ramesh" <ramesh.pendakur@xxxxxxxxx>
Date: Mon, 4 Dec 2000 13:10:32 -0800
|
You have to change the syntax a bit to try this
/foo[descendent::*[name()='a' or name()='b']]/bar
But, this does not work to exclude the foo/a/b/a/x/a/bar type of elements.
-Ramesh Pendakur
-----Original Message-----
From: Dimitre Novatchev [mailto:dnovatchev@xxxxxxxxx]
Sent: Monday, December 04, 2000 11:45 AM
To: lmonson@xxxxxxxxxxx; XSL-LIST
Subject: Re: XPath optional node question
Hi Lynn,
Use the following:
/foo/descendant::*[name() = 'a' or name() = 'b']/bar
Cheers,
Dimitre.
Lynn Monson wrote:
Hello all,
I'm trying to write an XPath expression that matches optional elements
in an
element path. For example, suppose I have the following XPath
expression:
foo//bar
But I want to allow any number (even zero) of "a" and "b" elements to
exist
where the "//" is. So my general expression would match the same nodes
as,
say, these xpaths:
foo/a/bar
foo/a/a/a/a/bar
foo/a/b/bar
foo/b/bar
foo/bar
But would not match nodes matched by:
foo/x/bar
I've been unable to construct a proper xpath. Any help would be
greatly
appreciated.
Thanks
__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|