MarkLogic:Searching 对于来自局部变量的父节点中的子节点

MarkLogic:Searching for a child node in a parent node from local variable

我正在将文档节点存储在局部变量中,并希望从局部变量中搜索子节点。将父级视为:

let $parent :=<tempdoc>
                <identifier>
                  <a>1</a>
                  <b>2</b>
                </identifier>
              </tempdoc>

我不想插入父节点,因为它是在代码中间创建的临时节点。如果我将父项作为文档插入,我会执行以下操作,即从已插入的文档中搜索节点。

let $doc := cts:search(//*:identifier,
cts:directory-query(("/tempfiles/parentdocs/"),"1"))

其中 /tempfiles/parentdocs/ 是保存文档的目录。

但是如果文档存储在局部变量而不是数据库中怎么办?应该替换什么而不是 cts:directory-query 以便我可以在局部变量本身中搜索元素。

你想用这个变量做什么?

因为cts:search用于return数据库中的文档。
你已经有了 "document" 现在你只需要文档中的一些节点,这样你就可以使用 xpath 取回你想要的值作为你的局部变量。

let $parent :=<tempdoc>
           <identifier>
           <a>1</a>
           <b>2</b>
           </identifier>
           </tempdoc>
return $parent/identifier/element()