Marklogic:DLS-INVALIDVERSION

时间:2013-03-12 14:38:55

标签: versioning updating marklogic document-management document-versioning

在尝试访问我的托管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.   
  3. 如果未对其进行管理,请设置为使用eval语句中的dls:document-manage($uri, fn:false())进行管理
  4.   
  5. 使用eval声明中的dls:document-checkout-update-checkin($uri, $new-doc, "Document update", fn:true())更新文档
  6.   

到目前为止一切顺利。

在争取获得特定版本的文档时:

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

    ==>当使用$ version:= 4时,它会给我一个有效的文档(反过来是最新的版本)

         

    ==>当使用$ version:= 1时,它只是给我一个错误,表明版本1的文档不存在。

我做错了什么?

我正在使用MarkLogic 6.

1 个答案:

答案 0 :(得分:1)

您可能没有使用dls:retention-rule-insert设置保留策略,默认保留规则不保留任何内容(这意味着MarkLogic每次存储新版本时都会删除给定文档的所有旧版本它)。请参阅 MarkLogic Application Developer's Guide 中的“定义保留政策”部分,here