<div dir="ltr">Hi Mircea,<div><br>That's great news. Many thanks!</div><div><br></div><div>Joe</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 10, 2022 at 8:09 AM Oxygen XML Editor Support (Mircea Enachescu) <<a href="mailto:support@oxygenxml.com">support@oxygenxml.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
Hi Joe,<br>
<br>
The problem was identified and solved. it will be available in the
next version (25) of Oxygen that will be released this fall.<br>
Until the I suggest you to replace the square bracket format of
array ("[]") with the keyword fomat.<br>
Instead of the "[[]]" expression use: "array { array {}}".<br>
<br>
Regards,<br>
Mircea.<br>
<br>
<div>On 7/29/2022 8:34 PM, Joe Wicentowski
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Dear oXygen Support,
<div><br>
</div>
<div>I encountered an unexpected error today when applying
"Format & Indent" to a valid XQuery file. The error is:</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Cannot
format the document. Lexical error at line 21, column 33.
Encountered: "]" (93), after : ""</blockquote>
<div><br>
</div>
<div>The XQuery is as follows, and line 21, column 33
corresponds to the nested array constructors [[]] :</div>
<div><br>
</div>
<div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Helvetica"><span style="color:rgb(0,150,200)"><b>xquery
version</b></span> <span style="color:rgb(50,50,150)">"3.1"</span><span style="color:rgb(120,120,0)">;</span><br>
<br>
<span style="color:rgb(0,150,200)"><b>declare
namespace</b></span> <span style="color:rgb(0,0,230)"><b>array</b></span><span style="color:rgb(200,80,40)">=</span><span style="color:rgb(50,50,150)">"<a href="http://www.w3.org/2005/xpath-functions/array" target="_blank">http://www.w3.org/2005/xpath-functions/array</a>"</span><span style="color:rgb(120,120,0)">;</span><br>
<br>
<span style="color:rgb(0,150,200)"><b>let</b></span>
<span style="color:rgb(150,50,150)"><b>$permArray</b></span>
<span style="color:rgb(120,120,0)">:=</span>
<span style="color:rgb(0,150,200)"><b>function</b></span>(<span style="color:rgb(150,50,150)"><b>$myAr</b></span>
<span style="color:rgb(0,150,200)"><b>as</b></span>
<span style="color:rgb(0,0,230)"><b>array</b></span>(<span style="color:rgb(120,120,0)">*</span>))
<span> </span><br>
{<span> </span><br>
<span> </span><span style="color:rgb(0,150,200)"><b>let</b></span>
<span style="color:rgb(150,50,150)"><b>$extend</b></span>
<span style="color:rgb(120,120,0)">:=</span>
<span style="color:rgb(0,150,200)"><b>function</b></span>(<span style="color:rgb(150,50,150)"><b>$ar</b></span>
<span style="color:rgb(0,150,200)"><b>as</b></span>
<span style="color:rgb(0,0,230)"><b>array</b></span>(<span style="color:rgb(120,120,0)">*</span>)<span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(150,50,150)"><b>$mem</b></span>
<span style="color:rgb(0,150,200)"><b>as</b></span>
<span style="color:rgb(0,150,200)"><b>item</b></span>()<span style="color:rgb(120,120,0)">*</span>)
<br>
<span>
</span>{<br>
<span>
</span><span style="color:rgb(0,150,200)"><b>array</b></span>{ <span> </span><br>
<span>
</span><span style="color:rgb(0,0,230)"><b>for</b></span> <span style="color:rgb(150,50,150)"><b>$i</b></span>
<span style="color:rgb(0,0,230)"><b>in</b></span>
<span style="color:rgb(50,50,150)">1</span>
<span style="color:rgb(0,64,0)"><i>to</i></span>
(<span style="color:rgb(0,64,0)"><i>array:size</i></span>(<span style="color:rgb(150,50,150)"><b>$ar</b></span>)
<span style="color:rgb(120,120,0)">+</span><span style="color:rgb(50,50,150)">1</span>)<br>
<span>
</span><span style="color:rgb(0,0,230)"><b>return</b></span> <span>
</span><br>
<span>
</span><span style="color:rgb(0,64,0)"><i>array:insert-before</i></span>(<span style="color:rgb(150,50,150)"><b>$ar</b></span><span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(150,50,150)"><b>$i</b></span><span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(150,50,150)"><b>$mem</b></span>)<br>
<span>
</span>} <span> </span><br>
<span>
</span>}<span style="color:rgb(120,120,0)">,</span><br>
<span> </span><span style="color:rgb(150,50,150)"><b>$extendAllSubArrays</b></span>
<span style="color:rgb(120,120,0)">:=</span><span> </span><span style="color:rgb(0,150,200)"><b>function</b></span>(<span style="color:rgb(150,50,150)"><b>$zero</b></span>
<span style="color:rgb(0,150,200)"><b>as</b></span>
<span style="color:rgb(0,0,230)"><b>array</b></span>(<span style="color:rgb(120,120,0)">*</span>)<span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(150,50,150)"><b>$mem</b></span>
<span style="color:rgb(0,150,200)"><b>as</b></span>
<span style="color:rgb(0,150,200)"><b>item</b></span>()<span style="color:rgb(120,120,0)">*</span>)<br>
<span>
</span>{<br>
<span>
</span><span style="color:rgb(0,64,0)"><i>array:join</i></span>(<br>
<span>
</span><span style="color:rgb(0,150,200)"><b>for</b></span>
<span style="color:rgb(150,50,150)"><b>$i</b></span>
<span style="color:rgb(0,150,200)"><b>in</b></span>
<span style="color:rgb(50,50,150)">1</span>
<span style="color:rgb(0,150,200)"><b>to</b></span>
<span style="color:rgb(0,64,0)"><i>array:size</i></span>(<span style="color:rgb(150,50,150)"><b>$zero</b></span>)<br>
<span>
</span><span style="color:rgb(0,150,200)"><b>return</b></span>
<span style="color:rgb(150,50,150)"><b>$extend</b></span>(<span style="color:rgb(150,50,150)"><b>$zero</b></span>(<span style="color:rgb(150,50,150)"><b>$i</b></span>)<span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(150,50,150)"><b>$mem</b></span>)<br>
<span>
</span>)<br>
<span>
</span>}<br>
<span> </span><span style="color:rgb(0,150,200)"><b>return</b></span><br>
<span> </span><span style="color:rgb(0,64,0)"><i>array:fold-left</i></span>(<span style="color:rgb(150,50,150)"><b>$myAr</b></span><span style="color:rgb(120,120,0)">,</span>
[[]]<span style="color:rgb(120,120,0)">,</span><span> </span><span style="color:rgb(150,50,150)"><b>$extendAllSubArrays</b></span>)<span> </span><br>
}<br>
<span style="color:rgb(0,150,200)"><b>return</b></span>
<span style="color:rgb(150,50,150)"><b>$permArray</b></span>([<span style="color:rgb(50,50,150)">1</span><span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(50,50,150)">2</span><span style="color:rgb(120,120,0)">,</span> <span style="color:rgb(50,50,150)">3</span>])
<span style="color:rgb(120,120,0)">=></span>
<span style="color:rgb(0,64,0)"><i>serialize</i></span>(<span style="color:rgb(0,150,200)"><b>map</b></span>
{ <span style="color:rgb(150,50,150)"><b>"method"</b></span><span style="color:rgb(120,120,0)">:</span> <span style="color:rgb(50,50,150)">"json"</span>
})</p>
</blockquote>
</div>
<div><br>
</div>
<div>The query was shared on the XML.com Slack at <a href="https://xmlcom.slack.com/archives/C011NLXE4DU/p1659114945879269?thread_ts=1658881670.454309&cid=C011NLXE4DU" target="_blank">https://xmlcom.slack.com/archives/C011NLXE4DU/p1659114945879269?thread_ts=1658881670.454309&cid=C011NLXE4DU</a>.</div>
<div><br>
</div>
<div>Using the XQuery debugger, oXygen returns the expected
results: </div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[[3,2,1],[2,3,1],[2,1,3],[3,1,2],[1,3,2],[1,2,3]]</blockquote>
<div><br>
</div>
<div>But for some reason oXygen is unable to perform "format
& indent" on the source XQuery. Could you please
investigate this "lexical error"?</div>
<div><br>
</div>
<div>Thank you,</div>
<div>Joe</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
oXygen-user mailing list
<a href="mailto:oXygen-user@oxygenxml.com" target="_blank">oXygen-user@oxygenxml.com</a>
<a href="https://www.oxygenxml.com/mailman/listinfo/oxygen-user" target="_blank">https://www.oxygenxml.com/mailman/listinfo/oxygen-user</a>
</pre>
</blockquote>
<br>
<pre cols="100">--
Enachescu Mircea, Product Architect
Syncro Soft | oXygen XML
Tel: +1-650-352-1250 ext.212
<a href="mailto:support@oxygenxml.com" target="_blank">support@oxygenxml.com</a>
<a href="http://www.oxygenxml.com" target="_blank">http://www.oxygenxml.com</a>
</pre>
</div>
_______________________________________________<br>
oXygen-user mailing list<br>
<a href="mailto:oXygen-user@oxygenxml.com" target="_blank">oXygen-user@oxygenxml.com</a><br>
<a href="https://www.oxygenxml.com/mailman/listinfo/oxygen-user" rel="noreferrer" target="_blank">https://www.oxygenxml.com/mailman/listinfo/oxygen-user</a><br>
</blockquote></div>