|
Implementations | |||||||
Tests | BaseX 8.5 beta XQ31 (QT3 vCVS) |
Saxon-EE 9.7.0.11 XP31 (QT3 v0.6) |
Saxon-EE 9.7.0.11 XQ31 (QT3 v0.6) |
XmlPrime 4.0.0.16079 XP31 (QT3 vCVS) |
XmlPrime 4.0.0.26293 XQ31 (QT3 vCVS) |
XmlPrime 4.0.0.27704 XQX31 (QT3 vCVS) |
|
---|---|---|---|---|---|---|---|
prod-GroupByClause | 29/31 | 0/0 | 31/31 | 0/0 | 31/31 | 31/0 | 0/6 |
group-001[+]
X group-001: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in 1 to 100 let $key := $x mod 10 group by $key return string(text{$x}) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-001a[+]
X group-001a: Created on: 2011-09-14 Spec Dependencies: spec = XQ30+ Test: for $x in 1 to 100 group by $key := $x mod 10 return string(text{$x}) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-002[+]
X group-002: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in //employee let $key := $x/@gender group by $key return concat($key, ':', string-join(for $e in $x return $e/@name/string(), ',')) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-002a[+]
X group-002a: Created on: 2011-09-14 Spec Dependencies: spec = XQ30+ Test: for $x in //employee group by $key := $x/@gender return concat($key, ':', string-join(for $e in $x return $e/@name/string(), ',')) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-003[+]
X group-003: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in //employee let $key := ($x/@gender = 'male') group by $key return concat($key, ':', string-join(for $e in $x return $e/@name/string(), ',')) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-003a[+]
X group-003a: Created on: 2011-09-14 Spec Dependencies: spec = XQ30+ Test: for $x in //employee group by $key := ($x/@gender = 'male') return concat($key, ':', string-join(for $e in $x return $e/@name/string(), ',')) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-004[+]
X group-004: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in //employee let $key := $x/@gender group by $key return concat($key, ':', avg($x/hours)) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-005[+]
X group-005: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in //employee let $key := $x/hours group by $key return <group hours="{$key}" avHours="{avg($x/hours)}"/> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-006[+]
X group-006: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: <out>{ for $x in //employee group by $key := $x/status return <group status="{$key}" count="{count($x)}"/> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-007[+]
X group-007: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: for $x in //employee let $key := $x/hours[1] group by $key where count($x) gt 2 return concat($key, ':', count($x)) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-008[+]
X group-008: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: <out>{ for $x in //employee let $key := $x/empnum group by $key order by count($x), $key return <group count="{count($x)}"> {string-join($x/@name, '|')} </group> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-009[+]
X group-009: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: <out>{ for $x in //employee let $key := $x/empnum group by $key collation "http://www.w3.org/2005/xpath-functions/collation/codepoint" order by $key return <group count="{count($x)}" key="{$key}"> {string-join($x/pnum, '|')} </group> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-009a[+]
X group-009a: Created on: 2011-09-14 Spec Dependencies: spec = XQ30+ Test: <out>{ for $x in //employee group by $key := $x/empnum collation "http://www.w3.org/2005/xpath-functions/collation/codepoint" order by $key return <group count="{count($x)}" key="{$key}"> {string-join($x/pnum, '|')} </group> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-010[+]
X group-010: Created on: 2008-11-26 Spec Dependencies: spec = XQ30+ Test: <out>{ for $x in //employee let $key := if ($x/@gender='male') then number('NaN') else 42 group by $key return <group key="{$key}" count="{count($x)}"/> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-011[+]
X group-011: Created on: 2011-07-24 Spec Dependencies: spec = XQ30+ Test: for $a at $p in 1 to 10 let $g := $p mod 2 group by $g return string-join($p!string(), ' ') |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-012[+]
X group-012: Created on: 2011-07-24 Spec Dependencies: spec = XQ10+ spec = XQ30+ Test: <out>{ for $x in //employee[age > 300] let $key := @gender group by $key return <group gender="{$key}"> { for $e in $x return <person>{$e/@name/string()}</person> } </group> }</out> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-013[+]
X group-013: Created on: 2012-06-04 Spec Dependencies: spec = XQ30+ Test: for $x in 1 to 10, $y in 1 to 4 let $org_y := $y group by $y, $y := $x mod 2 return <grp y="{$org_y[1]}" even="{$y}">{$x}</grp> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-014[+]
X group-014: Created on: 2012-10-02 Spec Dependencies: spec = XQ30+ Test: let $x := 1 return for $i in ("a", "b") group by $x return ($x, count($i)) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-015[+]
X group-015: Created on: 2012-10-02 Spec Dependencies: spec = XQ30+ Test: for $x in (true(), "true", xs:QName("true")) group by $x return $x |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-016[+]
X group-016: Created on: 2012-10-02 Spec Dependencies: spec = XQ30+ Test: count( for $y in 1 to 10 group by $y := $y, $y := $y mod 2 return $y ) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-017[+]
X group-017: Created on: 2014-03-24 Spec Dependencies: feature = non_unicode_codepoint_collation spec = XQ30+ Test: count( for $y in ("ax", "bx", "cx", "Ay", "By", "Cy") group by $k := substring($y, 1, 1) collation "http://www.w3.org/2010/09/qt-fots-catalog/collation/caseblind" return <group>{$y}</group> ) |
no result | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-018[+]
X group-018: Created on: 2014-12-04 Spec Dependencies: spec = XQ31+ spec = XQ30+ Test: count( for $y in ("ax", "bx", "cx", "Ay", "By", "Cy") group by $k := substring($y, 1, 1) collation "http://www.w3.org/2005/xpath-functions/collation/html-ascii-case-insensitive" return <group>{$y}</group> ) |
no result | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
group-019[+]
X group-019: Created on: 2015-08-04 Spec Dependencies: spec = XQ30+ Test: let $without_tz := xs:dateTime('2015-04-08T01:30:00') let $with_tz := adjust-dateTime-to-timezone($without_tz, implicit-timezone()) let $keys := (xs:dateTime('2015-04-08T02:30:00'), $without_tz, $with_tz) return count(for $k in $keys group by $k return $k) |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q1[+]
X use-case-groupby-Q1: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <sales-qty-by-product>{ for $sales in $sales-records-doc/*/record let $pname := $sales/product-name group by $pname order by $pname return <product name="{$pname}">{ sum($sales/qty) }</product> }</sales-qty-by-product> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q2[+]
X use-case-groupby-Q2: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $sales in $sales-records-doc/*/record let $state := $stores-doc/*/store[store-number = $sales/store-number]/state let $category := $products-doc/*/product[name = $sales/product-name]/category group by $state, $category order by $state, $category return <group> <state>{$state}</state> <category>{$category}</category> <total-qty>{sum($sales/qty)}</total-qty> </group> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q3[+]
X use-case-groupby-Q3: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $sales in $sales-records-doc/*/record let $state := $stores-doc/*/store[store-number = $sales/store-number]/state, $product := $products-doc/*/product[name = $sales/product-name], $category := $product/category, $revenue := $sales/qty * $product/price group by $state, $category order by $state, $category return <group> <state>{$state}</state> <category>{$category}</category> <total-revenue>{sum($revenue)}</total-revenue> </group> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q4[+]
X use-case-groupby-Q4: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $store in $stores-doc/*/store let $state := $store/state group by $state order by $state return <state name="{$state}">{ for $product in $products-doc/*/product let $category := $product/category group by $category order by $category return <category name="{$category}">{ for $sales in $sales-records-doc/*/record[store-number = $store/store-number and product-name = $product/name] let $pname := $sales/product-name group by $pname order by $pname return <product name="{$pname}" total-qty="{sum($sales/qty)}" /> }</category> }</state> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q5[+]
X use-case-groupby-Q5: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $sales in $sales-records-doc/*/record let $storeno := $sales/store-number group by $storeno order by $storeno return <store number = "{$storeno}">{ for $s in $sales order by xs:int($s/qty) descending return <product name = "{$s/product-name}" qty = "{$s/qty}"/> }</store> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q6[+]
X use-case-groupby-Q6: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $sales in $sales-records-doc/*/record let $storeno := $sales/store-number, $product := $products-doc/*/product[name = $sales/product-name], $prd := $product, $profit := $sales/qty * ($prd/price - $prd/cost) group by $storeno let $total-store-profit := sum($profit) where $total-store-profit > 100 order by $total-store-profit descending return <store number = "{$storeno}" total-profit = "{$total-store-profit}"/> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q7[+]
X use-case-groupby-Q7: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $book in $books-doc/*/book for $author in $book/author group by $author order by $author return <author name="{$author}">{ for $b in $book order by $b/title return <title> {fn:data($b/title)} </title> }</author> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass | |
use-case-groupby-Q8[+]
X use-case-groupby-Q8: Created on: 2012-03-14 Spec Dependencies: spec = XQ30+ spec = XQ30+ Test: <result>{ for $book in $books-doc/*/book let $author-list := fn:string-join($book/author, ', ') group by $author-list order by $author-list return <author-list names="{$author-list}">{ for $b in $book order by $b/title return <title> {fn:data($b/title)} </title> }</author-list> }</result> |
pass | n/a
test-set dependencies not satisfied |
pass | n/a | pass | pass |