transactions - xdmp:invoke-function 中的多语句对使用的分号给出错误
问题描述
我尝试在内部使用多语句xdmp:invoke-function
,但失败并出现以下错误:
XDMP-BADSEMISEP: (err:XPST0003) 在 XQuery 中,分号不是语句分隔符所必需的。您的意思是使用“,”吗?
产生上述错误的代码:
let $content := <poem>Johny Johny Yes Papa ! Eating sugar No Papa !</poem>
return
xdmp:invoke-function(
function() {xdmp:document-insert("/poem2.xml",$content);
fn:doc("/poem2.xml"),
xdmp:commit() },
<options xmlns="xdmp:eval">
<transaction-mode>update</transaction-mode>
</options>)
那么,如何在里面运行多语句查询xdmp:invoke-function
呢?
解决方案
If you really want to invoke your code as multi-statement, you could use xdmp:invoke
and invoke a multi-statement module in your modules database.
Alternatively, if you do not transform your document while inserting, you could return your $content
instead of fetching it again.
let $content := <poem>Johny Johny Yes Papa ! Eating sugar No Papa !</poem>
return xdmp:invoke-function(function() {
let $x := xdmp:document-insert("/poem2.xml",$content)
return $content
})
推荐阅读
- javascript - 如何将base64格式的文件推送到数组中?
- r - 如何绘制二分存在/不存在数据以补充时间序列数据
- opencv - 如何有效地将编辑和展平的 PDF 中的所有黑色矩形更改为白色?
- azure - 用于 Web api 应用服务的 Azure 可用区
- node.js - 如何使用节点 reactjs 进行服务器端渲染?
- r - R中的时间序列预测,具有多个具有多个时间观察的产品
- aframe - A 帧 x 和 z 对象旋转实际上是移动对象位置
- python - 将角度旋转 90 度熊猫
- security - PE/ELF 可执行文件格式 - 恶意软件示例执行
- python - Doing conditional calculations with datetime and pandas