marklogic中的内存元素是什么?

marklogic中的内存元素是什么?,marklogic,Marklogic,我有两个文档,其中某些元素上的xdmp:node-replace()不起作用。还有一些其他文档集几乎与有问题的文档集相似,但是xdmp:node replace在这些文档上工作得非常好。尝试了所有可能出错的可能性,但徒劳无功。阅读一些xdmp:node replace函数对“内存元素”无效的地方 因此,为了验证问题是否与内存元素中的“”有关,我想知道它到底是什么 对它的任何了解都会有很大帮助在查询中构造的任何东西都是内存中的元素。例如,此XQuery生成内存中的元素: <test/>

我有两个文档,其中某些元素上的
xdmp:node-replace()
不起作用。还有一些其他文档集几乎与有问题的文档集相似,但是
xdmp:node replace
在这些文档上工作得非常好。尝试了所有可能出错的可能性,但徒劳无功。阅读一些
xdmp:node replace
函数对“内存元素”无效的地方

因此,为了验证问题是否与内存元素中的“”有关,我想知道它到底是什么


对它的任何了解都会有很大帮助

在查询中构造的任何东西都是内存中的元素。例如,此XQuery生成内存中的元素:

<test/>
这是一个典型的内存更新错误:

xdmp:node-replace(<x/>, <y/>)
xdmp:节点替换(,)

使用MarkLogic 6.0-1.1时,错误代码为
XDMP-UPCONSTNODES

如果要使用类似的函数调用更新内存中的节点,就像它们在数据库中一样,则有一个实用程序库可以做到这一点:

主库还随应用程序服务下的MarkLogic Server一起提供:


appservices/utils/in mem update.xqy

如果您使用
内存元素
导入以下模块

导入模块名称空间mem=”http://xqdev.com/in-mem-update“在mem update.xqy中的“/MarkLogic/appservices/utils/at”


您可以使用
mem:node replace(,)

而不是使用
xdmp:node replace
,以获得该库稍微优化的版本,请参阅:
xdmp:node-replace(<x/>, <y/>)