在哪里声明xquery函数?

时间:2013-01-24 13:40:36

标签: xml xquery basex exist-db

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

declare function local:identityFunction($v as xs:integer) 
{
  return ($v)
}; 

我在哪里声明它?

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

例如,basex抱怨以下消息:“期待表达”。

1 个答案:

答案 0 :(得分:5)

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

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

分号后面应该加上另一个表达式。

因此,这将有效:

declare function local:identityFunction($v as xs:integer) 
{
  $v
};     
local:identityFunction(17)