xquery - 更新数据库时没有更新表达式错误(BaseX)
问题描述
我正在使用 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>)
};
解决方案
推荐阅读
- java - Selenium 远程独立服务器 - 驱动程序未知
- c# - 在 C# 中计算字符串
- postgresql - 索引扫描不适用于 postgres 中的 json 数据集
- html - 在 mat-checkbox 之类的组件内进行角度插值
- python - 有没有办法在类的 __init__ 之后立即运行函数?
- pandas - Pandas df.shift(axis=1) 添加了额外的条目,为什么?
- oracle - Oracle 11g 中的重复插入监视表
- php - 如何在 AST 中获取变量名和值
- c - 通过引用传递时声明变量的行为是否未定义?
- r - 计算 R 中组和特定列中的唯一计数