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