This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XPath optional node question
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: XPath optional node question
- From: "Pendakur, Ramesh" <ramesh dot pendakur at intel dot com>
- Date: Mon, 4 Dec 2000 13:10:32 -0800
- Reply-To: xsl-list at mulberrytech dot com
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@yahoo.com]
Sent: Monday, December 04, 2000 11:45 AM
To: lmonson@flipdog.com; 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