Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемКлавдия Подьячева
1 XML- технологии Лекция 3 XPath- адресация
2 Что такое XPath? XPath - это синтаксис для адресации частей XML- документа XPath использует пути для адресации элементов XML XPath является важнейшей частью стандарта XSLT XPath не является XML- форматом XPath является стандартом W3C
3 XPath, XSLT, XPointer, XLink Рекомендация от W3C XPath 16 ноября 1999 года Презентация : XSLT 16 ноября 1999 года Указание : Xpointer Связывание : Xlink
4 Узлы в XPath XPath представляет XML- документ в виде дерева узлов Типы узлов в XPath Корневой узел Узел элемента Узел атрибута Текстовый узел
5 Узлы в XPath. Пример узлы элементов узлы атрибутов текстовые узлы
6 Адресные выражения в XPath Центральная конструкция XPath выражение пути Путь последовательность шагов, разделенная знаком «/» Основа система адресации Uniformed Resource Identifier (URI): NodeX/NodeY/NodeX Каждый шаг в выражении пути состоит из трех частей : ось проверка узла предикаты
7 Пример выражения пути XPath Student/studID Student/Group/Spec Student/FIO/LName
8 Контекстные узлы в XPath Контекстный узел узел, от которого отсчитывается путь Контекстный размер число узлов в множестве Контекстная позиция порядковый номер (начиная с единицы) контекстного узла в множестве контекстных узлов
9 Типы адресации в XPath Абсолютный путь это путь, берущий начало из корня дерева (контекстный узел корень). Относительный путь это путь, берущий начало из контекстных узлов. Выражение, задающее относительный путь, не может начинаться с символа «/»
10 Типы адресации в XPath. Примеры Абсолютная адресация: Student/FIO/LName Student/Group/spec Относительная адресация FIO/LName (контекстный узел – Student) spec (контекстный узел – Group)
11 Оси в XPath Ось это направление поиска XML- данных по отношению к контекстному узлу В XPath 13 основных осей
12 Оси в XPath
13 Оси в XPath. Пример /child::Student/child::studID/ /child::Student/child::rcb/ /child::Student/child::FIO/ child::LName/ /child::Student/child::Group/ child::spec/
14 Сокращения в осях XPath attribute:: = child:: = пропустить descendant:: = «.//» parent:: = «..» self:: = «.»
15 Сокращения в осях XPath. Пример /child::Student/attribute::studID = /child::Student/attribute::rcb = /child::Student/child::FIO/child::LName/ = /Student/FIO/LName/ /child::Student/child::Group/child::spec/= /Student/Group/spec/
16 Предикаты в XPath Предикат это выражение языка XPath, фильтрующее набор узлов относительно оси и создающее новый набор узлов. Вычисление выражения предиката дает численное или логическое значение.
17 Простые предикаты Students/Student[LName='Иванов'] Students/Student[Group/num='10'] Предикат с простым условием предусматривает проверку значения определенного элемента или атрибута
18 Числовые предикаты Числовой предикат это предикат с предикативным выражением в виде положительного целого числа Students/Student[1] = Students/Student[position()=1] Students/Student[position()=last()]
19 Множественные предикаты Students/Student[1][Group/spec='ПИЭ'] [Group/year='5'] [Group/num='10'] Students/Student[FIO/LName='Иванов'] [FIO/FName='Иван'] [FIO/MName='Иванович]
20 Функции в XPath 26 функций 8 категорий функции контекста; функция поиска узлов; логические функции; функции суммирования; функции преобразования типов данных; арифметические функции; строковые функции; функции имен.
21 Функции контекста Функции контекста позволяют учитывать позицию, которую занимает обрабатываемый узел в множестве контекстных узлов : Students/Student[last( )] Students/Student[position( )!=last( )] Students/Student[last( ) - 1] position( ) last( )
22 Функция поиска узлов Функция поиска узлов позволяет напрямую адресовать элемент ( множество элементов ), по атрибуту - идентификатору : id id( )
23 Логические функции Логические функции возвращают результат булева типа : Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] true( ) false( ) not ( )
24 Предикаты всеобщности Предикаты всеобщности условия типа « для каждого элемента множества должно выполняться некоторое условие »: Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] not ( )
25 Предикаты всеобщности Предикаты всеобщности условия типа « для каждого элемента множества должно выполняться некоторое условие »: Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] not ( )
26 Функции суммирования Функции суммирования позволяют подсчитывать количество узлов и сумму числовых значений в множестве узлов, заданном в качестве аргумента : count(//Student) count(//Student[Group/spec='ПИЭ']) count(//Student[Group/year='5']) count() sum()
27 Строковые функции contains( ) substring( ) concat( ) substring-before( ) substring-after( ) starts-with( ) string-length ( )
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.