2012-10-23 118 views
3

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

我想这样做的原因是在层次结构中的其他位置有相同的名称空间/命名节点,我希望忽略此特定查询的目的。

一个例子是这样的:

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

,我想,例如,rootNodes其中someBooleanValue是真实的直接子的根。我知道如何专门查询someSubNode的someBooleanValue子节点,但我想知道如何专门为rootNode的子节点进行操作。

为了这个问题的目的,请假定更改XML结构/名称空间并不容易。这是专门为MarkLogic 5.x.

谢谢!

回答

1

你可以用cts:element-query的方式来包装你的查询,但这就像一个祖先或自我检查,不一定只是父母检查。如果你使用这种通用名称,那可能是不够的。

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

HTH!

+0

谢谢! ML 6在我们的前进道路上,所以我们将围绕这一点进行规划。 –