Я хочу удалить одинаковые элементы, реплицированные 2353218 раз, оставив только один, в XML. Пытался вызвать процесс, но получил следующую ошибку. без икры это занимает слишком много времени. Пожалуйста помоги.
xquery version "1.0-ml";
let $input := doc("http://www.somedomain.com/name/12345.xml")/xpath/toMultipleElement[2 to last()]
let $batch-size := 50000
let $input-size := fn:count($input)
let $num-batches := xs:int(math:ceil($input-size div $batch-size ))
let $result :=
<root>{
for $batch-start in (1 to $num-batches)
let $processing-seq := $input[($batch-size * ($batch-start - 1) + 1) to ($batch-size * ($batch-start ))]
return
xdmp:spawn-function(function() {
xdmp:node-delete($processing-seq),
<success batch-start='{$batch-start}'> processing sequence deleted</success>
},
<options xmlns="xdmp:eval">
<result>true</result>
<transaction-mode>update-auto-commit</transaction-mode>
</options>)
}</root>
return
xdmp:save("D:/batch-wise-delete.xml", $result)
Ошибка: [1,0-мл] XDMP-DELEXTNODES: let $ processing-seq: = $ input [$ batch-size * ($ batch-start - 1) + от 1 до $ batch-size * $ batch-start] - Невозможно удалить внешние узлы