XQuery Примеры
В этом разделе давайте изучим некоторые основы синтаксиса XQuery на примере.
Пример XML-документа
В приведённом ниже примере мы будем использовать этот XML-документ.
"books.xml":
<bookstore>
<book category="COOKING">
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="WEB">
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
。
Как выбрать узлы из "books.xml"?
Функции
XQuery использует функции для извлечения данных из XML-документов.
doc() используется для открытия файла "books.xml":
Выражения пути
XQuery использует выражения пути для навигации по элементам в XML-документе.
Следующее выражение пути используется для выбора всех элементов title в файле "books.xml":
(/bookstore выбирает элемент bookstore, /book выбирает все элементы book под элементом bookstore, а /title выбирает все элементы title под каждым элементом book)
Приведённый выше XQuery может извлечь следующие данные:
Предикаты
XQuery использует предикаты для ограничения данных, извлекаемых из XML-документа.
Следующий предикат используется для выбора всех элементов book под элементом bookstore, и значение элемента price под выбранным элементом book должно быть меньше 30:
Приведённый выше XQuery может извлечь следующие данные:
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>