我的XQuery知识非常缺乏,但我正在尝试使用XQIB(浏览器中的XQuery),但即使只是设置变量错误
let $foo := "bar"
...生成错误
MXQuery output the following error during compilation:
Line 1, Column 18: err:XPST0003 Error while parsing FFLWOR Expr: 'return' expected!
let $foo := "bar" ERROR
Unknown.anonymous(Unknown Source)
我查看了XQIB网站上的示例,似乎let
语句始终存在于子例程中,例如警报或功能。这是否表明在XQuery中,代码必须始终存在于各种功能中,而不是独立的?
例如,他们的一个例子就是这个,当然有效:
b:alert(
let $x := <a><b>2</b><c>4</c></a>
return xs:string($x/b * $x/c)
)
但是,我的修改后的版本没有。
let $x := <a><b>2</b><c>4</c></a>
b:alert(
return xs:string($x/b * $x/c)
)
后者怎么了?提前感谢您的帮助。
答案 0 :(得分:3)
你的回归位置错误:
let $x := <a><b>2</b><c>4</c></a>
return
b:alert(
xs:string($x/b * $x/c)
)
如果您使用某些(部分)flwor-expression,则只需return
。 let
启动一个,因此您需要return
。由于您没有参数,因此您不需要(也不允许)在此处放置return
。