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
- Subject: Re: XPath optional node question
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Mon, 4 Dec 2000 18:44:37 GMT
- References: <GAEKJDAJMGADKOMNOAFMEEECCEAA.lmonson@whizbang.com>
- Reply-To: xsl-list at mulberrytech dot com
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
I think this means you want bars that have a foo ancestor, and all the
ancesters are either foo or ancestors of foo (in which case you don't
care what they are) or they are a or b.
That is probably something like:
bar[ancestor::foo and ancester::*[self::foo or descendent::foo or
self::a or self::b]]
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list