Что будет, если я не укажу название коллекции в Corb
У меня есть скрипт corb для запуска замены узла в файлах XML.
Если я не укажу коллекцию, удалит ли она документы из существующих коллекций?
2 ответа
Если вы изменяете документ с xdmp:node-replace()
, тогда документ останется в его коллекции, и вам не нужно беспокоиться об установке / добавлении его обратно.
Если вы используете xdmp:document-insert()
чтобы заменить документ по текущему URI, необходимо указать коллекцию (и), в противном случае он будет удален из существующих коллекций.
Тем не менее, вы можете использовать xdmp:document-get-collections()
чтобы получить последовательность коллекций для URI и использовать ее для 4-го параметра xdmp:document-insert()
xdmp:document-insert($URI, $doc, (), xdmp:document-get-collections($URI))
Лучше предоставить пустое значение коллекции, в то же время делая замену узла, чтобы она не изменяла существующие коллекции документа. Не определяя этот атрибут, выдает ошибки при запуске скрипта.