XML выглядит так:
<persons> <person> <name/> <surname/> </person> <person index=1> <name/> <surname/> </person> <person index=2> <name/> <surname/> </person> ... </persons>
Мне нужно создать представление, которое показывает все данные всех людей.
name surname name1 surname1
Как я могу сделать этот цикл в операторе выбора? Это должен быть вид.
Используйте
string-join(/*/person/concat(name, ' ', surname), '
')
при оценке этого выражения XPath по отношению к следующему документу XML:
<persons> <person index="1"> <name>Alex</name> <surname>Brown</surname> </person> <person index="2"> <name>Katie</name> <surname>Smith</surname> </person> <person index="3"> <name>Julius</name> <surname>Caesar</surname> </person> </persons>
результат :
Alex Brown Katie Smith Julius Caesar
Рассматривали ли вы использование xslt, если вам нужно преобразование?
Если вам нужен xquery, чтобы выбрать эти узлы,
doc("file.xml")/persons/person/name | /persons/person/name
ИЛИ
doc("file.xml")//name |// surname
т.е. имя, фамилия где-либо