MarkLogic関数cts:urisの注意点
何かと不思議なcts:urisの注意点覚書です。
気づいたところがあれば追記していきます。
1.1つ目の引数は辞書的な意味で"最初の文字"を指定する
/apple/test/001.xml
/banana/test/001.xml
/orange/test/001.xml
役に立たない例ですが、何らかのクエリ($query)を用いて/apple/配下のドキュメントを検索しようと思い、このように書くと、
cts:yris("/apple/", (), $query)
クエリ条件が満たされている場合、/bananaや/orangeも検索結果に出てしまいます。
2.こうする
cts:directoryを使いましょう。
cts:uris( (), (), cts:and-query((cts:directory-query("/apple/"), $query) ) )