op:replace-insert-child( $patch-builder-plan as map:map, $parent-path as xs:string, $path-to-replace as xs:string, $content as node() ) as map:map
Replace a child if it exist, or insert if it does not exist.
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; declare option xdmp:update "true"; let $doc-descriptors := ( map:entry("uri", '/optic/update/write4.xml') =>map:with("doc", <doc><entry><action>write4</action></entry></doc>), map:entry("uri", '/optic/update/write5.xml') =>map:with("doc", <doc><entry></entry></doc>) =>map:with("collections", ("write")) ) return op:from-doc-descriptors($doc-descriptors) =>op:patch(op:col("doc"),op:patch-builder("/") =>op:replace-insert-child("entry","action",<action>write</action>) ) =>op:write(op:doc-cols()) =>op:result()