|
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-substring | 48/48 | 47/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 48/48 | 3/15 |
fn-substring-1[+]
X fn-substring-1: fn:substring("motor car", 6) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-2[+]
X fn-substring-2: fn:substring("metadata", 4, 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-3[+]
X fn-substring-3: fn:substring("12345", 1.5, 2.6) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-4[+]
X fn-substring-4: fn:substring("12345", 0, 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-5[+]
X fn-substring-5: fn:count(fn:substring("12345", 5, -3)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-6[+]
X fn-substring-6: fn:substring("12345", -3, 5) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-7[+]
X fn-substring-7: fn:count(fn:substring("12345", 0 div 0E0, 3)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-8[+]
X fn-substring-8: fn:count(fn:substring("12345", 1, 0 div 0E0)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-9[+]
X fn-substring-9: fn:count(fn:substring((), 1, 3)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-10[+]
X fn-substring-10: fn:substring("12345", -42, 1 div 0E0) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-11[+]
X fn-substring-11: fn:count(fn:substring("12345", -1 div 0E0, 1 div 0E0)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-12[+]
X fn-substring-12: fn:count(fn:substring("",0)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-13[+]
X fn-substring-13: fn:boolean(fn:substring("ABC",1)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-14[+]
X fn-substring-14: fn:not(fn:substring("ABC",1)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-15[+]
X fn-substring-15: fn:substring(fn:substring("ABCDE",1),1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-16[+]
X fn-substring-16: fn:substring("substring",1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-17[+]
X fn-substring-17: fn:concat(fn:substring("ABC",1),"DEF") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-18[+]
X fn-substring-18: fn:contains(fn:substring("ABCDEF",1),"DEF") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-19[+]
X fn-substring-19: fn:substring("!@#$%^*()",1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-20[+]
X fn-substring-20: fn:substring("ABCD",xs:double(1)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-21[+]
X fn-substring-21: fn:substring("ABCDE",1+1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-22[+]
X fn-substring-22: concat('#', fn:substring(./concepts/@id, string-length(./concepts/@id) - 18, 1), '#') |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-23[+]
X fn-substring-23: substring("abcd𐀁efgh", 6) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-24[+]
X fn-substring-24: substring("abcd𐀁efgh", 5, 2) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-25[+]
X fn-substring-25: substring("𐀁", 1, 2) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-26[+]
X fn-substring-26: substring("𐀁", 2, 1) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-27[+]
X fn-substring-27: substring("𐀁", 0, 2) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-28[+]
X fn-substring-28: substring("𐀁", 0, 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-29[+]
X fn-substring-29: substring("𐀁𐀁", 3) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-30[+]
X fn-substring-30: substring("𐀁𐀁", 0) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
fn-substring-31[+]
X fn-substring-31: substring("12345", -3.1e0, 5.2e0) eq "1" |
pass | fail | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-1[+]
X K-SubstringFunc-1: sub-string("a string") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-2[+]
X K-SubstringFunc-2: sub-string("a string", 1, 2, "wrong param") |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-3[+]
X K-SubstringFunc-3: substring((), 1, 2) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-4[+]
X K-SubstringFunc-4: substring((), 1) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-5[+]
X K-SubstringFunc-5: substring("12345", 1.5, 2.6) eq "234" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-6[+]
X K-SubstringFunc-6: substring((), 1, 3) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-7[+]
X K-SubstringFunc-7: substring("motor car", 6) eq " car" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-8[+]
X K-SubstringFunc-8: substring("12345", 0, 3) eq "12" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-9[+]
X K-SubstringFunc-9: substring("metadata", 4, 3) eq "ada" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-10[+]
X K-SubstringFunc-10: substring("12345", 0 div 0E0, 3) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-11[+]
X K-SubstringFunc-11: substring("12345", 1, 0 div 0E0) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-12[+]
X K-SubstringFunc-12: substring("12345", -3, 5) eq "1" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-13[+]
X K-SubstringFunc-13: substring("12345", -42, 1 div 0E0) eq "12345" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-14[+]
X K-SubstringFunc-14: substring("12345", -1 div 0E0, 1 div 0E0) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K-SubstringFunc-15[+]
X K-SubstringFunc-15: substring("12345", 5, -3) eq "" |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
cbcl-substring-001[+]
X cbcl-substring-001: fn:boolean(fn:substring('', 1, 1)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
cbcl-substring-002[+]
X cbcl-substring-002: fn:boolean(fn:substring('five', 5, 1)) |
pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass |