gpt4 book ai didi

xquery - XQuery 中量化表达式的语法错误,使用 'some in satisfies'

转载 作者:行者123 更新时间:2023-12-01 15:16:54 24 4
gpt4 key购买 nike

我试图弄清楚以下查询有什么问题:

for $item in doc("rss.xml")//item
let $title := lower-case($item/title)
let $description := lower-case($item/description)
where contains($title, "keyword") or
contains($description, "keyword") or
some $category in $item/category
satisfies contains($category, lower-case("keyword"))
return <tr>
<td>{data($item/title)}</td>
<td>{data($item/pubDate)}</td>
</tr>

添加一些满足条件后,我开始出现语法错误:

some $category in $item/category 
satisfies contains($category, lower-case("keyword"))

我得到的语法错误是:

static error [err:XPST0003]: invalid expression: syntax error, unexpected "$"

我正在使用 Zorba 处理查询,rss.xml 文件包含一个 RSS 提要。就像我说的那样,查询仅适用于两个包含测试。

最佳答案

QuantifiedExpr 周围需要一对额外的括号用于将其嵌入 OrExpr :

                                ... or
(some $category in $item/category
satisfies contains($category, lower-case("keyword")))
return ...

QuantifiedExpr优先级低于 OrExpr .查找OrExpr在 XQuery 语法中发现它需要 ParenthesizedExpr用于添加 QuantifiedExpr .

如果没有括号,some 在句法上是一个 QName 并且 $ 不是之后的有效延续。所以 Zorba 的提示是对的,任何其他 XQuery 解析器也可能会做同样的事情。

关于xquery - XQuery 中量化表达式的语法错误,使用 'some in satisfies',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com