|
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-is-same-node | 37/37 | 37/37 | 21/21 | 37/37 | 21/21 | 37/37 | 36/37 | 21/21 | 37/37 | 37/37 | 21/21 | 37/37 | 37/37 | 37/37 | 37/37 | 2/15 |
nodeexpression1[+]
X nodeexpression1: count(() is ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression2[+]
X nodeexpression2: count(() is <a>50000</a>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression3[+]
X nodeexpression3: count(() is /works[1]/employee[1]/empnum[1]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression4[+]
X nodeexpression4: count(() is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression5[+]
X nodeexpression5: count(<a>50000</a> is ()) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression6[+]
X nodeexpression6: <a>50000</a> is <a>50000</a> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression7[+]
X nodeexpression7: <a>50000</a> is /works[1]/employee[1]/empnum[1] |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression8[+]
X nodeexpression8: <a>50000</a> is (/staff[1]/employee[1]/empnum[1]) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression9[+]
X nodeexpression9: count(/works[1]/employee[1]/empnum[1] is ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression10[+]
X nodeexpression10: /works[1]/employee[1]/empnum[1] is <a>50000</a> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression11[+]
X nodeexpression11: /works[1]/employee[1]/empnum[1] is /works[1]/employee[1]/empnum[1] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression12[+]
X nodeexpression12: $works/works[1]/employee[1]/empnum[1] is $staff/staff[1]/employee[1]/empnum[1] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression13[+]
X nodeexpression13: count((/staff[1]/employee[1]/empnum[1]) is ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression14[+]
X nodeexpression14: (/staff[1]/employee[1]/empnum[1]) is <a>50000</a> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
nodeexpression15[+]
X nodeexpression15: ($staff/staff[1]/employee[1]/empnum[1]) is $works/works[1]/employee[1]/empnum[1] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpression16[+]
X nodeexpression16: (/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpressionhc1[+]
X nodeexpressionhc1: fn:not((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpressionhc2[+]
X nodeexpressionhc2: ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) lt ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpressionhc3[+]
X nodeexpressionhc3: ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) ge ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpressionhc4[+]
X nodeexpressionhc4: ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) gt ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodeexpressionhc5[+]
X nodeexpressionhc5: ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) le ((/staff[1]/employee[1]/empnum[1]) is (/staff[1]/employee[1]/empnum[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
nodecomparisonerr-1[+]
X nodecomparisonerr-1: fn:count(() is 100) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-1[+]
X K-NodeSame-1: empty(1 is ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-2[+]
X K-NodeSame-2: empty(() is 1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-3[+]
X K-NodeSame-3: 1 is 1 |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-4[+]
X K-NodeSame-4: empty(() is ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-5[+]
X K-NodeSame-5: () is |
pass | pass | no result | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeSame-6[+]
X K-NodeSame-6: is () |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-NodeSame-1[+]
X K2-NodeSame-1: declare variable $var := <elem/>; <a>{$var}</a>/elem[1] is $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeSame-2[+]
X K2-NodeSame-2: declare variable $var := <elem/>; $var is $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeSame-3[+]
X K2-NodeSame-3: declare variable $var := <elem/>; not($var is <elem/>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeSame-4[+]
X K2-NodeSame-4: declare variable $e := attribute name {()}; $e is $e, <is/> is <is/> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeSame-5[+]
X K2-NodeSame-5: empty(exactly-one(<e/>/*) is exactly-one(<e/>/*)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeSame-6[+]
X K2-NodeSame-6: empty(zero-or-one(<e/>/*) is zero-or-one(<e/>/*)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-node-same-001[+]
X cbcl-node-same-001: let $node := <a> <b/> <c/> </a> return not(exactly-one($node/b[1]) is exactly-one($node/c[1])) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-node-same-002[+]
X cbcl-node-same-002: let $node := <a> <b/> <c/> </a> return not(not(exactly-one($node/b[1]) is exactly-one($node/c[1]))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-is-same-node-001[+]
X cbcl-is-same-node-001: declare function local:f() as node() { <a/> }; local:f() is local:f() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |