我有一个 corb 脚本来对 xml 文件运行节点替换。
如果我不指定集合,它会从现有集合中删除文档吗?
如果您使用 更改文档xdmp:node-replace()
,则文档将保留在其集合中,您无需担心设置/添加回来。
如果您xdmp:document-insert()
用于替换当前 URI 处的文档,那么您确实需要指定集合,否则它将从现有集合中删除。
但是,您可以使用它xdmp:document-get-collections()
来检索 URI 的集合序列并将其用于第 4 个参数xdmp:document-insert()
xdmp:document-insert($URI, $doc, (), xdmp:document-get-collections($URI))
最好在执行节点替换时提供一个空集合值,这样它就不会改变文档的现有集合。未定义此属性会在运行脚本时引发错误。