2016-06-15 10 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句は、FLWORと他の式でのみ使用できます。

コードは、従って包装を

return (...) 

取り外しアリティ1とリターンがエラーを修正する必要が呼び出された関数への呼び出しとして解析されます。

関連する問題