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