gpt4 book ai didi

xquery - 带参数的marklogic调用函数

转载 作者:行者123 更新时间:2023-12-04 14:10:33 24 4
gpt4 key购买 nike

xdmp:invoke 的文档中,可以将参数作为第二个参数传递。

对于 xdmp:invoke-function此选项不可用。有什么解决方法可以实现这一目标吗?

将列表映射到函数很容易。我想要实现的是一种面向方面的功能,它检查成功和失败的内容以及以这种方式调用的任何功能的标准日志消息。就像是:

declare function my-mapper ($array, $fn) {
(: standard logging and checks :)

for $a in $array
return try {
(: now call the function with parameter :)
xdmp:invoke-function($fn($a),<options>...</options>)

} catch ($e) {
(: standard housekeeping if something goes wrong :)
...
}
})


my-mapper($array, function ($item) {
(: do stuff with item :)
})

有没有办法在 XQuery 中使用 MarkLogic 实现这一点?

最佳答案

一个执行一个无法访问调用它的上下文的主模块,另一个执行一个具有所有上下文的函数。我认为这个想法是您不需要通过调用管道传递参数,因为您可以将它们作为调用 xdmp:invoke-function 的一部分传递给函数。 .您只需要将其包装在 0-arity 函数中:

xdmp:invoke-function(
function () { $fn($a) },
<options>...</options>)

关于xquery - 带参数的marklogic调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com