Page 1 of 1

Can't format XQuery with group by clause using ":="

Posted: Mon Oct 16, 2017 2:32 pm
by Martin Honnen
I have the following as an ".xq" file in oXygen XML Editor 19.1, build 2017092911

Code: Select all


for $item in Base/Item
group by $id := $item/Id
order by $id
return <Item>
<Id>{$id}</Id>
{for $marked in $item[Mark]
group by $mark := $marked/Mark
return <Marked name="{$mark}">
{sum($marked/Qty)}
</Marked>
}
<Total>{sum($item/Qty)}</Total>
</Item>
When I try to format that code with the format and indent button I get an error

Code: Select all

System ID: C:\SomePath\test2017101602.xq
Severity: error
Description: Cannot format the document. Encountered " ":=" ":= "" at line 2, column 14.
Was expecting one of:
<WS> ...
"," ...
"stable" ...
"order" ...
"collation" ...
"count" ...
"where" ...
"return" ...
"as" ...
"for" ...
"let" ...
"group" ...
":)" ...

Start location: 2:13
Length: 1
Looking at https://www.w3.org/TR/xquery-30/#id-group-by and the grammar

Code: Select all

GroupingSpec	   ::=   	GroupingVariable (TypeDeclaration? ":=" ExprSingle)? ("collation" URILiteral)?

it appears to me the syntax is fine. And oXygen runs the query without problems, the problem is simply that it does not manage to format it.

Re: Can't format XQuery with group by clause using ":="

Posted: Mon Oct 16, 2017 3:45 pm
by Radu
Hi Martin,

This is a bug in our XQuery format and indent facility, I will log an internal issue for this and we'll update this thread when a fix is available.
Hopefully we'll be able to integrate a fix in a future Oxygen 19.1 minor bug fix release (we make such small bug fix releases about once a month).

Regards,
Radu

Re: Can't format XQuery with group by clause using ":="

Posted: Fri Jan 05, 2018 3:30 pm
by ionela
Hi,

Just to update the thread, in the latest maintenance build of Oxygen 19.1, 2017121318 (released on December 13th) the e XQuery Format and Indent was improved:
XQuery: Improved the XQuery Format and Indent to take into account all XQuery 3.1 constructs when indenting.
You can download it from our web site:
http://www.oxygenxml.com/download.html

The list of bug-fixes can be found here:
https://www.oxygenxml.com/build_history.html#2017121318

You can follow the release/build RSS feed here:
http://www.oxygenxml.com/rssBuildID.xml

Let us know if you encounter further problems with this new build.

Regards,
Ionela