2012-02-08 15 views
3

Emacsでファイルを編集したり、Marklogicのクエリコンソールで少しのテストをしたりするのではなく、バッファを開いて少しXQueryを書いてから、Marklogicサーバーに対して実行することができます仮想マシン上で実行されています。実際には、完璧な解決策は、あなたがelispを書いて、それを実行するためにC-jを打つ、スクラッチバッファに似たものになると思います。Emacsを使用してMarklogicデータベースでxqueryコードを実行するにはどうすればよいですか?

+0

Emacs内の対話型シェルでクライアントプログラムを実行するだけではどうですか? – Sean

+0

私は分かりません。 Marklogicサーバーは仮想マシン上で実行されており、クエリコンソールは関連するデータベースで任意のXQueryコードを実行する一部の通信チャネルのWebフロントエンドです。私がやりたいことは、emacsの中からこれらのクエリを行うことです。私は何かが欠けていない限り、私はクライアントプログラムを持っていません。 –

+0

私はMarkLogicを一度も使用しませんでしたが、既存のコマンドラインツールやHTTP上のAPIを持っていますか? Emacsからのどちらかへの呼び出しの折り返しはかなり簡単です。 –

答えて

1

ほとんどの場合、私は自分のコードをライブラリに移動し、それらのライブラリをcqからインポートします。しかし、あなたは、HTTP経由でクエリーをcqまたはQueryConsole eval.xqyモジュールにHTTP POSTとして送るelispを書くことができます。

また、emacs経由でcqを使用できるように、ブラウザ用のtextarea 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

eval.xqyへのPOSTを行うのが最も簡単な選択肢のようです。 –

1

@mblakeleによって示唆されているように、HTTP経由でeval.xqy呼び出すと、おそらく最も簡単です。しかし、より緊密な統合が必要な場合は、XCCライブラリ(Java/.Net; http://developer.marklogic.com/products/xcc/5.0)と若干古いlibmlccライブラリ(http://robbertbroersma.nl/blog/a-blog.html)があります。おそらくそれらはあなたにとって役に立ちます。

+0

私はevalオプションを与えるつもりだと思うが、Marklogic側でいくつかの設定をしなければならないかのように見えるので、2ステップ先送り、3ステップ戻し。 –

+0

MarkLogic 5をお持ちの場合、余分な設定を避けることができます。そのバージョンには、 'eval.xqy'を含むクエリコンソールが含まれています。 MarkLogicのインストールディレクトリの下にある 'Apps/qconsole/endpoints/eval.xqy'にあります。つまり、デフォルトで利用可能です:http:// localhost:8000/qconsole/endpoints/eval.xqy – mblakele