Change id: partial-function-application
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) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
K-SeqDeepEqualFunc-62[+]
X K-SeqDeepEqualFunc-62: let $deep := deep-equal(?, ?, "http://www.w3.org/2010/09/qt-fots-catalog/collation/caseblind") return $deep(<a><b>abc</b></a>, <a><b>ABC</b></a>) |
no result | fail | n/a
Dependency not satisfied |
n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
n/a
Can not define any other collations (other than the Unicode Codepoint Collation). |
filter-001[+]
X filter-001: filter(("apple", "pear", "apricot", "advocado", "orange"),starts-with(?, "a")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
filter-904[+]
X filter-904: filter(("apple", "pear", "apricot", "advocado", "orange", current-date()), ends-with(?, 'e')) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-left-006[+]
X fold-left-006: fold-left(1 to 5, "", fn:concat(?, ".", ?)) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-left-007[+]
X fold-left-007: fold-left(1 to 5, "$zero", fn:concat("$f(", ?, ", ", ?, ")")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-left-017[+]
X fold-left-017: fold-left(1 to 13, 0, concat("(", ?, "+", ?, ")")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-right-006[+]
X fold-right-006: fold-right(1 to 5, "", fn:concat(?, ".", ?)) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-right-007[+]
X fold-right-007: fold-right(1 to 5, "$zero", fn:concat("$f(", ?, ", ", ?, ")")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fold-right-017[+]
X fold-right-017: fold-right((1 to 13), 0, concat("(", ?, "+", ?, ")")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fn-function-lookup-612[+]
X fn-function-lookup-612: function-lookup(QName("http://www.w3.org/2005/xpath-functions", "round"), 2)(?, 3)(1.2345678) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fn-function-arity-020[+]
X fn-function-arity-020: let $initial := fn:substring(?, 1, 1) return fn:function-arity( $initial ) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fn-function-arity-021[+]
X fn-function-arity-021: fn:function-arity( math:pow(?, 10) ) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fn-function-name-013[+]
X fn-function-name-013: fn:function-name( fn:substring(?, 1) ) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
fn-function-name-021[+]
X fn-function-name-021: let $initial := fn:substring(?, 1, 1) return fn:function-name( $initial ) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
for-each-pair-004[+]
X for-each-pair-004: for-each-pair(("aa", "bb", "cc", "dd", "ee"), ("AA", "BB", "cc", "dd", "EE"), concat(?, '-', ?)) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
FunctionCall-038[+]
X FunctionCall-038: declare namespace lu = 'http://www.w3.org/XQueryTest/ListUnionTypes' ; import schema "http://www.w3.org/XQueryTest/ListUnionTypes"; declare function local:makeDate($in as xs:string, $year as xs:integer) as lu:unionOfUnionType { let $date := $year || '-' || $in return if ($date castable as xs:date) then xs:untypedAtomic($date) else current-date() }; let $make2012date := local:makeDate(?, 2012) return $make2012date('12-12') |
no result | fail | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
fail |
function-literal-428[+]
X function-literal-428: Q{http://www.w3.org/2005/xpath-functions}fold-left#3(1 to 5, "", fn:concat(?, ".", ?)) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
function-literal-430[+]
X function-literal-430: Q{http://www.w3.org/2005/xpath-functions}fold-right#3(1 to 5, "", fn:concat(?, ".", ?)) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
hof-027[+]
X hof-027: let $f := fn:contains(?, "e") return for $s in ("Mike", "John", "Dave", "Mary", "Jane") return $f($s) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
hof-041[+]
X hof-041: declare function local:ops() as (function(xs:string) as xs:string)* { (upper-case#1, lower-case#1, function($x){translate($x, 'e', 'i')}, substring-before(?, ' ')) }; string-join(for $f in local:ops() return $f('Michael Kay'), '~') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-042[+]
X hof-042: declare function local:lower-case($x as xs:string) as xs:string { concat("'", fn:lower-case($x), "'") }; declare function local:ops() as (function(xs:string) as xs:string)* { (upper-case#1, local:lower-case#1, function($x){translate($x, 'e', 'i')}, substring-before(?, ' ')) }; string-join(for $f in local:ops() return $f(<a name="Michael Kay"/>/@name), '~') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-043[+]
X hof-043: declare function local:round($x as xs:double) as xs:double { fn:floor($x) }; declare function local:ops() as (function(xs:double) as xs:double)* { (abs#1, local:round#1, function($x){$x+1}, round-half-to-even(?, 2)) }; string-join(for $f in local:ops() return string($f(xs:untypedAtomic('123.456'))), '~') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-045[+]
X hof-045: declare function local:round($x as xs:double, $algorithm as (function(xs:double) as xs:double)) as xs:double { $algorithm($x) }; declare variable $roundToCeiling := local:round(?, ceiling#1); $roundToCeiling(12.4) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-050[+]
X hof-050: let $f := fn:substring-before#2(?, '-') return <out>{$f('the-end-of-the-world')}</out> |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-051[+]
X hof-051: let $f := function($a as xs:string, $b as xs:string) { starts-with($a, $b) and ends-with($a, $b)}(?, 'a') return <out>{$f('abracadabra')}</out> |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-052[+]
X hof-052: let $f := fn:concat#3(?, '*', ?) let $g := $f('[', ?) return <out>{$g(']')}</out> |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-912[+]
X hof-912: declare function local:apply($fns as (function(xs:string) as xs:string)*, $s as xs:string) as xs:string* { for $f in $fns return $f($s) }; let $ops := (upper-case#1, lower-case#1, function($x){translate($x, 'e', 'i')}, substring-before(?, ' ', ?)) return string-join(local:apply($ops, 'Michael Kay'), '~') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-915[+]
X hof-915: let $ops := substring-before('abc', ' ', (), ?) return $ops('Michael Kay') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-916[+]
X hof-916: let $ops := substring-before(?, ?) return $ops('Michael Kay') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
hof-917[+]
X hof-917: let $ops := substring-before(?, 2) return $ops('Michael Kay') |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
hof-918[+]
X hof-918: declare function local:round($x as xs:double, $algorithm as (function(xs:double) as xs:double)) as xs:double { $algorithm($x) }; declare variable $roundToCeiling := local:round(?, upper-case#1); $roundToCeiling(12.4) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
hof-919[+]
X hof-919: declare function local:round($x as xs:double) as xs:double { fn:floor($x) }; declare function local:ops() as (function(xs:double) as xs:double)* { (abs#1, local:round#1, function($x as xs:float){$x+1}, round-half-to-even(?, 2)) }; string-join(for $f in local:ops() return string(round-half-to-even($f(xs:decimal('123.456')), 4)), '~') |
pass | fail | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
xqhof5[+]
X xqhof5: let $a := string-join(?, "") return $a(("foo", "bar", "baz")) |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
xqhof6[+]
X xqhof6: declare function local:curry($f as function(item()*, item()*) as item()*) as function(item()*) as function(item()*) as item()* { function($a) { $f($a, ?) } }; local:curry(substring-after#2)("foobar")("foo") |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
n/a
notXP30 |
pass | n/a | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XQ30+, satisfied=true) was not met. |
pass |
xqhof8[+]
X xqhof8: concat#4("one", ?, "three") |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
xqhof9[+]
X xqhof9: concat#2("one", ?, "three") |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
xqhof10[+]
X xqhof10: for $f in (concat("one ", ?, " three"), substring-before("one two three", ?), matches(?, "t.*o"), xs:NCName(?)) return $f("two") |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
pass |
xqhof12[+]
X xqhof12: (concat("one ", ?, " three"), substring-before("one two three", ?), matches(?, "t.*o"), xs:NCName(?))("two") |
pass | pass | pass | n/a
notXP20 |
n/a
notXQ10 |
pass | pass | pass | pass | pass | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+ XQ30+, satisfied=true) was not met. |
fail |