xPathでは、sequence1 = sequence2の場合、sequence1に少なくとも1つの要素があり、これもsequence2にある場合はtrueを返します。sequence1のすべての要素がsequence2に存在するかどうかをテストできるものが必要です(sequence1の値のセットはsequence2の値のセットのサブセットです)。
これは実行可能ですか?
xPathでは、sequence1 = sequence2の場合、sequence1に少なくとも1つの要素があり、これもsequence2にある場合はtrueを返します。sequence1のすべての要素がsequence2に存在するかどうかをテストできるものが必要です(sequence1の値のセットはsequence2の値のセットのサブセットです)。
これは実行可能ですか?
これはXPath1.0で機能するはずです。
not($sequence1[not(. = $sequence2)])
二重否定の法則を使用します。
not($seq1[not(. = $seq2)])
あるいは、はるかに効率的に-ノードのシーケンスとノードIDベースの等式セマンティクスの場合:(O(N)vs O(N ^ 2)):
count($seq1 | $seq2) = count($seq2)
II。XPath 2.0
一連のノードの場合(ノードIDベースの同等性セマンティクス):
not($seq1 except $seq2)
値のシーケンスの効率的な式:
count(distinct-values(($seq1, $seq2))) eq count(distinct-values($seq2))
everyを使用して、すべての要素がシーケンス2にあるかどうかを確認できます。
every $x in $sequence1 satisfies $x = $sequence2