eXist: возможно ли хранить модули XQuery в файлах XML? - PullRequest
2 голосов
/ 08 февраля 2011

Вы можете сохранить модуль в eXist, например, следующий под /modules/my.xqm:

module namespace my = "http://www.example.com/";
declare function my:answerToTheUltimateQuestion() as xs:integer { 42 }

И затем импортируйте его в запрос, такой как:

import module namespace my="http://www.example.com/" 
                        at "xmldb:exist:///db/modules/my.xqm";
my:answerToTheUltimateQuestion()

Вместо того, чтобы хранить XQuery в «текстовом файле», возможно ли сохранить его в XML-файле, который будет просто оболочкой для XQuery? Я имею в виду оболочку, похожую на ту, которую мы используем при отправке запросов к eXist (<exist:query><exist:text>). Это упростит управление модулями XQuery с помощью инструментов, которые ожидают данные XML, хранящиеся в базе данных.

1 Ответ

3 голосов
/ 08 февраля 2011

Вы можете сохранить свой XQuery в формате XQueryX в eXist-db, а затем использовать небольшой XQuery и XSLT из спецификации XQueryX W3C в eXist-db, чтобы преобразовать это в XQuery и выполнить его.

...