1

管理ファイルの古いバージョンにアクセスしようとすると、XML次のようになります。

DLS-INVALIDVERSION: (err:FOER0000) /company/1448220.xml has no version number 3
in /MarkLogic/dls.xqy, at 1403:6, ...

実際、 /company/1448220_xml_versions内のバージョン 1、2、3 のファイルは存在しません (この場合、バージョン 4 が最新であると仮定します)。

(ドキュメント管理) 機能を使用してドキュメントを更新する場合dls、次のタスクを実行します。

  1. 文書が管理されているかどうかを確認する
  2. dls:document-manage($uri, fn:false())管理されていない場合は、eval ステートメント内で使用して管理するように設定します
  3. dls:document-checkout-update-checkin($uri, $new-doc, "Document update", fn:true())eval ステートメント内を使用してドキュメントを更新する

ここまでは順調ですね。

ドキュメントの特定のバージョンを取得するために結ぶ場合:

  1. dls:document-version($document-uri, xs:unsignedInt($version))

==> $version := 4 を使用すると、有効なドキュメントが得られます (これが最新バージョンです)

==> $version := 1 を使用すると、バージョン 1 のドキュメントが存在しないことを示すエラーが表示されます。

私が間違っていることは何ですか?

MarkLogic 6 を使用しています。

4

1 に答える 1

1

を使用して保持ポリシーを設定していない可能性がdls:retention-rule-insertあり、デフォルトの保持ルールは何も保持しません(つまりMarkLogic、新しいバージョンを保存するたびに、特定のドキュメントの古いバージョンをすべて削除します)。『MarkLogicアプリケーション開発者ガイド』の「保持ポリシーの定義」セクションを参照してください

于 2013-03-12T22:00:40.033 に答える