在XQuery中返回布尔计数

时间:2017-01-18 18:11:43

标签: xquery

我有给定的XML文件(https://prod-c2g.s3.amazonaws.com/db/Winter2013/files/courses-noID.xml)并尝试执行以下操作:

返回没有讲师作为讲师的课程数量(计数)。

我试过

let $course := doc("courses.xml")//Course
return count($course/Instructors/not(Lecturer))

但不是返回数字10而是返回13.因为它基本上给了我一个

的计数
  

false false false true true true true true true true true true true true

我需要做一些额外的检查来限制真实的吗?

1 个答案:

答案 0 :(得分:3)

您的测试需要在predicate

试试这个:

let $course := doc("courses.xml")//Course
return count($course/Instructors[not(Lecturer)])

另外,如果你真的想要计算课程,你的计数应该是:

count($course[Instructors[not(Lecturer)]])