2012-02-08 2 views
3

Вместо того, чтобы переключаться между файлами редактирования в emacs и делать небольшие тесты в консоли запросов Marklogic, мне бы очень хотелось иметь возможность открыть буфер, написать немного XQuery, а затем запустить его на сервере Marklogic. запущен на виртуальной машине. По сути, я предполагаю, что идеальное решение приведет к чему-то подобному буферу нуля, где вы напишете некоторый elisp, а затем нажмите C-j, чтобы выполнить его.Как я могу использовать emacs для запуска кода xquery в базе данных Marklogic?

+0

Почему бы не просто запустить свою клиентскую программу в интерактивной оболочке внутри Emacs? – Sean

+0

Я не уверен, что понимаю. Сервер Marklogic работает на виртуальной машине, а консоль запросов - это веб-интерфейс для некоторого канала связи, который запускает произвольный код XQuery в соответствующей базе данных. Я хочу делать эти запросы из emacs. У меня нет клиентской программы, если у меня нет чего-то. –

+0

Я никогда не использовал MarkLogic, но есть ли у них существующие инструменты командной строки или, возможно, API через HTTP? Обертывание звонков в Emacs должно быть довольно простым. –

ответ

1

В основном я просто перемещаю свой код в библиотеки и импортирую эти библиотеки из cq. Но вы можете написать elisp, который отправляет ваш запрос через HTTP в модуль cq или QueryConsole eval.xqy, как HTTP POST.

Вы также можете использовать интерфейс textarea emacs для своего браузера, чтобы вы могли использовать cq через emacs.

https://chrome.google.com/webstore/detail/ljobjlafonikaiipfkggjbhkghgicgoh

https://addons.mozilla.org/en-US/firefox/addon/its-all-text/

https://github.com/marklogic/cq

+0

Кажется, что сделать POST для eval.xqy будет самым простым вариантом. –

1

Вызов eval.xqy через HTTP, как предложено @mblakele, вероятно, самый простой. Но если вы хотите более тесную интеграцию, есть библиотека XCC (Java/.Net; http://developer.marklogic.com/products/xcc/5.0), а также немного устаревшая библиотека libmlcc (http://robbertbroersma.nl/blog/a-blog.html). Возможно, это полезно для вас.

+0

Я думаю, что я собираюсь дать опцию eval, но похоже, что мне нужно будет сделать некоторую конфигурацию на стороне Marklogic, так что это, кажется, случай двух шагов вперед, три шага назад , –

+0

Возможно, вам удастся избежать дополнительной настройки, если у вас есть MarkLogic 5. Эта версия включает консоль запросов, которая включает в себя 'eval.xqy'. Он находится в 'Apps/qconsole/endpoints/eval.xqy' в вашем каталоге установки MarkLogic, что означает, что он доступен по умолчанию: например, http: // localhost: 8000/qconsole/endpoints/eval.xqy – mblakele

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