|
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) |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fn-root | 36/36 | 36/36 | 10/10 | 36/36 | 10/10 | 36/36 | 36/36 | 10/10 | 36/36 | 36/36 | 10/10 | 36/36 | 36/36 | 36/36 | 36/36 | 3/15 |
fn-root-1[+]
X fn-root-1: fn:root() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-root-2[+]
X fn-root-2: (1 to 100)[fn:root()] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-root-3[+]
X fn-root-3: fn:count(fn:root(())) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-root-4[+]
X fn-root-4: let $var := <!-- A Comment Node --> return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-5[+]
X fn-root-5: fn:root(<!-- A Comment Node -->) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-6[+]
X fn-root-6: let $var := <anElement>An Element Content</anElement> return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-7[+]
X fn-root-7: fn:root(<anElement>An Element Content</anElement>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-8[+]
X fn-root-8: let $var := <?format role="output" ?> return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-9[+]
X fn-root-9: fn:root(<?format role="output" ?>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-10[+]
X fn-root-10: let $var := element anElement {attribute anAttribute {"Attribute Value"}} return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-11[+]
X fn-root-11: fn:root(element anElement {attribute anAttribute {"Attribute Value"}}) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-12[+]
X fn-root-12: let $var := document {<anElement><anInternalElement>element content</anInternalElement></anElement>} return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-13[+]
X fn-root-13: fn:root(document {<anElement><anInternalElement>element content</anInternalElement></anElement>}) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-14[+]
X fn-root-14: fn:root(fn:exactly-one(/langs[1]/para[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-root-15[+]
X fn-root-15: fn:root(/langs[1]/para[1]/@xml:lang) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-root-16[+]
X fn-root-16: fn:root(text {"A text Node"}) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-17[+]
X fn-root-17: let $var := text {"a text Node"} return fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-18[+]
X fn-root-18: let $var := element anElement {"Element Content"} return fn:root($var) is fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-19[+]
X fn-root-19: let $var := element anElement {"Element Content"} return fn:root($var) is fn:root($var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-20[+]
X fn-root-20: let $var := element anElement {"Element Content"} return fn:count(fn:namespace-uri(fn:root($var))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-21[+]
X fn-root-21: let $var := <!-- An Element Node --> return fn:count(fn:namespace-uri(fn:root($var))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-22[+]
X fn-root-22: let $var := <?format role="output" ?> return fn:count(fn:namespace-uri(fn:root($var))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-23[+]
X fn-root-23: let $var := text {"A text node"} return fn:count(fn:namespace-uri(fn:root($var))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-root-24[+]
X fn-root-24: fn:root(.) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeRootFunc-1[+]
X K-NodeRootFunc-1: Root(2) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeRootFunc-2[+]
X K-NodeRootFunc-2: (1, 2, 3)[root()] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeRootFunc-3[+]
X K-NodeRootFunc-3: root(2) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-NodeRootFunc-4[+]
X K-NodeRootFunc-4: empty(root(())) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-NodeRootFunc-1[+]
X K2-NodeRootFunc-1: fn:root(<e/>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-2[+]
X K2-NodeRootFunc-2: empty(fn:root(<e/>/..)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-3[+]
X K2-NodeRootFunc-3: fn:root(<!-- comment -->) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-4[+]
X K2-NodeRootFunc-4: <e>{fn:root(attribute name {"value"})}</e> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-5[+]
X K2-NodeRootFunc-5: fn:root(<?target data?>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-6[+]
X K2-NodeRootFunc-6: fn:root(text{"text node"}) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-7[+]
X K2-NodeRootFunc-7: fn:root(text{"text node"}) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-NodeRootFunc-8[+]
X K2-NodeRootFunc-8: root(document {()}) instance of document-node() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |