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

Issues related to W3C XQuery.
Martin Honnen
Posts: 52
Joined: Tue Aug 19, 2014 12:04 pm

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

Post by Martin Honnen » Mon Oct 16, 2017 2:32 pm

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.

Radu
Posts: 6329
Joined: Fri Jul 09, 2004 5:18 pm

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

Post by Radu » Mon Oct 16, 2017 3:45 pm

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
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

ionela
Posts: 277
Joined: Mon Dec 05, 2011 6:08 pm

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

Post by ionela » Fri Jan 05, 2018 3:30 pm

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
Ionela Istodor
oXygen XML Editor and Author Support

Post Reply