XQuery:如果列表包含给定的字符串,如何尝试?

Rob*_*Rob 2 xml xquery contains

我有2个XML文件:

file1.xml

<data>doe90</data>
<data>foo</data>
<data>goo</data>
...
Run Code Online (Sandbox Code Playgroud)

file2.xml

<data2>nan</data2>
<data2>goo</data2>
<data2>test</data2>
...
Run Code Online (Sandbox Code Playgroud)

我将这些数据存储在2个变量中:

let $data := //data,
$data2 := //data2
Run Code Online (Sandbox Code Playgroud)

并开始这样做:

for $d in $data2
return 
if() (: $d is also in $data ? :)
Run Code Online (Sandbox Code Playgroud)

我该怎么办 ?谢谢

编辑:当然我试过包含,但得到一个错误:

if(contains($d,$data) = 0)
Run Code Online (Sandbox Code Playgroud)

查询执行期间发生异常:XPTY0004:无法将'xs:boolean(true)'转换为xs:integer

Chr*_*rün 8

这可能有所帮助:

//data[. = //data2] ? returns elements whose string values are contained in data2 
//data = //data2    ? returns true there are any matches, false otherwise
Run Code Online (Sandbox Code Playgroud)

fn:contains()在这里没有帮助,因为它是为匹配子串而构建的:

contains('abc', 'a') ? true
Run Code Online (Sandbox Code Playgroud)