|
ЛАБОРАТОРНАЯ РАБОТА № 3
Необходимо используя средство IPSI-XQuery Interpreter составить запросы на языке XQuery.
Все дальнейшие запросы делаются с файлом library.xml
Практика:
- Создать список имен авторов и книг, написанных каждый автором, отделив
имя автора от его фамилии и записав их в отдельных элементах.
- Выбрать книги, названия которых заканчиваются на "gy" и (and) узлы, содержающие слово
"Kluwer".
- Вывести название книги и соавторов (в документе второй, третий и т.д. элемент author).
- Подсчитать количество книг каждого автора.
- Определить функцию, которая будет принимать выражение типа <hello world> и превращать его в строковую переменную с заглавными буквами без пробелов <HelloWorld>.
Использовать ее для содержимого элементов title. На выходе получить документ XML c измененным содержимым элементов title.
P.S. Используйте следующие функции:
- exists(seq) - дает значение true, если последовательность seq непустая
- contains(s,sub) - возвращает true, если строка s содержит строку sub
- ends-with(s, sub) - возвращает значение true, если строка s заканчивается символами
строки sub
- local-name() - локальное имя текущего узла
- string(.) - возвращает текстовый узел (рассматривается название узла как строка)
- concat(s1,s1,...) - сцеаляет строки в одну строку.
- tokenize(s,pat) - разбивает строку s на последовательность строк, используя в качестве разделителя шаблон pat.
- upper-case(s) - переводит все буквы строки s в верхний регистр.
Теория:
(по языку Xpath)
- Для чего применяется язык XPath?
- Что такое ось поиска?
- Что такое шаг, направляемый фильтром поиска?
(по языку Xquery)
- Каков минимальный состав выражения-запроса?
- Можно ли в языке Xquery организовать вложенные запросы?
- Сколько заголовков for и let может быть в запросе?
|