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

Issues related to W3C XQuery.
Martin Honnen
Posts: 31

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

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: 5386

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

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: 167

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

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

Return to “XQuery”

Who is online

Users browsing this forum: No registered users and 0 guests