let $prop_name := "Melting"
let $prop_val := "164"
let $property := fn:doc('test.xml')//*:propertyset[@prop_src[. != 'P']]//*:property[@prop_name=$prop_name]//*:value[. = $prop_val]
return
(for $node in $property
let $prop_node := $node/../../../..
let $property_set := $prop_node/..
let $property_count := fn:count(($property_set)//*:property)
return
(if($property_count = 1) then ()
else
(for $node in $prop_node return xdmp:node-delete($node))))
The above code is giving the below error XDMP-CONFLICTINGUPDATES: xdmp:eval(" let $key := "50000" let $prop_name := "D...", (), 18234865419863656389...) -- Conflicting updates xdmp:node-delete(fn:doc("test.xml")/:physprop/:propertyset[207]/:property[1]) and xdmp:node-delete(fn:doc("test.xml")/:physprop/:propertyset[207]/:property[1])
Please help me resolve the same, while deleting the nodes
let $prop_name := "Melting"
let $prop_val := "164"
let $property := fn:doc('test.xml')//*:propertyset[@prop_src[. != 'P']]//*:property[@prop_name=$prop_name]//*:value[. = $prop_val]
return
(for $node in $property
let $prop_node := $node/../../../..
let $property_set := $prop_node/..
let $property_count := fn:count(($property_set)//*:property)
return
(if($property_count = 1) then ()
else
(for $node in $prop_node return xdmp:node-delete($node))))
The above code is giving the below error XDMP-CONFLICTINGUPDATES: xdmp:eval(" let $key := "50000" let $prop_name := "D...", (), 18234865419863656389...) -- Conflicting updates xdmp:node-delete(fn:doc("test.xml")/:physprop/:propertyset[207]/:property[1]) and xdmp:node-delete(fn:doc("test.xml")/:physprop/:propertyset[207]/:property[1])
Please help me resolve the same, while deleting the nodes
Share asked Feb 10 at 12:47 Pragya KapoorPragya Kapoor 1316 bronze badges 2 |1 Answer
Reset to default 0this is resolved using the below code
xquery version "0.9-ml" let $property := fn:doc('test.xml')//*:propertyset[@prop_src[. != 'P']]//*:property[@prop_name=$prop_name]//*:value_base[. = $prop_val] let $prop_nodes := fn:distinct-nodes($property/../../../..) let $nodes_to_delete := (for $prop_node in $prop_nodes let $property_set := $prop_node/.. let $property_count := fn:count(($property_set)//*:property) return (if($property_count = 1) then 'true' else $prop_node)) return if($nodes_to_delete) then xdmp:node-delete(fn:distinct-nodes($nodes_to_delete)) else ()
xquery version "0.9-ml" let $property := fn:doc('test.xml')//*:propertyset[@prop_src[. != 'P']]//*:property[@prop_name=$prop_name]//*:value_base[. = $prop_val] let $prop_nodes := fn:distinct-nodes($property/../../../..) let $nodes_to_delete := (for $prop_node in $prop_nodes let $property_set := $prop_node/.. let $property_count := fn:count(($property_set)//*:property) return (if($property_count = 1) then 'true' else $prop_node)) return if($nodes_to_delete) then xdmp:node-delete(fn:distinct-nodes($nodes_to_delete)) else ()
– Pragya Kapoor Commented Feb 11 at 14:570.9-ml
is deprecated docs.progress/bundle/marklogic-server-whats-new-11/page/… – Mads Hansen Commented Feb 11 at 19:28