песочница eXist XQuery – это веб-страница с текстовым полем и кнопкой отправки. Когда вы вводите свой запрос и отправляете запрос, содержимое текстового поля отправляется в запрос sandbox.xql на сервере через Ajax, и сервер динамически выполняет запрос (используя util:eval()). Затем последовательность результатов сохраняется в сеансе. Затем в окне результатов отображаются первые десять элементов результирующей последовательности; вы можете пролистывать результаты по 10 за раз. Благодаря сохранению результатов в сеансе просмотр результатов не требует повторной отправки запроса. В следующий раз, когда вы отправляете запрос, ваши старые результаты очищаются, а новые результаты вставляются в сеанс.
Когда вы выполняете запрос через интерфейс REST (т. е. указывая ваш веб-браузер непосредственно на запрос, хранящийся в базе данных, например файл .xq, .xqy, .xql или .xquery). База данных считывает файл и выполняет запрос, напрямую возвращая все результаты прямо в браузер.
Обратите внимание, что хотя песочница не жалуется, если ваш запрос возвращает несколько результатов, браузер ожидает, что XML-документы будут правильно сформированы, т. е. иметь один корневой элемент. Распространенной ошибкой или недоразумением, возникающим при перемещении запроса из песочницы в сохраненный файл .xq, является забывание поместить результаты запроса в один корневой элемент.
Например, в Песочнице вы можете ввести это как запрос:
<x/>, <y/>, <z/>
Когда вы отправите его, вы получите 3 результата:
<x/>
<y/>
<z/>
Но если вы сохраните это как файл .xq (например, myquery.xq) и вызовете его через http://localhost:8080/exist/rest/db/myquery.xq, то вы получите сообщение об ошибке в браузере о неправильном формировании результатов. Решение состоит в том, чтобы обернуть результаты в корневой элемент, например:
<results><x/><y/><z/></results>
Ваш последний вопрос немного расплывчатый, но видели ли вы мой ответ на ваш предыдущий вопрос о том, как запустить преобразование CSV? Я описал, как написать запрос, чтобы получить CSV-файл, хранящийся в базе данных, преобразовать CSV-файл в XML и сохранить результаты в виде XML-файла в базе данных.
person
Joe Wicentowski
schedule
19.04.2012