Thanks for the ideas.
It seems I probably haven't made myself clear!
The project I'm working on is a record library.
The top-level method is:
'library.xml' -->
--> 'simple-search.xsl' --> [select 'items' which contain ANY
of the keywords] -->
--> 'results.xml' -->
--> 'display-results.xsl' --> [select 'items' which contain ALL of the
keywords] -->
--> HTML output
The the 'results.xml' document contains a single 'keywords' node:
<keywords>
<matches>song</matches>
<matches>medieval</matches>
</keywords>
and any number of 'item' nodes:
<item>
<id>CD106</id>
<title>Medieval English Song</title>
<publisher>Hyperion</publisher>
<date_published>1998</date_published>
<matches>song</matches>
<matches>medieval</matches>
<matches>song</matches>
<matches>song</matches>
<matches>medieval</matches>
<matches>song</matches>
</item>
<item>
<id>CD258</id>
<title>Kevin Volans Songline Quartets</title>
<publisher>Naxos</publisher>
<date_published>2003</date_published>
<matches>song</matches>
<matches>song</matches>
</item>
(Note: the 'item' nodes in 'library.xml' contain a lot more data)
So what I need is a XPath expression which says:
select 'items' where every 'keywords/matches' is present in './matches'.
so I tried:
"//item[matches = //keywords/matches]"
but this returned 'items' where any keywords matched.
I think thats it.
Thanks for your help so far and in advance for any further ideas!
Cheers,
Richard
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list