|
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-id | 38/41 | 41/41 | 30/30 | 41/41 | 30/30 | 41/41 | 41/41 | 30/30 | 41/41 | 41/41 | 30/30 | 41/41 | 41/41 | 41/41 | 41/41 | 3/15 |
fn-id-1[+]
X fn-id-1: fn:id("argument 1", / ,"Argument 3") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-2[+]
X fn-id-2: (1 to 5)[fn:id("argument1")] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-3[+]
X fn-id-3: fn:id("argument1", "A") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-4[+]
X fn-id-4: import module namespace copy="http://www.w3.org/QT3/copy"; let $var := copy:copy(/*) return fn:id("argument1", $var) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
fn-id-dtd-5[+]
X fn-id-dtd-5: fn:id("id1", /IDS[1])/string(@anId) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-6[+]
X fn-id-dtd-6: fn:count(fn:id("nomatchingid", /IDS[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-7[+]
X fn-id-dtd-7: fn:id("id2 id2", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-8[+]
X fn-id-dtd-8: fn:id("id1 id2", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-9[+]
X fn-id-dtd-9: fn:id("id1 nomatching", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-10[+]
X fn-id-dtd-10: fn:count(fn:id("nomatching1 nomatching2", /IDS[1])) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-11[+]
X fn-id-dtd-11: fn:id("", /IDS[1]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-12[+]
X fn-id-dtd-12: fn:id(fn:substring("1id3",2), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-13[+]
X fn-id-dtd-13: fn:id("id4", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-14[+]
X fn-id-dtd-14: fn:id("p1:id5", /IDS[1]) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-15[+]
X fn-id-dtd-15: fn:id("id1 id1", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-16[+]
X fn-id-dtd-16: fn:id("id1 ID1", /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-17[+]
X fn-id-dtd-17: fn:id(fn:lower-case("ID1"), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-18[+]
X fn-id-dtd-18: fn:id(fn:upper-case("id5"), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-19[+]
X fn-id-dtd-19: fn:id(fn:concat("i","d1"), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-20[+]
X fn-id-dtd-20: fn:id(xs:string("id1"), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-21[+]
X fn-id-dtd-21: fn:id(fn:string-join(("id","1"),""), /IDS[1])/name() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-22[+]
X fn-id-22: (1 to 5)[ fn:id("argument1",.)] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-id-dtd-23[+]
X fn-id-dtd-23: declare ordering ordered; fn:id("id1 id2", /IDS[1])/name() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-1[+]
X K2-SeqIDFunc-1: id((), ()) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-2[+]
X K2-SeqIDFunc-2: (1, 2, 3)[id("ncname", .)] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-3[+]
X K2-SeqIDFunc-3: (1, 2, 3)[id("ncname")] |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-4[+]
X K2-SeqIDFunc-4: import module namespace copy="http://www.w3.org/QT3/copy"; id("id", copy:copy((//comment())[1])) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-5[+]
X K2-SeqIDFunc-5: import module namespace copy="http://www.w3.org/QT3/copy"; id("id", copy:copy((//processing-instruction())[1])) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-6[+]
X K2-SeqIDFunc-6: import module namespace copy="http://www.w3.org/QT3/copy"; id("id", copy:copy(/*)) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-7[+]
X K2-SeqIDFunc-7: import module namespace copy="http://www.w3.org/QT3/copy"; id("id", (copy:copy(/*)//*:NegativeComments)[last()]) |
fail | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-8[+]
X K2-SeqIDFunc-8: let $i := <e><e/><e/><e/><e/><e/><e/><e/><b xml:id="foo"/><e/></e>return id("foo", $i) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-9[+]
X K2-SeqIDFunc-9: let $i := document {<e> <e/> <e/> <e/> <e/> <e/> <e/> <e/> <b xml:id="foo"/> <e/> </e>} return id("foo", $i)/name() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-SeqIDFunc-10[+]
X K2-SeqIDFunc-10: for $i in id(("short", "positiveInteger")) return $i/@name/string() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-11[+]
X K2-SeqIDFunc-11: id(("short"), //xs:element/@name[. = "positiveInteger"])/@name |
fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-12[+]
X K2-SeqIDFunc-12: id((".", "short", "123"), //xs:element/@name[. = "positiveInteger"])/@name |
fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-13[+]
X K2-SeqIDFunc-13: fn:id(//b/@ref)/data(exactly-one(@*)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-14[+]
X K2-SeqIDFunc-14: for $i in id(("short positiveInteger")) return $i/@name/string() |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-SeqIDFunc-15[+]
X K2-SeqIDFunc-15: fn:id(string-join(reverse(//b/@ref), ' '))/data(exactly-one(@*)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
cbcl-id-001[+]
X cbcl-id-001: declare function local:generate($arg as xs:integer?) as xs:string* { if ($arg = 0) then () else 'id1', 'id2' }; let $doc := document { <root /> } return fn:empty( fn:id( local:generate(0), $doc) ) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-id-002[+]
X cbcl-id-002: let $doc := document { <root /> } return fn:empty( fn:id( (), $doc) ) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
cbcl-id-003[+]
X cbcl-id-003: declare function local:generate($arg as xs:integer?) as xs:string* { if ($arg = 0) then () else 'id1', 'id2' }; let $doc := document { <root /> } return fn:empty( $doc/fn:id( local:generate(0)) ) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |