在 XQuery 中,如何获得导入模块中的函数列表?
In XQuery, how do you get a list of functions in an imported module?
我有一个模块中的函数列表,我想按顺序调用它们。这时候还得保留一个函数名列表,然后用fn:function-lookup
看有没有,然后xdmp:apply
和xdmp:function
调用函数
有什么方法可以获取导入模块中列出的函数序列吗?
我自己从未尝试过,但我认为您可以使用 xdmp:functions()
解决这个问题,并通过 xdmp:function-module()
过滤完整列表。心里想,很可能是函数顺序没有保持,以防万一。
我也想知道你为什么要花这么大的时间来做这件事。听起来你更像是在尝试 运行 一些测试或类似的东西。
HTH!
您可以使用 xdmp:functions()
到 return 所有 in-scope 函数的列表,然后过滤到 select 绑定到导入模块命名空间的方法:
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
xdmp:functions() ! fn:function-name(.)[fn:namespace-uri-from-QName(.) = 'http://marklogic.com/xdmp/admin']
我有一个模块中的函数列表,我想按顺序调用它们。这时候还得保留一个函数名列表,然后用fn:function-lookup
看有没有,然后xdmp:apply
和xdmp:function
调用函数
有什么方法可以获取导入模块中列出的函数序列吗?
我自己从未尝试过,但我认为您可以使用 xdmp:functions()
解决这个问题,并通过 xdmp:function-module()
过滤完整列表。心里想,很可能是函数顺序没有保持,以防万一。
我也想知道你为什么要花这么大的时间来做这件事。听起来你更像是在尝试 运行 一些测试或类似的东西。
HTH!
您可以使用 xdmp:functions()
到 return 所有 in-scope 函数的列表,然后过滤到 select 绑定到导入模块命名空间的方法:
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
xdmp:functions() ! fn:function-name(.)[fn:namespace-uri-from-QName(.) = 'http://marklogic.com/xdmp/admin']