3

我正在尝试解决一个问题,即我在 MarkLogic 中有一组文档,并且我想在层次结构中的特定点搜索特定节点。我想使用类似 cts:element-value-query 的东西,但它似乎没有指定层次结构级别或类似级别的选项。

我想这样做的原因是层次结构中的其他地方有相同的命名空间/命名节点,出于此特定查询的目的,我想忽略这些节点。

一个例子是这样的:

<rootNode xmlns="myNamespace">
    <someBooleanValue>true</someBooleanValue>
    <someSubNode> 
        <someBooleanValue>false</someBooleanValue>
    </someSubNode>
</rootNode>

我想要的地方,例如 rootNodes,其中 someBooleanValue 是 true 作为根的直接子级。我知道如何专门查询 someSubNode 的 someBooleanValue 子节点,但我正试图弄清楚如何专门针对 rootNode 的子节点进行查询。

出于这个问题的目的,请假设更改 XML 结构/命名空间并不容易。这专门针对 MarkLogic 5.x。

谢谢!

4

1 回答 1

2

您可以将查询包装在 cts:element-query 中,但这就像祖先或自我检查,不一定是仅父检查。如果你使用这样的通用名称,那可能是不够的。

毕竟,更好的选择是考虑升级到 ML 6,其中引入了路径索引,您可以在其中指定元素的特定路径。可能只是值得。。

于 2012-10-23T13:20:13.840 回答