|
Implementations | ||||||||||||||||
Tests | BaseX 7.7 XQ30 |
EMC/xDB xDB_main_r2411365 XQ30 |
Saxon-EE 9.5.1.1 XP20 |
Saxon-EE 9.5.1.1 XQ10 |
Saxon-EE 9.5.1.1 XP30 |
Saxon-EE 9.5.1.1 XQ30 |
Saxon-EE 9.5.1.4 XQX30 (QT3 v1.1) |
XmlPrime 3.0.0.0 XP30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQ30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQX30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XP20 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQX10 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQ10 (QT3 vCVS) |
Zorba 2.9 XQ10 (QT3 vCVS) |
Zorba 2.9 XQ30 (QT3 vCVS) |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
op-union | 82/82 | 79/82 | 28/28 | 82/82 | 28/28 | 82/82 | 82/82 | 28/28 | 82/82 | 82/82 | 28/28 | 82/82 | 82/82 | 82/82 | 82/82 | 3/15 |
fn-union-node-args-001[+]
X fn-union-node-args-001: /bib/book[3]/title union /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-002[+]
X fn-union-node-args-002: (/bib/book/title | /bib/book)/local-name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-003[+]
X fn-union-node-args-003: /bib/book[3]/title | root(fn:exactly-one(/bib/book[3]/title)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-004[+]
X fn-union-node-args-004: /bib/book[3]/title/text() union /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-005[+]
X fn-union-node-args-005: /processing-instruction() union /bib/book[2]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-006[+]
X fn-union-node-args-006: /processing-instruction(PI1) union /bib/book[3]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-007[+]
X fn-union-node-args-007: /comment() union /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-008[+]
X fn-union-node-args-008: /bib/book[3]/title/text() | /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-009[+]
X fn-union-node-args-009: /processing-instruction() | /bib/book[2]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-010[+]
X fn-union-node-args-010: /processing-instruction(PI1) | /bib/book[3]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-011[+]
X fn-union-node-args-011: /comment() | /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-012[+]
X fn-union-node-args-012: //author union //nonexisting |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-013[+]
X fn-union-node-args-013: //author | () |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-014[+]
X fn-union-node-args-014: () | () |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-015[+]
X fn-union-node-args-015: (/atomic:root/atomic:integer) union (/atomic:root/atomic:integer) |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-016[+]
X fn-union-node-args-016: (/atomic:root/atomic:integer) union (/atomic:root/atomic:integer) |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-017[+]
X fn-union-node-args-017: (/atomic:root/atomic:integer) | (/atomic:root/atomic:string) |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-018[+]
X fn-union-node-args-018: (/atomic:root/atomic:duration/text()) | (/atomic:root/atomic:duration/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-019[+]
X fn-union-node-args-019: (/atomic:root/atomic:date/text()) | (/atomic:root/atomic:date/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-020[+]
X fn-union-node-args-020: (/atomic:root/atomic:base64Binary/text()) | (/atomic:root/atomic:base64Binary/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-021[+]
X fn-union-node-args-021: (/atomic:root/atomic:QName/text()) | (/atomic:root/atomic:QName/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-022[+]
X fn-union-node-args-022: (/atomic:root/atomic:idrefs/text()) | (/atomic:root/atomic:idrefs/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-union-node-args-023[+]
X fn-union-node-args-023: string-join(for $node in ((//price/text()) , (//price/text())) union ((//price/text()) , (//price/text())) return $node, "|") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqUnion-1[+]
X K2-SeqUnion-1: <r> { let $i := <e> <a/> <b/> </e> return ($i/b, $i/a, $i/b, $i/a) | () } </r> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-2[+]
X K2-SeqUnion-2: <r> { let $i := <e> <a/> <b/> </e> return () | ($i/b, $i/a, $i/b, $i/a) } </r> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-3[+]
X K2-SeqUnion-3: empty(<e/>/(author union comment)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-4[+]
X K2-SeqUnion-4: let $i := <e> <a/> <b/> <c/> </e>/a , $t := $i/following-sibling::b return (($i union ($i, $i)), (($t, $t) union $t)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-5[+]
X K2-SeqUnion-5: (1, 2, 3) union (1, 2, 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqUnion-6[+]
X K2-SeqUnion-6: empty(<e/>/(author union text)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-7[+]
X K2-SeqUnion-7: empty(<e/>/(author union node)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-8[+]
X K2-SeqUnion-8: empty(<e/>/(author union element)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-9[+]
X K2-SeqUnion-9: empty(<e/>/(author union attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-10[+]
X K2-SeqUnion-10: empty(<e/>/(author union document-node)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-11[+]
X K2-SeqUnion-11: empty(<e/>/(author union comment)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-12[+]
X K2-SeqUnion-12: empty(<e/>/(author union processing-instruction)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-13[+]
X K2-SeqUnion-13: empty(<e/>/(author union item)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-14[+]
X K2-SeqUnion-14: empty(<e/>/(author union document)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-15[+]
X K2-SeqUnion-15: empty(<e/>/(author union if)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-16[+]
X K2-SeqUnion-16: empty(<e/>/(author union then)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-17[+]
X K2-SeqUnion-17: empty(<e/>/(author union mod)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-18[+]
X K2-SeqUnion-18: empty(<e/>/(author union div)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-19[+]
X K2-SeqUnion-19: empty(<e/>/(author union empty-sequence)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-20[+]
X K2-SeqUnion-20: empty(<e/>/(author union schema-attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-21[+]
X K2-SeqUnion-21: empty(<e/>/(author union schema-element)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-22[+]
X K2-SeqUnion-22: empty(<e/>/(a union attribute {"name"} {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-23[+]
X K2-SeqUnion-23: empty(<e/>/(a union attribute name {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-24[+]
X K2-SeqUnion-24: empty(<e/>/(a union element {"name"} {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-25[+]
X K2-SeqUnion-25: empty(<e/>/(a union element name {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-26[+]
X K2-SeqUnion-26: empty(<e/>/(a union processing-instruction {"name"} {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-27[+]
X K2-SeqUnion-27: empty(<e/>/(a union processing-instruction name {})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-28[+]
X K2-SeqUnion-28: empty(<e/>/(a union comment {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-29[+]
X K2-SeqUnion-29: empty(<e/>/(a union text {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-30[+]
X K2-SeqUnion-30: empty(<e/>/(a union descendant)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-31[+]
X K2-SeqUnion-31: empty(<e/>/(a union attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-32[+]
X K2-SeqUnion-32: empty(<e/>/(a union self)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-33[+]
X K2-SeqUnion-33: empty(<e/>/(a union descendant-or-self)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-34[+]
X K2-SeqUnion-34: empty(<e/>/(a union following-sibling)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-35[+]
X K2-SeqUnion-35: empty(<e/>/(a union following)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-36[+]
X K2-SeqUnion-36: empty(<e/>/(a union preceding-sibling)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-37[+]
X K2-SeqUnion-37: empty(<e/>/(a union preceding)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-38[+]
X K2-SeqUnion-38: empty(<e/>/(a union parent)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-39[+]
X K2-SeqUnion-39: empty(<e/>/(a union ancestor)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-40[+]
X K2-SeqUnion-40: empty(<e/>/(a union ancestor)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-41[+]
X K2-SeqUnion-41: empty(<e/>/(a union ancestor-or-self)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-42[+]
X K2-SeqUnion-42: empty(<e/>/(a union declare)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-43[+]
X K2-SeqUnion-43: boolean(//employee[location = "Denver"] union //employee[last()]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqUnion-44[+]
X K2-SeqUnion-44: boolean(//employee[location = "Denver"] | //employee[last()]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqUnion-45[+]
X K2-SeqUnion-45: <r> { //(employee[location = "Denver"] union //employee[last()])/./location } </r> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqUnion-46[+]
X K2-SeqUnion-46: 1|2|3 |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqUnion-47[+]
X K2-SeqUnion-47: 1 union 2 union 3 |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
combiningnodeseqhc1[+]
X combiningnodeseqhc1: for $h in ( (<hours>0</hours>,<hours>1</hours>) | //hours) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc2[+]
X combiningnodeseqhc2: for $h in ( (<hours>0</hours>,<hours>1</hours>) union (//hours)) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc3[+]
X combiningnodeseqhc3: for $h in ( (<hours>0</hours>,<hours>40</hours>) | (//hours)) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc4[+]
X combiningnodeseqhc4: for $h in ( (<hours>0</hours>,<hours>40</hours>) union (//hours)) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc5[+]
X combiningnodeseqhc5: for $h in ( () | (//hours)) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc6[+]
X combiningnodeseqhc6: for $h in ( () union (//hours)) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc7[+]
X combiningnodeseqhc7: for $h in ( (//hours[xs:integer(.) le 20]) | (//hours[xs:integer(.) gt 20])) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc8[+]
X combiningnodeseqhc8: for $h in ( (//hours[xs:integer(.) le 20]) union (//hours[xs:integer(.) gt 20])) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc9[+]
X combiningnodeseqhc9: for $h in ( ($works//hours) | ($staff//grade[xs:integer(.) gt 12])) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqhc10[+]
X combiningnodeseqhc10: for $h in ( ($works//hours) union ($staff//grade[xs:integer(.) gt 12])) order by number($h) return $h |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-fn-union-001[+]
X cbcl-fn-union-001: declare variable $x := <b/>; declare variable $y := <a/>; ($x union $y) union $x, ($x intersect $y) union $x, ($x except $y) union $x, ($y except $x) union $x, $x union ($x union $y), $x union ($x intersect $y), $x union ($x except $y), $x union ($y except $x) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-fn-union-002[+]
X cbcl-fn-union-002: declare variable $doc := <root><test><x/><y/></test></root>; $doc/test[x] union $doc/test[y] |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |