我可以从Marklogic中的另一个.xqy页面调用.xqy页面吗?
答案 0 :(得分:2)
有几种方法可以执行另一种.xqy,但最明显的可能是使用xdmp:invoke
。它调用.xqy,等待其结果并在代码中当场返回它们。您还可以使用xdmp:function
和xdmp:apply
组合调用单个函数。您也可以使用xdmp:eval
,但这通常是最后的手段。
另一种策略可能是使用xdmp:http-get
,但随后执行在不同的事务中运行,因此总是会提交。您还需要知道另一个.xqy的url,它需要了解是否以及如何在应用服务器中重写url(默认情况下不是这样)。
xdmp:spawn
也可以运行其他.xqy而无需等待结果。特别适用于调度例如内容处理的重负载。调度100到1000个文档的批次很常见。请关注任务队列大小..
HTH!