Мне нужно управлять версиями документов.Для этого я использую DataManagement от MarkLogic (dls:document-insert-and-manage
и dls:document-checkout-update-checkin
).
Я пытаюсь включить дополнительные данные для каждой версии этого документа (например, majorversion, minorversion, ...).Насколько я вижу, я не могу изменить свойства dls:
Version.Использование dls:document-set-property($uri,<dls:majorversion>1</dls:majorversion>
) приводит к
DLS-SPECIALPROP: (err: FOER0000) Невозможно обновить свойства в пространстве имен dls
Как добавить информацию для каждой версиидокументы, чтобы я мог запросить их (например, дать мне последнюю версию документа, где majorversion равен 1)?
Редактировать: я пытался установить свойства, используя dls:document-set-property($uri, $prop)
при обновлении.
dls:document-checkout('/textdoc/4.xml', fn:true(),"checking out 2",3)
;
dls:document-set-property('/textdoc/4.xml', <mainversion>3</mainversion>),
dls:document-update('/textdoc/4.xml', $doc, "update", fn:true() )
;
dls:document-checkin('/textdoc/4.xml', fn:true())
К сожалению, я не смог получить историю моей собственности.Использование
let $uri := fn:concat('/textdoc/4.xml')
let $results := for $versionuri in dls:document-version-uris($uri)
return xdmp:document-properties($versionuri)
не дало мне ни одного из моих свойств.
использование xdmp:document-properties($uri)
(на основе uri документов) приводит только к последнему содержанию (<mainversion>3</mainversion>
) моих свойств,Все прежнее содержимое для свойства mainversion потеряно.
Я не нашел никакого метода, извлекающего свойства в dls.Есть ли история свойств?
Я что-то упустил?