在哪里声明xquery函数?

Kam*_*ami 4 xml xquery exist-db basex

让我们采用我能想到的最简单的xquery函数:

declare function local:identityFunction($v as xs:integer) 
{
  return ($v)
}; 
Run Code Online (Sandbox Code Playgroud)

我在哪里申报?

我正在尝试使用exists-db和basex,但是如果我在查询处理器窗口中编写它,它们会给我一些错误(尽管正常的xqueries工作).

例如,basex抱怨以下消息:"Expecting expression".

Ben*_*ela 5

您可以在正常表达式之前插入它们.

你的错误是使用'return',这既不需要也不允许,因为xquery函数总是返回最后一个(也是唯一的)值.

并且分号应该跟随另一个表达式.

因此这将工作:

declare function local:identityFunction($v as xs:integer) 
{
  $v
};     
local:identityFunction(17)
Run Code Online (Sandbox Code Playgroud)