КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Расширенные X-Path выражения
Стандарт X-Path
Адресация к элементам XML документа — узлам, атрибутам и содержанию обеспечивается с помощью частного выражения стандарта X-Path 1.0 (http://www.w3.org/TR/xpath). Для определения содержимого узла/атрибута задается запрос X-Path следующего вида: путь[выражение]:сортировка Частное выражение путь может включать следующие элементы: / или /имя — корневой узел документа; . — текущий узел; .. — родитель текущего узла; имя — потомок текущего узла с заданным именем; * — любой потомок текущего узла; /родитель/потомок — положение узла в иерархии XML документа; //имя — порожденный узел на любом уровне иерархии; @имя — атрибут текущего узла. Дополнительное условие конкретизации [выражение] может включать следующие элементы: индекс — порядковый номер записи; или attr1 опер_сравн 'val1' логич_опер …attrN опер_сравн 'valN', где attr1...attrN – атрибуты(поля) и их значения val1...valN; опер_сравн — одна из операций сравнения: = (равно),!= (не равно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно); логич_опер — одна из логических операций сравнения: and или or. В качестве атрибутов также можно использовать функции: text() - текстовое содержание XML узла; last() - последний порядковый номер записи; position() - текущий порядковый номер записи. Примеры частных X-Path выражений: /book — корневой узел (описание книги); /book/title — заголовок книги; //item[@id='1'] — первый пункт любого раздела книги; chapter[@number='1']/title — заголовок первого раздела книги; chapter[@number='2']/item[@id='1']/@src — источник первого пункта второго раздела книги; chapter[title='Глава 1'] — раздел книги с заголовком 'Глава 1'; chapter[@number='$number'] – раздел книги с номером, заданным переменной $number; chapter[3] — третий по порядку раздел книги; chapter[last()]/title – заголовок последнего раздела книги. Примеры частных X-Path выражений, возвращающих массив узлов: chapter[@number > '1'] – список разделов книги с номером больше 1; chapter/title:@text – список заголовков разделов, отсортированных по алфавиту; chapter[1..3] – первые три раздела книги; //item[text()=~'Perl'] – список всех пунктов книги, содержащих слово Perl.
Частный расширенный запрос X-Path (в реализации процессора ESOP) позволяет дополнительно указать источник данных для запроса и может иметь следующие элементы: источник/запрос или запрос или функция Строка источник имеет вид: document('имяф') – источником данных является XML файл, где имяф — имя файла, включая локальный путь и расширение; database('имяdb') – источником данных является база данных, где имяdb – имя базы данных; $переменная – источником данных является объектная переменная; sql('имяdb') – источником данных является SQL запрос к базе данных имяdb; url('адрес') – источником данных является HTTP результат запроса адрес, возвращающий XML структуру (Web сервис). Строка запрос имеет вид: выражение — частный X-Path запрос для источника данных XML; таблица[выражение]:сортировка/список_полей – запрос для источника данных базы данных; sql_строка или sql_строка/@атрибут — команда SQL для доступа к источнику данных. Выражения < и >, а также переменные и входные хеш элементы в тексте запросов интерполируются. Строка функция имеет вид: length(запрос) – число элементов, возвращаемых частным X-Path запросом; val('выражение') — вычисляемое выражение Perl; keys('%in') – массив входных хеш элементов. Использование расширенных частных X-Path запросов в атрибутах select шаблонов XSLT, XSP сценариев и функциях библиотек ESOP позволяет эффективно интегрировать различные источники, формируя при этом требуемые XML структуры. Примеры расширенных частных X-Path выражений: document('book.xml')/book — корневой узел документа book.xml; database('db')/user[1..10] – первые 10 записей таблицы user базы данных db; database('db')/user[@family='Иванов'] — запись таблицы user базы данных db с полем family, содержащем фамилию Иванов; $user/family — поле family объектной переменной $user; sql('db')/select * from user – SQL запрос к таблице user базы данных db, также указаны параметры подключения; length(//item) – число элементов item текущего XML узла. ЛЕКЦИЯ 17. Современные технологии хранения и обработки данных (Продолжение)
Дата добавления: 2014-12-25; Просмотров: 429; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |