Hi Gary,

The comparison fails because you're comparing text nodes to strings. Try 
replacing /text() with /fn:string().

On a more general note, you rarely want to use the text() selector; fn:string() 
is almost always a better choice: 
https://developer.marklogic.com/blog/text-is-a-code-smell.

Thanks.

-jb

From: 
<[email protected]<mailto:[email protected]>>
 on behalf of Gary Larsen 
<[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion 
<[email protected]<mailto:[email protected]>>
Date: Monday, February 22, 2016 at 4:21 PM
To: 'MarkLogic Developer Discussion' 
<[email protected]<mailto:[email protected]>>
Subject: Re: [MarkLogic Dev General] comparing sequences

My simple test works so it’s probably something else I’m not seeing:

declare default element namespace 
"http://developer.envisn.com/xmlns/envisn/netvisn/";;
let$seq1 := ('a', 'b','c')
let$doc :=<doc><n>a</n><n>c</n></doc>
let$seq2 :=$doc/n
returndistinct-values($seq1[.=$seq2])

Gary

From: 
[email protected]<mailto:[email protected]>
 [mailto:[email protected]] On Behalf Of Gary Larsen
Sent: Monday, February 22, 2016 4:13 PM
To: 'General MarkLogic Developer Discussion'
Subject: [MarkLogic Dev General] comparing sequences

Hi,

Probably not ML specific but hoping someone can help.  I’m having an issue 
comparing sequence of strings:

let $seq1 = (‘a’,’b’,’c’)

with the results of a query

let $seq2 := cts:search(doc(), $cqf, "unfiltered")/doc/value/text()

but this finds no results when it should:

                let $intersection := distinct-values(seq1 [.=$seq2])

The intersection between two manual sequences works.  What am I missing?

Thanks,
Gary

_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to