我有一个名为entity
的根节点的XML文档。对于每个文档,我想计算其名称为tender
的节点数,并将其作为属性添加到entity
。
import module namespace file = "http://expath.org/ns/file";
for $file in file:list("../api/entity/p/", true(), "??????.xml")
let $doc := doc(concat("../api/entity/p/", $file))
return
update insert attribute number_of_tenders {count($doc//tender)} into $doc/entity
我关注http://exist-db.org/exist/apps/doc/update_ext.xml,这不是Zorba,但我猜这是标准的XQuery。
我收到错误
6,69: static error [err:XPST0003]: invalid expression: syntax error, unexpected expression (missing comma "," between expressions?)
我做错了什么?
答案 0 :(得分:1)
我怀疑您的更新声明对Zorba不正确。 eXist实现了XQuery Update 1.0的早期草案。我相信Zorba正确地实现了XQuery Update 1.0规范,因此您的更新应该符合这一点:http://www.w3.org/TR/xquery-update-10/
也许是这样的:
for $file in file:list("../api/entity/p/", true(), "??????.xml")
let $doc := doc(concat("../api/entity/p/", $file))
return
insert node attribute number_of_tenders {count($doc//tender)} into $doc/entity