|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath: selecting matching nodes in two node-sets
I think what you are looking for is the set of items $i such that every
$k in //keyword/matches equals some $i/matches
In XPath 2.0 that's
//item[every $k in //keyword/matches satisfies
some $i in ./matches satisfies
$k eq $i]
or more simply
//item[every $k in //keyword/matches satisfies $x = ./matches]
There's no universal quantifier ("every") in XPath 1.0, but you can use
the equivalence:
every $a in A satisfies X
==>
not(some $a in A satisfies not(X))
So this becomes
//item[not(//keyword/matches != ./matches)]
Michael Kay
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Richard Lewis
> Sent: 20 October 2003 11:33
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: XPath: selecting matching nodes in two node-sets
>
>
> I have the following document:
>
> <results>
> <keywords>
> <matches>...</matches>
> ...
> </keywords>
> <item>
> ...various elements...
> <matches>...</matches>
> <matches>...</matches>
> ...
> </item>
> <item>....</item>
> ...
> </results>
>
> (where <matches> elements contain the keywords themselves, CDATA).
>
> and what I need is an XPath expression which selects all the
> <item>s which
> have the same set of <matches /> elements as in the <keywords> node.
> (Note: there may be repetition of <matches />s in <item>s but not in
> <keywords>)
>
> I've tried:
> "//item[matches = //keywords/matches]"
> but this selects <item>s where not all the
> '//keywords/matches' elements are
> present.
>
> Cheers,
> Richard
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








