代码之家  ›  专栏  ›  技术社区  ›  elmozgo

手动更新托管文档而不增加版本

  •  0
  • elmozgo  · 技术社区  · 7 年前

    我想手动更新托管文档,而不增加到新版本。

    我注意到更新uri引用的文档不会传播到最新版本指向的文档-我需要直接在最新版本中进行另一次更新。

    let $uri := "/docs/doc.xml"
    
    let $doc := fn:doc($uri)/doc
    let $_ := xdmp:node-replace($doc/element/text(), text { "changed" })
    
    let $hist := dls:document-history($uri)
    let $docFromHist := dls:document-version($uri, max(data($hist//dls:version-id)))/doc
    let $_ := xdmp:node-replace($docFromHist/element/text(), text { "changed" })
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Tamas    7 年前

    根据文档,您不能对“图书馆服务管理”下的文档使用节点更新功能:

    https://docs.marklogic.com/guide/app-dev/dls#id_87706

    不能对托管文档使用节点更新功能,例如xdmp:node replace。

    相反,您需要从dls库中运行适当的函数,在本例中是 dls:document-update()