Return 使用满足包含 XQuery 的课程数

Return the count of courses using satisfies contains XQuery

我一直在努力 return this XML file 中包含 "Cross-listed" 描述的课程数量。我遇到的问题是因为我正在使用 for,它迭代并给我“1 1”而不是“2”。当我尝试使用 let 时,我得到 13,这意味着即使我指向 return count($c["Cross-listed"],它也会无条件计数。我做错了什么,我该如何解决?谢谢提前

for $c in doc("courses.xml")//Department/Course
where some $desc in $c/Description
satisfies contains($desc, "Cross-listed")
return count($c)

The problem I encounter is because I am using for

你说得很对。您无需单独处理项目即可对其进行计数。

你把事情搞得太难了。你要

count(doc("courses.xml")//Department/Course[Description[contains(., "Cross-listed"]])

这里的关键是:你想要一个计数,所以调用 count() 函数,并给它一个参数来选择你想要包括在计数中的一组东西。