XML- технологии Лекция 3 XPath- адресация. Что такое XPath? XPath - это синтаксис для адресации частей XML- документа XPath использует пути для адресации.

Презентация:



Advertisements
Похожие презентации
Java Advanced XML Path Language 1.0 (XPath 1.0). 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / XPath 1.0 Содержание 1.Введение 2.Пути 3.Выражения 4.Функции.
Advertisements

XML eXtensible Markup Language 1.Пространства имён (Namespaces) 2.Язык навигации внутри XML-документа (XPath)
XPath выступает в роли подъязыка преобразований XSLT и XPointer. Выражение XPath используется для манипуляции строками, в числовых выражениях, а также.
XPath Набор синтаксических правил для адресации элементов XML-документа.
XML eXtensible Markup Language 1.Язык навигации внутри XML-документа (XPath) 2.Пространства имён (Namespaces) 3.Язык трансформаций (XSLT)
XML eXtensible Markup Language 1.Определение типа документов (DTD) 2.Язык навигации внутри XML-документа (XPath)
Технология Идентификации Ресурсов X-Pointer. Предназначение X-Pointer – это язык, описывающий местонахождение тех или иных ресурсов. Выражения языка X-Pointer.
Язык XPointer Помогает адресовать и обнаруживать информацию в рамках другого документа XML Презентацию подготовила Курина Ксения, гр.950б.
Языки описания информации Лекция 4. Кафедра «ОСУ» Весенний семестр 2010/2011 уч. года XPath.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
Java Advanced XML Transformations 1.0 (XSLT 1.0).
Функциональные методы обработки XML-данных Дмитрий Лизоркин, ВМиК МГУ, ИСП РАН.
Лекция 2 I.1 Переменные. Константы Переменные могут быть буквами греческого алфавита α – alpha Α - Alpha γ – gamma Γ - Gamma λ – lambda Λ - Lambda θ –
XSL eXtensible Stylesheet Language среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Переменная l. Определение Переменная - именованное место в памяти, в котором можно хранить некоторое значение.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Поиск в базах данных с помощью запросов. Условия поиска.
1) Относительная ссылка (при копировании такой ссылки в другую ячейку изменяется имя столбца и номер строки). Пример: В1 2) Абсолютная ссылка (при копировании.
Массивы Разбор задачи С4. Массив - это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.
Простые типы данных на языке программирования Turbo Pascal.
Транксрипт:

XML- технологии Лекция 3 XPath- адресация

Что такое XPath? XPath - это синтаксис для адресации частей XML- документа XPath использует пути для адресации элементов XML XPath является важнейшей частью стандарта XSLT XPath не является XML- форматом XPath является стандартом W3C

XPath, XSLT, XPointer, XLink Рекомендация от W3C XPath 16 ноября 1999 года Презентация : XSLT 16 ноября 1999 года Указание : Xpointer Связывание : Xlink

Узлы в XPath XPath представляет XML- документ в виде дерева узлов Типы узлов в XPath Корневой узел Узел элемента Узел атрибута Текстовый узел

Узлы в XPath. Пример узлы элементов узлы атрибутов текстовые узлы

Адресные выражения в XPath Центральная конструкция XPath выражение пути Путь последовательность шагов, разделенная знаком «/» Основа система адресации Uniformed Resource Identifier (URI): NodeX/NodeY/NodeX Каждый шаг в выражении пути состоит из трех частей : ось проверка узла предикаты

Пример выражения пути XPath Student/studID Student/Group/Spec Student/FIO/LName

Контекстные узлы в XPath Контекстный узел узел, от которого отсчитывается путь Контекстный размер число узлов в множестве Контекстная позиция порядковый номер (начиная с единицы) контекстного узла в множестве контекстных узлов

Типы адресации в XPath Абсолютный путь это путь, берущий начало из корня дерева (контекстный узел корень). Относительный путь это путь, берущий начало из контекстных узлов. Выражение, задающее относительный путь, не может начинаться с символа «/»

Типы адресации в XPath. Примеры Абсолютная адресация: Student/FIO/LName Student/Group/spec Относительная адресация FIO/LName (контекстный узел – Student) spec (контекстный узел – Group)

Оси в XPath Ось это направление поиска XML- данных по отношению к контекстному узлу В XPath 13 основных осей

Оси в XPath

Оси в XPath. Пример /child::Student/child::studID/ /child::Student/child::rcb/ /child::Student/child::FIO/ child::LName/ /child::Student/child::Group/ child::spec/

Сокращения в осях XPath attribute:: = child:: = пропустить descendant:: = «.//» parent:: = «..» self:: = «.»

Сокращения в осях 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/

Предикаты в XPath Предикат это выражение языка XPath, фильтрующее набор узлов относительно оси и создающее новый набор узлов. Вычисление выражения предиката дает численное или логическое значение.

Простые предикаты Students/Student[LName='Иванов'] Students/Student[Group/num='10'] Предикат с простым условием предусматривает проверку значения определенного элемента или атрибута

Числовые предикаты Числовой предикат это предикат с предикативным выражением в виде положительного целого числа Students/Student[1] = Students/Student[position()=1] Students/Student[position()=last()]

Множественные предикаты Students/Student[1][Group/spec='ПИЭ'] [Group/year='5'] [Group/num='10'] Students/Student[FIO/LName='Иванов'] [FIO/FName='Иван'] [FIO/MName='Иванович]

Функции в XPath 26 функций 8 категорий функции контекста; функция поиска узлов; логические функции; функции суммирования; функции преобразования типов данных; арифметические функции; строковые функции; функции имен.

Функции контекста Функции контекста позволяют учитывать позицию, которую занимает обрабатываемый узел в множестве контекстных узлов : Students/Student[last( )] Students/Student[position( )!=last( )] Students/Student[last( ) - 1] position( ) last( )

Функция поиска узлов Функция поиска узлов позволяет напрямую адресовать элемент ( множество элементов ), по атрибуту - идентификатору : id id( )

Логические функции Логические функции возвращают результат булева типа : Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] true( ) false( ) not ( )

Предикаты всеобщности Предикаты всеобщности условия типа « для каждого элемента множества должно выполняться некоторое условие »: Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] not ( )

Предикаты всеобщности Предикаты всеобщности условия типа « для каждого элемента множества должно выполняться некоторое условие »: Students/Student[not(FIO/LName='Иванов')] Students/Student[not(Group/spec='ПИЭ')] Students/Student[not(Group/year='5')] not ( )

Функции суммирования Функции суммирования позволяют подсчитывать количество узлов и сумму числовых значений в множестве узлов, заданном в качестве аргумента : count(//Student) count(//Student[Group/spec='ПИЭ']) count(//Student[Group/year='5']) count() sum()

Строковые функции contains( ) substring( ) concat( ) substring-before( ) substring-after( ) starts-with( ) string-length ( )