eXist数据库查询:file:move返回错误



我开始使用eSide来完成我的工作,我不得不说文档非常差。。。我找不到解决这个问题的方法:

err:XPTY0004检查调用文件中的函数参数1:move($position,$destination(:XPTY0004:参数1的实际基数与函数签名中声明的基数不匹配:file:move($original as item((,$destination as item。所需基数:恰好为1,实际为0。[在第8行第24列,源:xquery版本"3.1";导入模块名称空间文件="3.1";http://exist-db.org/xquery/file";让$login:=xmldb:login('/db','admin',''(用于集合中的$doc('/db/lime-fao/fao-resolution@lime.com'(let$position:=document uri($doc([contains(.,'main.xml'(]let$destination:=replace($position,'main.xml','main'(return file:move($position,$destination(]

我做错了什么?以下是查询:

xquery version "3.1";
import module namespace file = "http://exist-db.org/xquery/file"; 
let $log-in := xmldb:login('/db', '*********', '*********')
for $doc in collection('/db/******/******@*****.****')
let $position := document-uri($doc)[contains(., 'main.xml')]
let $destination := replace($position, 'main.xml', 'main')
return file:move($position,$destination)

谢谢。

您可以尝试以下操作。

XQuery

...
let $position := base-uri($doc)[ends-with(., 'main.xml')]

最新更新