17.7 (a) Here, adm is the namespace prefix used for the schema of the document in Fig 17.4 and CourseKey is defined as the primary key for Course elements: 17.12 (a) //Student[../CrsTaken/@CrsCode="MAT123" and ends-with(@StudId,"987")] (b) //Student[count(../CrsTaken) < 3 and starts-with(@Name,"Joe")] 17.14 17.21 (a) ( FOR $s IN document("http://xyz.edu/student.xml")//tuple WHERE contains($s/Address/@value,"Main St") RETURN $s ) (b) ( FOR $c IN document("http://xyz.edu/course.xml")//tuple WHERE NOT contains($c/CrsCode/@value,$c/DeptId/@value) RETURN $c ) (c) ( FOR $tIN document("http://xyz.edu/teaching.xml")//tuple WHERE starts-with($t/Semester/@value,"F") RETURN $t )