Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 在XQuery 1.0中是否存在一个函数来检查列表中的值是否存在于另一个列表中?_Xml_Xquery - Fatal编程技术网

Xml 在XQuery 1.0中是否存在一个函数来检查列表中的值是否存在于另一个列表中?

Xml 在XQuery 1.0中是否存在一个函数来检查列表中的值是否存在于另一个列表中?,xml,xquery,Xml,Xquery,在XQuery中有两个不同的列表 $list1: A B C D 及 是否有这样一个函数:创建$list3,其中$list2的所有元素不在$list1中?如果您的值是原子值,则可以利用=的存在语义: let $list1 := ('A', 'B', 'C', 'D') let $list2 := ('A', 'D', 'E', 'F') let $list3 := $list2[not(. = $list1)] return $list3 结果:'E',F' 如果要按节点标识比较XML节点,

在XQuery中有两个不同的列表

$list1:
A
B
C
D


是否有这样一个函数:创建$list3,其中$list2的所有元素不在$list1中?

如果您的值是原子值,则可以利用
=
的存在语义:

let $list1 := ('A', 'B', 'C', 'D')
let $list2 := ('A', 'D', 'E', 'F')
let $list3 := $list2[not(. = $list1)]
return $list3
结果:
'E',F'

如果要按节点标识比较XML节点,可以改用
except
关键字:

let $nodes := (<A/>, <B/>, <C/>, <D/>, <E/>, <F/>)
let $list1 := ($nodes[1], $nodes[2], $nodes[3], $nodes[4])
let $list2 := ($nodes[1], $nodes[4], $nodes[5], $nodes[6])
let $list3 := $list2 except $list1
return $list3
让$nodes:=(,,,)
让$list1:=($nodes[1]、$nodes[2]、$nodes[3]、$nodes[4])
让$list2:=($nodes[1]、$nodes[4]、$nodes[5]、$nodes[6])
让$list3:=$list2,但$list1除外
返回$list3
结果:

let $nodes := (<A/>, <B/>, <C/>, <D/>, <E/>, <F/>)
let $list1 := ($nodes[1], $nodes[2], $nodes[3], $nodes[4])
let $list2 := ($nodes[1], $nodes[4], $nodes[5], $nodes[6])
let $list3 := $list2 except $list1
return $list3