MarkLogic 8 - Corb передает аргументы, отличные от $URI

Итак, у меня есть файл uris.xqy, который получает URI документа, с которым я хочу работать в corb.

Тогда у меня есть docs.xqy, который приносит $URI declare variable $URI as xs:string external;

А потом я делаю некоторую обработку этого документа.

Теперь я хочу передать параметр corb из командной строки таким образом, чтобы ./ml ${Environment} corb --uris=/uris.xqy --modules=/docs.xqy --hello=world

Когда я выполню команду выше, я получу доступ к hello и его содержимому в docs.xqy.

2 ответа

Я думаю, что вы ищете, это пользовательская собственность

PROCESS-MODULE.hello=world

Вики CORB2 объясняет это на

https://github.com/marklogic/corb2/wiki/Other-Properties

Чтобы использовать пользовательское свойство, оно должно начинаться с имени задачи и объявляться как внешняя переменная в XQuery.

Чтобы передать имя коллекции в задачу PROCESS, используйте:

PROCESS-MODULE.collectionName=nameOfCollectionToUse

С Roxy v1.7.4+ вы можете теперь указать любые параметры CoRB, чтобы включить пользовательские входы модуля, используя либо -- или же -D переключатели.

Если вы обновитесь до Roxy 1.7.4.1 (или более поздней версии), вы можете отправить значение во внешнюю переменную модуля docs.xqy с именем "hello", выполнив следующее:

./ml ${Environment} corb --uris=/uris.xqy --modules=/docs.xqy --PROCESS-MODULE.hello=world
Другие вопросы по тегам