Я новичок в marklogic. Может ли кто-нибудь предоставить мне сценарий для получения имени документа и содержимого XML-файла документа, а также загруженной / созданной метки времени путем передачи значения атрибута.
Поисковый запрос Marklogic
Ответы (2)
В дополнение к ответу @ eric-bloch, если вы выполнили поиск, вы можете определить uri, используя fn:base-uri()
или xdmp:node-uri()
. Например так:
for $d in cts:search(doc(), cts:and-query(()))[1 to 10]
return fn:base-uri($d)
Примечание: пустой запрос и - это небольшая уловка, позволяющая вернуть все документы. Предикат от 1 до 10 гарантирует, что вы получите не всю базу данных сразу, а только первые десять. Если бы вы добавили заказ по последнему измененному свойству, таким образом вы могли бы получить десять самых старых или самых новых документов.
Этот вопрос трудно понять. Документы в MarkLogic идентифицируются по URI, а не по имени. Если вы знаете URI, просто сделайте
doc($uri)
получить содержимое. Время последнего изменения документа сохраняется как свойство документа, которое можно получить с помощью оси свойств XPath, например
doc($uri)/property::*:last-modified/string()
Есть и другие способы получить свойства документа, например вызов API xdmp:document-properties()
.