나는 다음과 같은 쿼리에 어떤 문제가 있는지 알아 내려고 노력하고 있어요 :구문 오류, '약간 만족'
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"))
내가 무엇입니까 구문 오류가 있습니다 :
정적 오류 [ERR : XPST0003] : 잘못된 표현 : synta x 오류, 예기치 않은 "$"
저는 쿼리를 처리하는 데 Zorba를 사용하고 있으며 rss.xml 파일에는 RSS 피드가 들어 있습니다. 내가 말했듯이, 쿼리는 두 개의 테스트가 포함 된 상태에서 제대로 작동합니다.
감사합니다. 나는 또한 내가 어디서부터 .. 그리고 OR 표현식으로 시작할 수 있다는 것을 깨달았다. – DanielS
먼저 QuantifiedExpr을 배치 할 때 괄호를 사용하는 것이 더 좋습니다. 그렇지 않으면 OrExpr이 QuantifiedEpr에 포함되어 있기 때문에 약간 다른 결과를 초래할 수 있습니다. 귀하의 경우에는 '카테고리'가없는 '항목'이있을 때 차이가납니다. '일부 $ x in()은 true() 또는 true()'를 만족하고'(false) '는'true '를 반환합니다. – Gunther
당신이 옳습니다. 고마워요! – DanielS