В коде, который вы опубликовали, цикл for выполняет итерацию по последовательности различных title
строковых значений.
Вы не можете XPath в эти строки.
Скорее выхотите ввести XPath в курсы $x
и использовать $y
в каждой итерации, чтобы выбрать course
элементы, которые имеют title
, равный $y
, затем выберите instructor
.
let $x := doc("reed.xml")/root/course
for $y in distinct-values($x/title)
let $z := $x[title = $y]/instructor
return ( {data($y)} ,{data($z)})