Fat*_*lsa 3 xquery marklogic marklogic-9
我正在编写需要返回XML节点的修改版本的代码,而不更改父文档中的原始节点.
如何复制/克隆节点,以便原始上下文不会连接到/受其影响?我不希望对此节点进行更改以更改父文档中的原始节点,只更改我的函数返回的副本.
我正在寻找的东西与cts非常相似:高亮在内部做:
返回节点的副本,将与查询匹配的任何文本替换为指定的表达式.您可以使用此功能轻松突出显示查询中的任何文本.与fn:replace和其他与文字文本匹配的XQuery字符串函数不同,cts:highlight匹配与搜索匹配的每个术语,包括词干匹配或具有不同大小写的匹配.[marklogic docs> cts:highlight]
创建节点的克隆/副本的最简单方法是使用计算文档节点构造函数:
document{ $doc }
Run Code Online (Sandbox Code Playgroud)
如果您正在克隆一个不是a的节点document-node(),并且不想要它document-node(),只需克隆一个原始node()节点,那么您可以通过XPath从新节点中选择该克隆节点document-node():
document{ $foo }/node()
Run Code Online (Sandbox Code Playgroud)