名称和参数数与静态上下文中的任何函数签名不匹配-xQuery



我正在尝试返回字符串,但是以某种方式无法编译此功能。我有点迷路了!

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 ()
)

};

编译将无法完成。它引发了标题中提到的例外,任何快速帮助都会很棒!

xquery函数中没有返回子句,因为您只需声明要在卷曲括号内返回的结果即可。返回子句仅在flwor和其他表达式中。

因此,该代码被解析为呼叫与Arity 1返回的函数1.删除包装

return ( ... )

应解决错误。

最新更新