我试图解决我在MarkLogic中有一组文档的问题,并且我想在层次结构中的特定点搜索特定节点。我想使用类似于cts:element-value-query的东西,但似乎它没有指定层次结构级别或类似的选项。
我想这样做的原因是在层次结构的其他地方有相同的命名空间/命名节点,我想为了这个特定查询而忽略它们。
一个例子是这样的:
<rootNode xmlns="myNamespace">
<someBooleanValue>true</someBooleanValue>
<someSubNode>
<someBooleanValue>false</someBooleanValue>
</someSubNode>
</rootNode>
我想要的地方,例如,rootNodes someBooleanValue为root的直接子节点。我知道如何专门查询someSubNode的someBooleanValue子节点,但是我试图弄清楚如何专门为rootNode的子节点做这个。
出于此问题的目的,请假设更改XML结构/命名空间并不容易。这是专门针对MarkLogic 5.x。
谢谢!
答案 0 :(得分:1)
您可以将查询包装在cts:element-query中,但这类似于祖先或自我检查,不一定只是父检查。如果你使用这样的通用名称,那可能就不够了。
更好的选择是考虑升级到ML 6,它们引入了路径索引,允许您指定元素的特定路径。可能值得它..
HTH!