Subject: Re: XPath optional node question From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Mon, 4 Dec 2000 21:59:21 -0800 (PST) |
David, not(self::a) or not(self::b) is wrong -- it is equivalent to self::* Should be 'and'. The expression that really works is: //bar[ancestor::*[not(self::a) and not(self::b)][1][self::foo]] Cheers, Dimitre. David Carlisle wrote: me> bar[ancestor::foo and ancester::*[self::foo or descendent::foo or me> self::a or self::b]] as previously mentioned that fails if there are extra foo in the tree, but I think bar[ancestor::*[not(self::a) or not(self::b)][1][self::foo]] meets the spec: the first ancestor that isn't a or b is foo. or, going the other way: foo[descendent::*[not(self::a) or not(self::b)][1][self::bar]] foo such that the first descendent that isn't a or b is bar. David __________________________________________________ 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: XPath optional node question, Pendakur, Ramesh | Thread | Re: XPath optional node question, David Carlisle |
Doubt, Krithiga Subramanian | Date | Re: removing duplicate children, Ian Davis |
Month |