2016-06-15 59 views
1

我试图返回一个字符串,但不知何故,这个函数不会编译。我有点失落!参数的名称和数量与静态上下文中的任何函数签名都不匹配 - 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() 
) 

};

编译只是不会经过。它会抛出标题中提到的异常,任何快速帮助都会很棒!

回答

1

在XQuery函数中没有return子句,因为您只需声明要在花括号内返回的结果。 return子句仅在FLWOR和其他表达式中。

代码因此被解析为一个呼叫到一个函数调用返回与元数1卸​​下缠绕

return (...) 

应该修正错误。

相关问题