3

MarkLogic に一連のドキュメントがあり、階層内の特定のポイントで特定のノードを検索したいという問題を解決しようとしています。cts:element-value-query のようなものを使用したいのですが、階層レベルなどを指定するオプションがないようです。

これを行う理由は、この特定のクエリの目的で無視したい、階層内の他の場所に同じ名前空間/名前のノードがあるためです。

例は次のようになります。

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

たとえば、someBooleanValue がルートの直接の子として true である rootNodes が必要です。someSubNode の someBooleanValue 子に対して具体的にクエリを実行する方法は知っていますが、rootNode の子に対して具体的にクエリを実行する方法を見つけようとしています。

この質問のために、XML 構造/名前空間を変更することは容易ではないと仮定してください。これは MarkLogic 5.x 専用です。

ありがとう!

4

1 に答える 1

2

クエリを cts:element-query でラップすることもできますが、これは祖先または自己チェックのようなものであり、必ずしも親のみのチェックではありません。このような一般的な名前を使用すると、不十分になる可能性があります。

結局のところ、ML 6 へのアップグレードを検討することをお勧めします。パス インデックスが導入され、要素への特定のパスを指定できるようになります。それだけの価値があるかもしれません..

チッ!

于 2012-10-23T13:20:13.840 に答える