[xquery-talk] Union and Intersect Operators

Wei, Alice J. ajwei at indiana.edu
Fri Mar 14 21:19:37 PST 2008


  I have a strange output here from the web application using xquery. I intend to use the union operator here to combine all the results of the possible tags I intend to run search against, but it turned out that the $count variable below, which the similar XPath has been used to call the function as well for the query, does not exclude duplicates. What it appears to do is giving me all the tags that contain the the phrase $search to my query

let $search := upper-case(request:get-parameter("search", ""))
let $count := count(collection("xmldb:exist://db/cbml")//ad/((head union p) union (note union //address))[contains(upper-case(.),$search)])

When I used

let $count := count(collection("xmldb:exist://db/cbml")//ad/((head union p) intercept (note union //address))[contains(upper-case(.),$search)])

it gives me no output.

However, the first line I had, it gives me back as many times the phrase $search has been used in the four parameters.
If anyone needs to see more of my query, I would love to provide it, but the query itself is very long.

Can anyone please give me tips on what might have gone wrong here?

Thanks to those who can help.

Alice Wei
MIS 2008
School of Library and Information Science
Indiana University Bloomington
ajwei at indiana.edu

More information about the talk mailing list