XQuery Выбор и фильтрация
экземпляра XML-документы
В следующем примере мы будем продолжать использовать этот "Books.xml" (тот же файл XML и выше раздел используется) документа.
См файл "books.xml" в вашем браузере .
Выбрать и фильтрующие элементы
Как видно в предыдущей главе, мы используем выражение FLWOR или выражение пути для выбора и фильтрующих элементов.
Рассмотрим следующее выражение FLWOR:
where $x/price>30
order by $x/title
return $x/title
- для - (необязательно) для каждого из сгруппированных элементов, возвращенных выражением в переменной
- Пусть - (опционально)
- где - (необязательно) задать условие
- упорядочить по - (необязательно) установить порядок в результатах
- вернуться - положения в результатах возвращается содержание
для постановки
Заявление для переменной, привязанной к каждому элементу, возвращаемые в выражении. для итерационными. Там может быть несколько для того же оператора в выражении FLWOR.
Для определенного числа раз в течение цикла заявлении, вы можете использовать ключевые слова:
return <test>{$x}</test>
Результаты:
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>
Ключевые слова могут быть использованы для вычисления итерации в:
return <book>{$i}. {data($x)}</book>
Результаты:
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>
В заявлении также позволяет более чем в одном выражении. Пожалуйста, используйте запятую каждая в выражении:
return <test>x={$x} and y={$y}</test>
Результаты:
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>
пусть заявление
Пусть утверждение может быть полной переменной распределения, а также избегать повторил то же выражение. Пусть утверждение не вызывает итерации.
return <test>{$x}</test>
Результаты:
где заявления
где оператор используется для установки результата одного или нескольких условий (критериев).
упорядочить по заявлению
упорядочить по заявлению сортировать результаты заранее определенном порядке. Здесь мы хотим, чтобы отсортировать результаты по категориям и названию:
order by $x/@category, $x/title
return $x/title
Результаты:
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>
вернуть заявление:
оператор возврата указывает вернуть содержимое.
return $x/title
Результаты:
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>