|
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-intersect | 71/71 | 69/71 | 28/28 | 71/71 | 28/28 | 71/71 | 71/71 | 28/28 | 71/71 | 71/71 | 28/28 | 71/71 | 71/71 | 71/71 | 71/71 | 3/15 |
fn-intersect-node-args-001[+]
X fn-intersect-node-args-001: (/bib/book[1]/title intersect /bib/book[1]/title)/string() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-002[+]
X fn-intersect-node-args-002: /bib/book/title intersect /bib/book[1]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-003[+]
X fn-intersect-node-args-003: /bib/book[3]/title intersect root(exactly-one(/bib/book[3]/title)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-004[+]
X fn-intersect-node-args-004: /bib/book[3]/title/text() intersect /bib/book/title/text() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-005[+]
X fn-intersect-node-args-005: (/processing-instruction() intersect /processing-instruction())/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-006[+]
X fn-intersect-node-args-006: (/processing-instruction(PI1) intersect /processing-instruction())/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-007[+]
X fn-intersect-node-args-007: string-join((/comment() intersect /comment()), "|") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-008[+]
X fn-intersect-node-args-008: /bib/book[3]/title/text() intersect /bib/book/title/text() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-009[+]
X fn-intersect-node-args-009: /processing-instruction() intersect /bib/book[2]/title |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-010[+]
X fn-intersect-node-args-010: /processing-instruction(PI1) intersect /bib/book |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-011[+]
X fn-intersect-node-args-011: (/bib/book intersect /bib/book)/string(@year) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-012[+]
X fn-intersect-node-args-012: //author intersect //nonexisting |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-013[+]
X fn-intersect-node-args-013: //author intersect () |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-014[+]
X fn-intersect-node-args-014: () intersect () |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-015[+]
X fn-intersect-node-args-015: (/atomic:root/atomic:integer) intersect (/atomic:root/atomic:integer) |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-016[+]
X fn-intersect-node-args-016: (/atomic:root/atomic:integer) intersect (/atomic:root/atomic:integer) |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-017[+]
X fn-intersect-node-args-017: (/atomic:root/atomic:integer) intersect (/atomic:root/atomic:string) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-018[+]
X fn-intersect-node-args-018: (/atomic:root/atomic:duration/text()) intersect (/atomic:root/atomic:duration/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-019[+]
X fn-intersect-node-args-019: (/atomic:root/atomic:date/text()) intersect (/atomic:root/atomic:date/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-020[+]
X fn-intersect-node-args-020: (/atomic:root/atomic:base64Binary/text()) intersect (/atomic:root/atomic:base64Binary/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-021[+]
X fn-intersect-node-args-021: (/atomic:root/atomic:QName/text()) intersect (/atomic:root/atomic:QName/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-022[+]
X fn-intersect-node-args-022: (/atomic:root/atomic:idrefs/text()) intersect (/atomic:root/atomic:idrefs/text()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-intersect-node-args-023[+]
X fn-intersect-node-args-023: for $node in ((//price/text()) , (//price/text())) intersect ((//price/text()) , (//price/text())) return <a> {$node} </a> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-1[+]
X K2-SeqIntersect-1: (1, 2, 3) intersect (1, 2, 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIntersect-2[+]
X K2-SeqIntersect-2: empty(<e/>/(author intersect text)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-3[+]
X K2-SeqIntersect-3: empty(<e/>/(author intersect node)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-4[+]
X K2-SeqIntersect-4: empty(<e/>/(author intersect element)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-5[+]
X K2-SeqIntersect-5: empty(<e/>/(author intersect attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-6[+]
X K2-SeqIntersect-6: empty(<e/>/(author intersect document-node)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-7[+]
X K2-SeqIntersect-7: empty(<e/>/(author intersect comment)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-8[+]
X K2-SeqIntersect-8: empty(<e/>/(author intersect processing-instruction)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-9[+]
X K2-SeqIntersect-9: empty(<e/>/(author intersect item)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-10[+]
X K2-SeqIntersect-10: empty(<e/>/(author intersect document)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-11[+]
X K2-SeqIntersect-11: empty(<e/>/(author intersect if)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-12[+]
X K2-SeqIntersect-12: empty(<e/>/(author intersect then)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-13[+]
X K2-SeqIntersect-13: empty(<e/>/(author intersect mod)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-14[+]
X K2-SeqIntersect-14: empty(<e/>/(author intersect div)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-15[+]
X K2-SeqIntersect-15: empty(<e/>/(author intersect empty-sequence)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-16[+]
X K2-SeqIntersect-16: empty(<e/>/(author intersect schema-attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-17[+]
X K2-SeqIntersect-17: empty(<e/>/(author intersect schema-element)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-18[+]
X K2-SeqIntersect-18: empty(<e/>/(a intersect attribute {"name"} {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-19[+]
X K2-SeqIntersect-19: empty(<e/>/(a intersect attribute name {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-20[+]
X K2-SeqIntersect-20: empty(<e/>/(a intersect element {"name"} {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-21[+]
X K2-SeqIntersect-21: empty(<e/>/(a intersect element name {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-22[+]
X K2-SeqIntersect-22: empty(<e/>/(a intersect 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-SeqIntersect-23[+]
X K2-SeqIntersect-23: empty(<e/>/(a intersect 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-SeqIntersect-24[+]
X K2-SeqIntersect-24: empty(<e/>/(a intersect comment {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-25[+]
X K2-SeqIntersect-25: empty(<e/>/(a intersect text {()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-26[+]
X K2-SeqIntersect-26: empty(<e/>/(a intersect descendant)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-27[+]
X K2-SeqIntersect-27: empty(<e/>/(a intersect attribute)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-28[+]
X K2-SeqIntersect-28: empty(<e/>/(a intersect self)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-29[+]
X K2-SeqIntersect-29: empty(<e/>/(a intersect 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-SeqIntersect-30[+]
X K2-SeqIntersect-30: empty(<e/>/(a intersect following-sibling)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-31[+]
X K2-SeqIntersect-31: empty(<e/>/(a intersect following)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-32[+]
X K2-SeqIntersect-32: empty(<e/>/(a intersect preceding-sibling)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-33[+]
X K2-SeqIntersect-33: empty(<e/>/(a intersect preceding)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-34[+]
X K2-SeqIntersect-34: empty(<e/>/(a intersect parent)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-35[+]
X K2-SeqIntersect-35: empty(<e/>/(a intersect ancestor)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-36[+]
X K2-SeqIntersect-36: empty(<e/>/(a intersect ancestor)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-37[+]
X K2-SeqIntersect-37: empty(<e/>/(a intersect 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-SeqIntersect-38[+]
X K2-SeqIntersect-38: empty(<e/>/(a intersect declare)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-39[+]
X K2-SeqIntersect-39: boolean(//employee[location = "Denver"] intersect //employee[last()]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIntersect-40[+]
X K2-SeqIntersect-40: //(employee[location = "Denver"] intersect //employee[last()])/./location |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIntersect-41[+]
X K2-SeqIntersect-41: <r> { let $i := <e> <a/> <b/> <c/> </e>/a , $t := $i/following-sibling::b return (($i intersect ($i, $i)), (($t, $t) intersect $t)) } </r> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-42[+]
X K2-SeqIntersect-42: declare function local:function ($c as node()) { $c intersect $c }; empty(local:function(document{()})) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIntersect-43[+]
X K2-SeqIntersect-43: 1 intersect 2 intersect 3 |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIntersect-44[+]
X K2-SeqIntersect-44: 1 except 2 except 3 |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
combiningnodeseqintersecthc1[+]
X combiningnodeseqintersecthc1: count((<a>0</a>,<a>1</a>) intersect (<a>3</a>,<a>4</a>)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
combiningnodeseqintersecthc2[+]
X combiningnodeseqintersecthc2: count(() intersect ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
combiningnodeseqintersecthc3[+]
X combiningnodeseqintersecthc3: for $h in ( (//hours) intersect (//hours[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 | |
combiningnodeseqintersecthc4[+]
X combiningnodeseqintersecthc4: for $h in ( ($works//hours) intersect ($works//hours, $staff//grade)) 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 |