|
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-LetClause | 83/83 | 81/83 | 1/1 | 83/83 | 23/23 | 83/83 | 78/81 | 23/23 | 83/83 | 83/83 | 1/1 | 83/83 | 83/83 | 83/83 | 83/83 | 0/15 |
letexprwith-1[+]
X letexprwith-1: let $salary as xs:decimal := "cat" return $salary * 2 |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-2[+]
X letexprwith-2: let $var as xs:decimal := 100 return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-3[+]
X letexprwith-3: let $var as xs:integer := 100 return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-4[+]
X letexprwith-4: let $var as xs:double := 100E1 return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-5[+]
X letexprwith-5: let $var as xs:string := "A String" return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-6[+]
X letexprwith-6: let $var as xs:boolean := fn:true() return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-7[+]
X letexprwith-7: let $var as xs:boolean := fn:false() return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-8[+]
X letexprwith-8: let $var as xs:date := xs:date("1999-05-31Z") return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-9[+]
X letexprwith-9: let $var as xs:time := xs:time("21:23:00Z") return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-10[+]
X letexprwith-10: let $var as xs:dateTime := xs:dateTime("1999-05-31T13:20:00Z") return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-11[+]
X letexprwith-11: let $var as xs:float := xs:float(100) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-12[+]
X letexprwith-12: let $var as xs:integer := 100+200 return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-13[+]
X letexprwith-13: let $var as xs:integer := fn:count((100,200)) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-14[+]
X letexprwith-14: let $var as xs:boolean := fn:not(fn:true()) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-15[+]
X letexprwith-15: let $var as xs:boolean := fn:true() and fn:true() return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-16[+]
X letexprwith-16: let $var as xs:boolean := fn:true() and fn:true() return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-17[+]
X letexprwith-17: let $var as xs:integer := fn:string-length("A String") return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-18[+]
X letexprwith-18: let $var as xs:string := xs:string((xs:integer(100))) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-19[+]
X letexprwith-19: let $var as xs:string := xs:string((xs:decimal(100))) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-20[+]
X letexprwith-20: let $var as xs:string := xs:string((xs:double(100E2))) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-21[+]
X letexprwith-21: let $var as xs:string := xs:string(fn:true()) return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-22[+]
X letexprwith-22: let $var as xs:integer := 100 return $var + 1 |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-23[+]
X letexprwith-23: let $var as xs:boolean := if (fn:true()) then fn:true() else fn:false() return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
letexprwith-24[+]
X letexprwith-24: let $var as xs:string := typeswitch(fn:true()) case $i as xs:boolean return "Test Passed" default return "Test failed" return $var |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr001[+]
X LetExpr001: let $x := "92233720368547758" return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr002[+]
X LetExpr002: let $x := 92233720368547758 return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr003[+]
X LetExpr003: let $x := 92233720368547758+1 return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr004[+]
X LetExpr004: let $x := xs:long("92233720368547758") return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr005[+]
X LetExpr005: let $x := xs:long("-92233720368547758")+1 return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr006[+]
X LetExpr006: let $x := xs:double("1.7976931348623157E308") return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr007[+]
X LetExpr007: let $x:=<a>{1+1}</a> return $x |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr008[+]
X LetExpr008: let $x:=1, $y:=$x+1 return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr009[+]
X LetExpr009: let $x:=1, $y:=<a>{$x+1}</a> return $y |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr010[+]
X LetExpr010: let $x:=(1,2,3), $y:=$x+1 return $y |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr011[+]
X LetExpr011: let $x :=(1 to 100)[. mod 5 eq 0] return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr012[+]
X LetExpr012: let $x :=(1 to 100)[. mod 5 eq 0], $y := $x[. mod 10 eq 0] return $y |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr013[+]
X LetExpr013: let $x:="hello", $y:=concat($x," there") return $y |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr014[+]
X LetExpr014: let $x := "1", $y := $x+1 return $y |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr015[+]
X LetExpr015: let $x := (0,0.1e-1,2.0,'a',"cat",'',true()) return $x |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr016[+]
X LetExpr016: let $a := (<elem1/>, <elem2/>, <elem3 att="test"/>) return <root>{$a}</root> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr017[+]
X LetExpr017: let $x := (<a> <b> <c> 123 </c> </b> </a>) return $x |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr018[+]
X LetExpr018: let $x := (0,0.1e-1,2.0,'a',"cat",'',true(), ('<a> <b> <c> 123 </c> </b> </a>')/a/b) return $x |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr019[+]
X LetExpr019: let $a := <elem/> let $b := <elem2/> return ($a,$b) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr020[+]
X LetExpr020: let $a := 1 let $b := $a let $c := $a+$b return ($c) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
LetExpr020a[+]
X LetExpr020a: let $a := 1 let $b := $a let $c := $a+$b return ($c) |
no result | n/a | no result | n/a
notXP20 |
n/a
notXQ10 |
pass | n/a
notXQ30 |
pass | n/a | n/a | n/a | n/a | n/a | n/a
Dependency (type=spec, value=XP30+, satisfied=true) was not met. |
n/a
Dependency (type=spec, value=XP30+, satisfied=true) was not met. |
|
LetExpr021[+]
X LetExpr021: let $a := $b return ($a) |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K-LetExprWithout-1[+]
X K-LetExprWithout-1: let $i := 5, $j := 20 * $i return $i, $j |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K-LetExprWithout-2[+]
X K-LetExprWithout-2: let $i = 5 return 3 |
pass | pass | no result | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K-LetExprWithout-3[+]
X K-LetExprWithout-3: let $i in 5 return 3 |
pass | pass | no result | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K-LetExprWithout-4[+]
X K-LetExprWithout-4: declare variable $i := false(); declare variable $t := false(); deep-equal((let $i := true(), $t := true() return ($i, $t)), (true(), true())) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-1[+]
X K2-LetExprWithout-1: deep-equal((<b/>, <b/>, <b/>, <b/>), (for $v1 in (1, 2, 3, 4) let $v2 := <b/> return ($v2))/.) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-2[+]
X K2-LetExprWithout-2: deep-equal((<b/>, <b/>, <b/>, <b/>), (for $v1 in (1, 2, 3, 4) let $v2 := <b/> return ($v2))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-3[+]
X K2-LetExprWithout-3: declare function local:myFunc() { let $v := . return $v }; local:myFunc() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-4[+]
X K2-LetExprWithout-4: declare function local:myFunc($arg as node()) { let $v := . return $arg/$v }; local:myFunc(<e/>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-5[+]
X K2-LetExprWithout-5: declare function local:myFunc($arg as node()) { let $v := aNameTest return $arg/$v }; local:myFunc(<e/>) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-6[+]
X K2-LetExprWithout-6: declare function local:myFunc($arg as node()) { let $v := aNameTest return $arg/$v }; 1 |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-7[+]
X K2-LetExprWithout-7: let $i as xs:integer := xs:untypedAtomic("1") return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-8[+]
X K2-LetExprWithout-8: return 1 |
pass | pass | no result | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | |
K2-LetExprWithout-9[+]
X K2-LetExprWithout-9: let $i as xs:float := 1.1 return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-10[+]
X K2-LetExprWithout-10: let $i as xs:double := 1.1 return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-11[+]
X K2-LetExprWithout-11: let $i as xs:float := 1 return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-12[+]
X K2-LetExprWithout-12: let $i as xs:double := 1 return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-13[+]
X K2-LetExprWithout-13: let $i as xs:double := xs:float(3) return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-14[+]
X K2-LetExprWithout-14: let $i as xs:string := xs:untypedAtomic("a string") return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-15[+]
X K2-LetExprWithout-15: let $i as xs:string := xs:anyURI("http://www.example.com/") return $i |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-16[+]
X K2-LetExprWithout-16: declare variable $e := <e/>; for $i in (<a/>, $e, <c/>) return $i is $e |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-17[+]
X K2-LetExprWithout-17: declare function local:function() { let $b := (i/a) return () }; empty(local:function()) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-18[+]
X K2-LetExprWithout-18: declare function local:foo($a as xs:integer) { if($a = 3) then $a else let $a := $a return local:foo($a + 1) }; local:foo(1) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-19[+]
X K2-LetExprWithout-19: let $v := . return 1 |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-20[+]
X K2-LetExprWithout-20: let $emps := //employee[location = "Denver"] for $d in distinct-values($emps/deptno) let $e := $emps[deptno = $d] return <dept> <deptno>{$d}</deptno> <headcount> {count($e)} </headcount> <payroll> {sum($e/salary)} </payroll> </dept> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-21[+]
X K2-LetExprWithout-21: <e/>/(for $b in 1, $i in self::node() return $i) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-22[+]
X K2-LetExprWithout-22: <e/>/(for $i in self::node() return $i) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-23[+]
X K2-LetExprWithout-23: count(<e/>/(let $i := . return (string($i), data($i)))) |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-24[+]
X K2-LetExprWithout-24: declare function local:function() { let $b := (i/a) return 1 }; local:function() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-25[+]
X K2-LetExprWithout-25: let $a := 1 return for $b in 1 return if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else if ($b) then 1 else () |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
K2-LetExprWithout-26[+]
X K2-LetExprWithout-26: let $e := <element/>, $outer as element() := $e/element() return $outer |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery10keywords[+]
X xquery10keywords: let $ancestor-or-self := 1 let $ancestor := 1 let $and := 1 let $as := 1 let $ascending := 1 let $at := 1 let $attribute := 1 let $base-uri := 1 let $boundary-space := 1 let $by := 1 let $case := 1 let $cast := 1 let $castable := 1 let $child := 1 let $collation := 1 let $comment := 1 let $construction := 1 let $copy-namespaces := 1 let $declare := 1 let $default := 1 let $descendant-or-self := 1 let $descendant := 1 let $descending := 1 let $div := 1 let $document-node := 1 let $document := 1 let $element := 1 let $else := 1 let $empty-sequence := 1 let $empty := 1 let $encoding := 1 let $eq := 1 let $every := 1 let $except := 1 let $external := 1 let $following-sibling := 1 let $following := 1 let $for := 1 let $function := 1 let $ge := 1 let $greatest := 1 let $gt := 1 let $idiv := 1 let $if := 1 let $import := 1 let $in := 1 let $inherit := 1 let $instance := 1 let $intersect := 1 let $is := 1 let $item := 1 let $lax := 1 let $le := 1 let $least := 1 let $let := 1 let $lt := 1 let $mod := 1 let $module := 1 let $module := 1 let $namespace := 1 let $ne := 1 let $no-inherit := 1 let $no-preserve := 1 let $node := 1 let $of := 1 let $option := 1 let $or := 1 let $order := 1 let $ordered := 1 let $ordering := 1 let $parent := 1 let $preceding-sibling := 1 let $preceding := 1 let $preserve := 1 let $processing-instruction := 1 let $return := 1 let $satisfies := 1 let $schema-attribute := 1 let $schema-element := 1 let $schema := 1 let $self := 1 let $some := 1 let $stable := 1 let $strict := 1 let $strip := 1 let $text := 1 let $then := 1 let $to := 1 let $treat := 1 let $typeswitch := 1 let $union := 1 let $unordered := 1 let $validate := 1 let $variable := 1 let $version := 1 let $where := 1 let $xquery := 1 return 2 |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery10keywords2[+]
X xquery10keywords2: let $x := (/) return $x /ancestor-or-self /ancestor /and /as /ascending /at /attribute /base-uri /boundary-space /by /case /cast /castable /child /collation /comment /construction /copy-namespaces /declare /default /descendant-or-self /descendant /descending /div /document-node /document /element /else /empty-sequence /empty /encoding /eq /every /except /external /following-sibling /following /for /function /ge /greatest /gt /idiv /if /import /in /inherit /instance /intersect /is /item /lax /le /least /let /lt /mod /module /module /namespace /ne /no-inherit /no-preserve /node /of /option /or /order /ordered /ordering /parent /preceding-sibling /preceding /preserve /processing-instruction /return /satisfies /schema-attribute /schema-element /schema /self /some /stable /strict /strip /text /then /to /treat /typeswitch /union /unordered /validate /variable /version /where /xquery |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
xquery10keywords3[+]
X xquery10keywords3: <keywords> <ancestor-or-self/> <ancestor/> <and/> <as/> <ascending/> <at/> <attribute/> <base-uri/> <boundary-space/> <by/> <case/> <cast/> <castable/> <child/> <collation/> <comment/> <construction/> <copy-namespaces/> <declare/> <default/> <descendant-or-self/> <descendant/> <descending/> <div/> <document-node/> <document/> <element/> <else/> <empty-sequence/> <empty/> <encoding/> <eq/> <every/> <except/> <external/> <following-sibling/> <following/> <for/> <function/> <ge/> <greatest/> <gt/> <idiv/> <if/> <import/> <in/> <inherit/> <instance/> <intersect/> <is/> <item/> <lax/> <le/> <least/> <let/> <lt/> <mod/> <module/> <module/> <namespace/> <ne/> <no-inherit/> <no-preserve/> <node/> <of/> <option/> <or/> <order/> <ordered/> <ordering/> <parent/> <preceding-sibling/> <preceding/> <preserve/> <processing-instruction/> <return/> <satisfies/> <schema-attribute/> <schema-element/> <schema/> <self/> <some/> <stable/> <strict/> <strip/> <text/> <then/> <to/> <treat/> <typeswitch/> <union/> <unordered/> <validate/> <variable/> <version/> <where/> <xquery/> </keywords>/name() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery30keywords[+]
X xquery30keywords: let $NaN := 1 let $allowing := 1 let $ancestor-or-self := 1 let $ancestor := 1 let $and := 1 let $as := 1 let $ascending := 1 let $at := 1 let $attribute := 1 let $base-uri := 1 let $boundary-space := 1 let $by := 1 let $case := 1 let $cast := 1 let $castable := 1 let $catch := 1 let $child := 1 let $collation := 1 let $comment := 1 let $construction := 1 let $context := 1 let $copy-namespaces := 1 let $count := 1 let $decimal-format := 1 let $decimal-separator := 1 let $declare := 1 let $default := 1 let $descendant-or-self := 1 let $descendant := 1 let $descending := 1 let $digit := 1 let $div := 1 let $document-node := 1 let $document := 1 let $element := 1 let $else := 1 let $empty-sequence := 1 let $empty := 1 let $encoding := 1 let $end := 1 let $eq := 1 let $every := 1 let $except := 1 let $external := 1 let $following-sibling := 1 let $following := 1 let $for := 1 let $function := 1 let $ge := 1 let $greatest := 1 let $group := 1 let $grouping-separator := 1 let $gt := 1 let $idiv := 1 let $if := 1 let $import := 1 let $in := 1 let $infinity := 1 let $inherit := 1 let $instance := 1 let $intersect := 1 let $is := 1 let $item := 1 let $lax := 1 let $le := 1 let $least := 1 let $let := 1 let $lt := 1 let $minus-sign := 1 let $mod := 1 let $module := 1 let $namespace-node := 1 let $namespace := 1 let $ne := 1 let $next := 1 let $no-inherit := 1 let $no-preserve := 1 let $node := 1 let $of := 1 let $only := 1 let $option := 1 let $or := 1 let $order := 1 let $ordered := 1 let $ordering := 1 let $parent := 1 let $pattern-separator := 1 let $per-mille := 1 let $percent := 1 let $preceding-sibling := 1 let $preceding := 1 let $preserve := 1 let $previous := 1 let $processing-instruction := 1 let $return := 1 let $satisfies := 1 let $schema-attribute := 1 let $schema-element := 1 let $schema := 1 let $self := 1 let $sliding := 1 let $some := 1 let $stable := 1 let $start := 1 let $strict := 1 let $strip := 1 let $switch := 1 let $text := 1 let $then := 1 let $to := 1 let $treat := 1 let $try := 1 let $tumbling := 1 let $type := 1 let $typeswitch := 1 let $union := 1 let $unordered := 1 let $validate := 1 let $variable := 1 let $version := 1 let $when := 1 let $where := 1 let $window := 1 let $xquery := 1 let $zero-digit := 1 return 2 |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery30keywords2[+]
X xquery30keywords2: let $x := (/) return $x /NaN /allowing /ancestor-or-self /ancestor /and /as /ascending /at /attribute /base-uri /boundary-space /by /case /cast /castable /catch /child /collation /comment /construction /context /copy-namespaces /count /decimal-format /decimal-separator /declare /default /descendant-or-self /descendant /descending /digit /div /document-node /document /element /else /empty-sequence /empty /encoding /end /eq /every /except /external /following-sibling /following /for /function /ge /greatest /group /grouping-separator /gt /idiv /if /import /in /infinity /inherit /instance /intersect /is /item /lax /le /least /let /lt /minus-sign /mod /module /namespace-node /namespace /ne /next /no-inherit /no-preserve /node /of /only /option /or /order /ordered /ordering /parent /pattern-separator /per-mille /percent /preceding-sibling /preceding /preserve /previous /processing-instruction /return /satisfies /schema-attribute /schema-element /schema /self /sliding /some /stable /start /strict /strip /switch /text /then /to /treat /try /tumbling /type /typeswitch /union /unordered /validate /variable /version /when /where /window /xquery /zero-digit |
pass | pass | pass | n/a
notXP20 |
pass | pass | pass | pass | pass | pass | n/a | pass | pass | pass | pass | |
xquery30keywords3[+]
X xquery30keywords3: <keywords> <NaN/> <allowing/> <ancestor-or-self/> <ancestor/> <and/> <as/> <ascending/> <at/> <attribute/> <base-uri/> <boundary-space/> <by/> <case/> <cast/> <castable/> <catch/> <child/> <collation/> <comment/> <construction/> <context/> <copy-namespaces/> <count/> <decimal-format/> <decimal-separator/> <declare/> <default/> <descendant-or-self/> <descendant/> <descending/> <digit/> <div/> <document-node/> <document/> <element/> <else/> <empty-sequence/> <empty/> <encoding/> <end/> <eq/> <every/> <except/> <external/> <following-sibling/> <following/> <for/> <function/> <ge/> <greatest/> <group/> <grouping-separator/> <gt/> <idiv/> <if/> <import/> <in/> <infinity/> <inherit/> <instance/> <intersect/> <is/> <item/> <lax/> <le/> <least/> <let/> <lt/> <minus-sign/> <mod/> <module/> <namespace-node/> <namespace/> <ne/> <next/> <no-inherit/> <no-preserve/> <node/> <of/> <only/> <option/> <or/> <order/> <ordered/> <ordering/> <parent/> <pattern-separator/> <per-mille/> <percent/> <preceding-sibling/> <preceding/> <preserve/> <previous/> <processing-instruction/> <return/> <satisfies/> <schema-attribute/> <schema-element/> <schema/> <self/> <sliding/> <some/> <stable/> <start/> <strict/> <strip/> <switch/> <text/> <then/> <to/> <treat/> <try/> <tumbling/> <type/> <typeswitch/> <union/> <unordered/> <validate/> <variable/> <version/> <when/> <where/> <window/> <xquery/> <zero-digit/> </keywords>/name() |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery30keywords4[+]
X xquery30keywords4: declare function local:NaN () {1}; declare function local:allowing () {2}; declare function local:ancestor-or-self () {3}; declare function local:ancestor () {4}; declare function local:and () {5}; declare function local:as () {6}; declare function local:ascending () {7}; declare function local:at () {8}; declare function local:attribute () {9}; declare function local:base-uri () {10}; declare function local:boundary-space () {11}; declare function local:by () {12}; declare function local:case () {13}; declare function local:cast () {14}; declare function local:castable () {15}; declare function local:catch () {16}; declare function local:child () {17}; declare function local:collation () {18}; declare function local:comment () {19}; declare function local:construction () {20}; declare function local:context () {21}; declare function local:copy-namespaces () {22}; declare function local:count () {23}; declare function local:decimal-format () {24}; declare function local:decimal-separator () {25}; declare function local:declare () {26}; declare function local:default () {27}; declare function local:descendant-or-self () {28}; declare function local:descendant () {29}; declare function local:descending () {30}; declare function local:digit () {31}; declare function local:div () {32}; declare function local:document-node () {33}; declare function local:document () {34}; declare function local:element () {35}; declare function local:else () {36}; declare function local:empty-sequence () {37}; declare function local:empty () {38}; declare function local:encoding () {39}; declare function local:end () {40}; declare function local:eq () {41}; declare function local:every () {42}; declare function local:except () {43}; declare function local:external () {44}; declare function local:following-sibling () {45}; declare function local:following () {46}; declare function local:for () {47}; declare function local:function () {48}; declare function local:ge () {49}; declare function local:greatest () {50}; declare function local:group () {51}; declare function local:grouping-separator () {52}; declare function local:gt () {53}; declare function local:idiv () {54}; declare function local:if () {55}; declare function local:import () {56}; declare function local:in () {57}; declare function local:infinity () {58}; declare function local:inherit () {59}; declare function local:instance () {60}; declare function local:intersect () {61}; declare function local:is () {62}; declare function local:item () {63}; declare function local:lax () {64}; declare function local:le () {65}; declare function local:least () {66}; declare function local:let () {67}; declare function local:lt () {68}; declare function local:minus-sign () {69}; declare function local:mod () {70}; declare function local:module () {71}; declare function local:namespace-node () {72}; declare function local:namespace () {73}; declare function local:ne () {74}; declare function local:next () {75}; declare function local:no-inherit () {76}; declare function local:no-preserve () {77}; declare function local:node () {78}; declare function local:of () {79}; declare function local:only () {80}; declare function local:option () {81}; declare function local:or () {82}; declare function local:order () {83}; declare function local:ordered () {84}; declare function local:ordering () {85}; declare function local:parent () {86}; declare function local:pattern-separator () {87}; declare function local:per-mille () {88}; declare function local:percent () {89}; declare function local:preceding-sibling () {90}; declare function local:preceding () {91}; declare function local:preserve () {92}; declare function local:previous () {93}; declare function local:processing-instruction () {94}; declare function local:return () {95}; declare function local:satisfies () {96}; declare function local:schema-attribute () {97}; declare function local:schema-element () {98}; declare function local:schema () {99}; declare function local:self () {100}; declare function local:sliding () {101}; declare function local:some () {102}; declare function local:stable () {103}; declare function local:start () {104}; declare function local:strict () {105}; declare function local:strip () {106}; declare function local:switch () {107}; declare function local:text () {108}; declare function local:then () {109}; declare function local:to () {110}; declare function local:treat () {111}; declare function local:try () {112}; declare function local:tumbling () {113}; declare function local:type () {114}; declare function local:typeswitch () {115}; declare function local:union () {116}; declare function local:unordered () {117}; declare function local:validate () {118}; declare function local:variable () {119}; declare function local:version () {120}; declare function local:when () {121}; declare function local:where () {122}; declare function local:window () {123}; declare function local:xquery () {124}; declare function local:zero-digit () {125}; local:NaN() + local:allowing() + local:ancestor-or-self() + local:ancestor() + local:and() + local:as() + local:ascending() + local:at() + local:attribute() + local:base-uri() + local:boundary-space() + local:by() + local:case() + local:cast() + local:castable() + local:catch() + local:child() + local:collation() + local:comment() + local:construction() + local:context() + local:copy-namespaces() + local:count() + local:decimal-format() + local:decimal-separator() + local:declare() + local:default() + local:descendant-or-self() + local:descendant() + local:descending() + local:digit() + local:div() + local:document-node() + local:document() + local:element() + local:else() + local:empty-sequence() + local:empty() + local:encoding() + local:end() + local:eq() + local:every() + local:except() + local:external() + local:following-sibling() + local:following() + local:for() + local:function() + local:ge() + local:greatest() + local:group() + local:grouping-separator() + local:gt() + local:idiv() + local:if() + local:import() + local:in() + local:infinity() + local:inherit() + local:instance() + local:intersect() + local:is() + local:item() + local:lax() + local:le() + local:least() + local:let() + local:lt() + local:minus-sign() + local:mod() + local:module() + local:namespace-node() + local:namespace() + local:ne() + local:next() + local:no-inherit() + local:no-preserve() + local:node() + local:of() + local:only() + local:option() + local:or() + local:order() + local:ordered() + local:ordering() + local:parent() + local:pattern-separator() + local:per-mille() + local:percent() + local:preceding-sibling() + local:preceding() + local:preserve() + local:previous() + local:processing-instruction() + local:return() + local:satisfies() + local:schema-attribute() + local:schema-element() + local:schema() + local:self() + local:sliding() + local:some() + local:stable() + local:start() + local:strict() + local:strip() + local:switch() + local:text() + local:then() + local:to() + local:treat() + local:try() + local:tumbling() + local:type() + local:typeswitch() + local:union() + local:unordered() + local:validate() + local:variable() + local:version() + local:when() + local:where() + local:window() + local:xquery() + local:zero-digit() eq (125 * (125 + 1)) div 2 |
pass | fail | n/a
Regex with high repeat count blows heap space |
n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
xquery30keywords5[+]
X xquery30keywords5: declare default function namespace "http://www.w3.org/2005/xquery-local-functions"; declare function NaN () {1}; declare function allowing () {2}; declare function ancestor-or-self () {3}; declare function ancestor () {4}; declare function and () {5}; declare function as () {6}; declare function ascending () {7}; declare function at () {8}; declare function base-uri () {9}; declare function boundary-space () {10}; declare function by () {11}; declare function case () {12}; declare function cast () {13}; declare function castable () {14}; declare function catch () {15}; declare function child () {16}; declare function collation () {17}; declare function construction () {18}; declare function context () {19}; declare function copy-namespaces () {20}; declare function count () {21}; declare function decimal-format () {22}; declare function decimal-separator () {23}; declare function declare () {24}; declare function default () {25}; declare function descendant-or-self () {26}; declare function descendant () {27}; declare function descending () {28}; declare function digit () {29}; declare function div () {30}; declare function document () {31}; declare function else () {32}; declare function empty () {33}; declare function encoding () {34}; declare function end () {35}; declare function eq () {36}; declare function every () {37}; declare function except () {38}; declare function external () {39}; declare function following-sibling () {40}; declare function following () {41}; declare function for () {42}; declare function ge () {43}; declare function greatest () {44}; declare function group () {45}; declare function grouping-separator () {46}; declare function gt () {47}; declare function idiv () {48}; declare function import () {49}; declare function in () {50}; declare function infinity () {51}; declare function inherit () {52}; declare function instance () {53}; declare function intersect () {54}; declare function is () {55}; declare function lax () {56}; declare function le () {57}; declare function least () {58}; declare function let () {59}; declare function lt () {60}; declare function minus-sign () {61}; declare function mod () {62}; declare function module () {63}; declare function namespace () {64}; declare function ne () {65}; declare function next () {66}; declare function no-inherit () {67}; declare function no-preserve () {68}; declare function of () {69}; declare function only () {70}; declare function option () {71}; declare function or () {72}; declare function order () {73}; declare function ordered () {74}; declare function ordering () {75}; declare function parent () {76}; declare function pattern-separator () {77}; declare function per-mille () {78}; declare function percent () {79}; declare function preceding-sibling () {80}; declare function preceding () {81}; declare function preserve () {82}; declare function previous () {83}; declare function return () {84}; declare function satisfies () {85}; declare function schema () {86}; declare function self () {87}; declare function sliding () {88}; declare function some () {89}; declare function stable () {90}; declare function start () {91}; declare function strict () {92}; declare function strip () {93}; declare function then () {94}; declare function to () {95}; declare function treat () {96}; declare function try () {97}; declare function tumbling () {98}; declare function type () {99}; declare function union () {100}; declare function unordered () {101}; declare function validate () {102}; declare function variable () {103}; declare function version () {104}; declare function when () {105}; declare function where () {106}; declare function window () {107}; declare function xquery () {108}; declare function zero-digit () {109}; NaN() + allowing() + ancestor-or-self() + ancestor() + and() + as() + ascending() + at() + base-uri() + boundary-space() + by() + case() + cast() + castable() + catch() + child() + collation() + construction() + context() + copy-namespaces() + count() + decimal-format() + decimal-separator() + declare() + default() + descendant-or-self() + descendant() + descending() + digit() + div() + document() + else() + empty() + encoding() + end() + eq() + every() + except() + external() + following-sibling() + following() + for() + ge() + greatest() + group() + grouping-separator() + gt() + idiv() + import() + in() + infinity() + inherit() + instance() + intersect() + is() + lax() + le() + least() + let() + lt() + minus-sign() + mod() + module() + namespace() + ne() + next() + no-inherit() + no-preserve() + of() + only() + option() + or() + order() + ordered() + ordering() + parent() + pattern-separator() + per-mille() + percent() + preceding-sibling() + preceding() + preserve() + previous() + return() + satisfies() + schema() + self() + sliding() + some() + stable() + start() + strict() + strip() + then() + to() + treat() + try() + tumbling() + type() + union() + unordered() + validate() + variable() + version() + when() + where() + window() + xquery() + zero-digit() eq (109 * (109 + 1)) div 2 |
pass | fail | n/a
Regex with high repeat count blows heap space |
n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |