2012-02-09 23 views
1

私はmarklogicを初めて使っています。誰も私にドキュメントのドキュメント名とXMLファイルの内容を取得するためのスクリプトを提供してください、また属性値を渡すことによってタイムスタンプをアップロード/作成できますか?Marklogic検索クエリ

答えて

3

この質問は理解しにくいです。 MarkLogicの文書は、名前ではなくURIで識別されます。あなたがそのURIを知っているならば、ちょうど

doc($uri) 

を得ることができます。文書の最終更新時間はあなたがたXPathプロパティを使用して取得することができ、文書のプロパティとして保存されている軸のような

doc($uri)/property::*:last-modified/string() 

xdmp:document-properties() API呼び出しなどのドキュメントプロパティを取得するための他の方法があります。

2

@ eric-blochの回答に加えて、検索した場合、fn:base-uri()またはxdmp:node-uri()を使用してuriを判断できます。

for $d in cts:search(doc(), cts:and-query(()))[1 to 10] 
return fn:base-uri($d) 

注:このようなたとえば、空と-問合せは、すべての文書が返さ取得するには少しトリックです。 1から10の述語は、データベース全体を一度に戻すのではなく、最初の10個だけを戻すようにします。最後に変更したプロパティでオーダーを追加する場合は、この方法で最古または最新の10のドキュメントを取得できます。

+0

あなたは「最初の10人だけ」(2人ではない)を意味すると思います。 –

+0

Thnx @ evan-lenz、答えを修正しました。 – grtjn