2016-02-16 2 views
1

Я работаю над модулем действия CPF. У меня есть импорт, который выглядит следующим образом:Импорт модуля XQuery из родительского каталога

import module namespace adu = "http://ir.abbvie.com/marklogic/authorization/lib/document-util" 
    at "../document-util.xqy"; 

Проводятся ли здесь относительные пути? В моей трассе CPF в свойствах загруженного документа я вижу, что это попытка загрузить /document-util.xqy вместо того, чтобы просто перейти к родительскому каталогу.

XDMP-MODNOTFOUND: (err:XQST0059) Module /document-util.xqy not found 

Нужно ли включать все мои модули, чтобы это работало? Я загружаю их в модули db, а не в файловую систему. Они предназначены для того, чтобы быть библиотечными модулями, которые кто-то может добавить к их внутреннему проекту, поэтому я хотел бы использовать относительные пути, а не полностью квалифицированные пути из-за того, что не знаю, каким будет полный путь. Что может отличаться от проекта к проекту.

ответ

2

Я решил это, изменив настройку корня в Домен трубопровода, чтобы указать на родительский каталог. Затем в конвейере config XML я просто ссылаюсь на модуль действия, используя относительный подкаталог, например cpf/apply-permissions.xqy. И в этом модуле у меня нет проблем, связанных с родительскими модулями через «../module.xqy».

+2

Да, если вы используете корневую настройку, которая находится под общим родителем, который вы ищете, вы не сможете получить к нему доступ. MarkLogic будет буквально подвергать эти документы только этому корню, а не просто использовать его в качестве отправной точки. – grtjn

Смежные вопросы