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

Name and number of arguments do not match any function signature in the static context - XQuery

我正在尝试 return 一个字符串,但不知为何这个函数无法编译。我有点迷茫!

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 函数中没有 return 子句,因为您只需在大括号内将结果声明为 returned。 return 子句仅在 FLWOR 和其他表达式中。

因此,代码被解析为调用一个名为 return 且参数为 1 的函数。移除包装

return ( ... )

应该修复错误。