|
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) |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
prod-ExtensionExpr | 51/51 | 49/51 | 0/0 | 51/51 | 0/0 | 51/51 | 40/51 | 0/0 | 51/51 | 51/51 | 0/0 | 51/51 | 51/51 | 51/51 | 51/51 | 2/15 |
extexpr-1[+]
X extexpr-1: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) { /works/employee[12]/overtime } |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-2[+]
X extexpr-2: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {} |
pass | fail | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-3[+]
X extexpr-3: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index "ABC#" #) {/works/employee[12]/overtime} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-4[+]
X extexpr-4: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns2:you-do-not-know-me-as-index #) {/works/employee[12]/overtime} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-5[+]
X extexpr-5: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) (# ns1:you-should-not-know-me-either #) {/works/employee[12]/overtime} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-6[+]
X extexpr-6: declare namespace ns1 = "http://example.org/someweirdnamespace"; for $x in (# ns1:you-do-not-know-me-as-index #) {/works/employee[12]/overtime} return (# ns1:you-do-not-know-me-as-index #) {/works/employee[12]/overtime} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-7[+]
X extexpr-7: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(every $x in (1,2,3) satisfies $x < 4)} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-8[+]
X extexpr-8: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(some $x in (1,2,3) satisfies $x = 2)} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-9[+]
X extexpr-9: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:true())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-10[+]
X extexpr-10: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:false())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-11[+]
X extexpr-11: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:false() or fn:true())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-12[+]
X extexpr-12: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:false() or fn:false())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-13[+]
X extexpr-13: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:true() and fn:true())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-14[+]
X extexpr-14: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:true() and fn:false())} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-15[+]
X extexpr-15: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {if(fn:true()) then "passed" else "failed"} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-16[+]
X extexpr-16: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {if(fn:false()) then "failed" else "passed"} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-17[+]
X extexpr-17: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {typeswitch ("A String") case $i as xs:decimal return "test failed" case $i as xs:integer return "test failed" case $i as xs:string return "test passed" default return "test failed" } |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-18[+]
X extexpr-18: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {(fn:not(fn:true()))} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-19[+]
X extexpr-19: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {fn:string-length("abc")} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-20[+]
X extexpr-20: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {fn:count((1,2,3))} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-21[+]
X extexpr-21: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {3+2} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-22[+]
X extexpr-22: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {10 - 5} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-23[+]
X extexpr-23: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {10 * 2} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-24[+]
X extexpr-24: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {10 div 2} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-25[+]
X extexpr-25: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index #) {10 idiv 2} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
extexpr-26[+]
X extexpr-26: declare namespace ns1 = "http://example.org/someweirdnamespace"; (# ns1:you-do-not-know-me-as-index#){fn:count((1,2,3))} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-1[+]
X K-ExtensionExpression-1: (#local:pr content # {1} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-2[+]
X K-ExtensionExpression-2: local:pr content #) {1} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-3[+]
X K-ExtensionExpression-3: declare namespace prefix = "http://example.com/NotRecognized"; (#prefix:pr content #) {1 eq 1} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-4[+]
X K-ExtensionExpression-4: (#name content #) {1} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-5[+]
X K-ExtensionExpression-5: declare namespace prefix = ""; (# prefix:notRecognized #){1} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-6[+]
X K-ExtensionExpression-6: declare namespace prefix = "http://example.com/NotRecognized"; 1 eq (#prefix:notRecognized ##cont## # # ( "# ) # )# )#ent #) {1} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-7[+]
X K-ExtensionExpression-7: declare namespace prefix = "http://example.com/NotRecognized"; (#prefix:PragmaNotSupported content #) {} |
pass | fail | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K-ExtensionExpression-8[+]
X K-ExtensionExpression-8: declare namespace prefix = "http://example.com/NotRecognized"; (::)1(::)eq(::)(#prefix:name ##cont## # # ( "# ) # )# )#ent #)(::){(::)1(::)}(::) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-1[+]
X K2-ExtensionExpression-1: declare namespace xs = ""; (#xs:name content #) {1} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-2[+]
X K2-ExtensionExpression-2: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression#) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-3[+]
X K2-ExtensionExpression-3: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression #) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-4[+]
X K2-ExtensionExpression-4: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression content#) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-5[+]
X K2-ExtensionExpression-5: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression (:(:(:(:(: content #) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-6[+]
X K2-ExtensionExpression-6: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression(content)#) {true()} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-7[+]
X K2-ExtensionExpression-7: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression(:content:)#) {true()} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-8[+]
X K2-ExtensionExpression-8: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression:)#) {true()} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-9[+]
X K2-ExtensionExpression-9: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression:)#) {true()} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-10[+]
X K2-ExtensionExpression-10: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression:)#) {true()} |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-11[+]
X K2-ExtensionExpression-11: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression :)#) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-12[+]
X K2-ExtensionExpression-12: declare namespace ex = "http://example.com/"; (#ex:myExtensionExpression#) {true()} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-13[+]
X K2-ExtensionExpression-13: declare namespace ex = "http://example.com/"; (# |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-14[+]
X K2-ExtensionExpression-14: declare namespace ex = "http://example.com/"; (# |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-15[+]
X K2-ExtensionExpression-15: declare namespace ex = "http://example.com/"; (# ex:name |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-16[+]
X K2-ExtensionExpression-16: declare namespace ex = "http://example.com/"; (# ex:name |
pass | pass | no result | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-ExtensionExpression-17[+]
X K2-ExtensionExpression-17: (#xs:a#)(#xs:a#)(#local:a#){-5} |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |