Xquery 更新数据库(BaseX)时没有更新表达式错误

Xquery 更新数据库(BaseX)时没有更新表达式错误,xquery,basex,xquery-3.0,xquery-update,Xquery,Basex,Xquery 3.0,Xquery Update,我使用的是BaseX 8.6.6版,在更新数据库时出现错误“表达式必须全部更新或返回空序列”,下面是代码: declare %private %updating function local:ingest-job() { let $contentpath := 'D:\2019\bloomsbury-ingest-content\TEI.zip' let $result := let $archive := file:read-binary($contentpath)

我使用的是BaseX 8.6.6版,在更新数据库时出现错误“表达式必须全部更新或返回空序列”,下面是代码:

declare  %private %updating function local:ingest-job()
{
let $contentpath := 'D:\2019\bloomsbury-ingest-content\TEI.zip'
let $result := let $archive := file:read-binary($contentpath)
               for $entry in archive:entries($archive)[fn:ends-with(., '.xml')]
               let $rootNode := fn:name(fn:parse-xml(archive:extract-text($archive, $entry))/*)
               return
               let $docId := fn:parse-xml(archive:extract-text($archive, $entry))/*/@xml:id/string()[$rootNode='TEI']
               let $cid := fn:replace($docId,'[a-zA-z-]','')
               let $jobID := fn:concat($cid,'-',fn:string(fn:format-dateTime(fn:current-dateTime(), '[Y0001][M01][D01][H01][m01][s01][f01]')))

              let $jobChunk := <job>
                                  <job-info>
                                      <id>{$jobID}</id>
                                      <cid>{$cid}</cid>
                                  </job-info>
                              </job>
               return
                  (
                   db:add('testdb',$jobChunk,fn:concat('/jobs/',$jobID,'.xml')),
                  <result><status>Success</status><message>Job created</message><jobid>{$jobID}</jobid></result>
                  )

 return db:output(<results>{$result}</results>)
};
声明%private%更新函数local:inset-job()
{
让$contentpath:=“D:\2019\bloomsbury摄取内容\TEI.zip”
let$result:=let$archive:=文件:读取二进制($contentpath)
对于存档中的$entry:entries($archive)[fn:以(,'.xml')结尾]
让$rootNode:=fn:name(fn:parse xml(archive:extract text($archive,$entry))/*)
返回
让$docId:=fn:parse xml(存档:提取文本($archive,$entry))/*/@xml:id/string()[$rootNode='TEI']
让$cid:=fn:replace($docId,'[a-zA-z-]','')
让$jobID:=fn:concat($cid,'-',fn:string(fn:format dateTime(fn:current-dateTime(),'[Y0001][M01][D01][H01][M01][s01][f01]))
让$jobcunk:=
{$jobID}
{$cid}
返回
(
db:add('testdb',$jobcunk,fn:concat('/jobs/',$jobID',.xml'),
SuccessJob已创建{$jobID}
)
返回db:output({$result})
};

这是一个完全相同的。请不要将同一问题发布两次(在不同帐户下)。这是否回答了您的问题?