Xquery 如何从Marklogic中的其他.xqy页面调用.xqy页面?

Xquery 如何从Marklogic中的其他.xqy页面调用.xqy页面?,xquery,marklogic,Xquery,Marklogic,我可以从Marklogic中的另一个.xqy页面调用.xqy页面吗?执行另一个.xqy有几种方法,但最明显的可能是使用xdmp:invoke。它调用.xqy,等待其结果并在代码中当场返回它们。您还可以使用组合xdmp:function和xdmp:apply调用单个函数。您也可以随意使用xdmp:eval,但这通常是最后的选择 另一种策略可以是使用xdmp:httpget,但是执行会在不同的事务中运行,因此总是提交。您还需要知道另一个.xqy的url,这需要了解是否以及如何在应用服务器中重写url

我可以从Marklogic中的另一个.xqy页面调用.xqy页面吗?

执行另一个.xqy有几种方法,但最明显的可能是使用
xdmp:invoke
。它调用.xqy,等待其结果并在代码中当场返回它们。您还可以使用组合
xdmp:function
xdmp:apply
调用单个函数。您也可以随意使用
xdmp:eval
,但这通常是最后的选择

另一种策略可以是使用
xdmp:httpget
,但是执行会在不同的事务中运行,因此总是提交。您还需要知道另一个.xqy的url,这需要了解是否以及如何在应用服务器中重写url(不是默认情况)

使用
xdmp:spawn
也可以在不等待结果的情况下运行other.xqy。特别适用于分派繁重的负载,例如内容处理。发送100到1000份文档的批处理非常常见。不过,请注意任务队列的大小


在这种情况下,什么是XQuery页面?你说的是用XQuery生成的HTML页面吗?您正在谈论从包含可重用代码的主模块导入库模块吗?如果您进入
xdmp:spawn
territory,则提供一些可能有用的实用程序函数。不要忘记xdmp:redirect-response()用于简单的HTTP重定向到其他URL。