RE: XPath optional node question

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


Current Thread