我正在尝试返回一个字符串,但不知何故,这个函数不会编译。我有点迷失了!
declare function local:findValue($vrf as xs:string?, $namefirst as element()*, $schoolfirst as element()*, $namesecond as element()*, $schoolsecond as element()*) as xs:string? {
return (
if (not(fn:empty($namefirst) or fn:empty($schoolfirst))) then (
if ($vrf) then (
"SCHOOL"
) else (
"HIGHSCHOOL"
)
) else if (not(fn:empty($namesecond) or fn:empty($schoolsecond))) then (
if ($vrf) then (
"SCHOOL"
) else (
"HIGSCHOOL"
)
) else ()
)
};
编译不会通过。它引发了标题中提到的异常,任何快速帮助都会很棒!
答案 0 :(得分:1)
XQuery函数中没有return子句,因为您只是声明要在花括号内返回的结果。 return子句仅在FLWOR和其他表达式中。
因此,代码被解析为对一个名为return with arity 1的函数的调用。删除包装
return ( ... )
应该修正错误。