如何使用emacs在Marklogic数据库上运行xquery代码?

如何使用emacs在Marklogic数据库上运行xquery代码?,emacs,xquery,marklogic,Emacs,Xquery,Marklogic,我不需要在emacs中编辑文件和在Marklogic查询控制台中进行小测试之间切换,而是希望能够打开一个缓冲区,编写一个小XQuery,然后在虚拟机上运行Marklogic服务器。实际上,我认为完美的解决方案会产生类似于scratch缓冲区的结果,在这里您可以编写一些elisp,然后点击C-j执行它。大多数情况下,我只是将代码移动到库中,然后从cq导入这些库。但是您可以编写elisp,通过HTTP将查询作为HTTP POST发送到cq或QueryConsoleeval.xqy模块 您还可以为浏览

我不需要在emacs中编辑文件和在Marklogic查询控制台中进行小测试之间切换,而是希望能够打开一个缓冲区,编写一个小XQuery,然后在虚拟机上运行Marklogic服务器。实际上,我认为完美的解决方案会产生类似于scratch缓冲区的结果,在这里您可以编写一些elisp,然后点击C-j执行它。

大多数情况下,我只是将代码移动到库中,然后从cq导入这些库。但是您可以编写elisp,通过HTTP将查询作为HTTP POST发送到cq或QueryConsole
eval.xqy
模块

您还可以为浏览器使用textarea emacs界面,以便通过emacs使用cq


按照@mblakele的建议,通过HTTP调用eval.xqy可能是最简单的。但是如果您想要更紧密的集成,可以使用XCC库(Java/.Net;),也可以使用稍旧的libmlcc库()。也许这些对您很有用。

为什么不在Emacs中的交互式shell中运行您的客户端程序呢?我不确定我是否理解。Marklogic服务器在虚拟机上运行,查询控制台是某个通信通道的web前端,该通道在关联数据库上运行任意XQuery代码。我想做的是从emacs内部执行这些查询。我没有客户端程序,除非我遗漏了什么。我从未使用过MarkLogic,但他们是否有现有的命令行工具或HTTP上的API?从Emacs到eval.xqy的包装调用应该相当容易。似乎向eval.xqy发送一个POST是最容易的选择。我想我会尝试一下eval选项,但看起来我必须在Marklogic端进行一些配置,所以这似乎需要向前两步,后退三步。如果使用MarkLogic 5,则可以避免额外配置。该版本包括查询控制台,其中包括
eval.xqy
。它位于MarkLogic安装目录下的Apps/qconsole/endpoints/eval.xqy,这意味着默认情况下它是可用的:例如