我有一个XQuery函数。XQuery:计算函数的参数
declare function local:helloWorld($param1 as xs:string, $param2 as xs:string) as element() {
现在,我想说如果有可能计数传递给我的函数的参数。
可能吗?
在此先感谢
我有一个XQuery函数。XQuery:计算函数的参数
declare function local:helloWorld($param1 as xs:string, $param2 as xs:string) as element() {
现在,我想说如果有可能计数传递给我的函数的参数。
可能吗?
在此先感谢
有没有函数来计算的传递给函数的参数数量。参数的数量由函数声明确定。它不能根据输入而改变。
这个article解释功能。
在标准XQuery中是不可能的。
然而,即将推出的下一个Zorba版本(版本2.0)将包含一个用于内省的库,它正是您想要的。例如,在当前svn版本的Zorba中,查询如下:
import module namespace sctx = "http://www.zorba-xquery.com/modules/introspection/sctx";
declare function local:helloWorld($param1 as xs:string, $param2 as xs:string) as xs:string {
fn:concat($param1, $param2)
};
sctx:function-arguments-count(xs:QName("local:helloWorld"))
将返回“2”(如预期的那样)。还有一个模块可以完成反射,因此可以完全动态地构建函数调用。但是,您付出的代价当然是,该代码不再可移植到其他XQuery引擎。
是的,这是可能的,计数是2.这可能不是你要求的,所以关于上下文的一些信息将是有用的。 – Gunther