当我发送这样的查询xml文档
<query><text><![CDATA[
let $facts := fn:collection("factbook/factbook.xml")/mondial
let $c := ("Antarktika", "Atlantis")
for $name at $id in $c
return
insert node (<continent id="f0_aaa{$id}" name="{$name}" />) into $facts
]]></text></query>
使用
到REST APIcurl -i --data '...' 'http://localhost:8984/rest'
BaseX将报告以下错误:
[XPST0003] Incomplete FLWOR expression: expecting 'return'.
如果我在Web管理员查询页面上执行相同的查询,则接受该查询并插入节点。
为什么REST呼叫被拒绝?还有其他不适用于管理界面的限制吗?
如果我删除let
并展开相应的变量,则该查询将被REST API接受:
<query><text><![CDATA[
for $name at $id in ("Antarktika", "Atlantis")
return
insert node (<continent id="f0_aaa{$id}" name="{$name}" />) into fn:collection("factbook/factbook.xml")/mondial
]]></text></query>
REST用户具有写权限。我正在使用BaseX 9.0.2。