Xquery 使用序列中的参数调用函数?
有没有一种通用的方法可以使用从序列中获取的参数调用xquery函数 例如,我可以这样做:Xquery 使用序列中的参数调用函数?,xquery,Xquery,有没有一种通用的方法可以使用从序列中获取的参数调用xquery函数 例如,我可以这样做: let $dateandtime := (xs:date('2006-08-15'),xs:time('12:30:45-05:00')) return fn:dateTime($dateandtime[1], $dateandtime[2]) 但是有没有一种方法可以调用fn:dateTime,而不显式地指定所有参数,只提供序列?(我意识到这是有限的,因为序列不能嵌套。) 以下是我如何用其他语言实现这一目
let $dateandtime := (xs:date('2006-08-15'),xs:time('12:30:45-05:00'))
return fn:dateTime($dateandtime[1], $dateandtime[2])
但是有没有一种方法可以调用fn:dateTime
,而不显式地指定所有参数,只提供序列?(我意识到这是有限的,因为序列不能嵌套。)
以下是我如何用其他语言实现这一目标的示例:
- python:
functionname(*args)
- javascript:
functionname.apply(null,args)
- php:
call\u user\u func\u数组('functionname',$args)
但是,Java提供了反射包,可以在运行时动态访问和调用函数。XQuery 3.0的新的高阶功能可用于引入另一个
apply($f as function(*)、$s as item()*)
函数。如果您认为这会有所帮助,则可能是请求此类功能的最佳平台。不清楚函数签名查找将如何与动态函数调用交互。说得好。