пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Язык XPath и его применение для доступа к элементам XML. (Узлы дерева документа. XML, дополнительные функции в выражениях XPath) Пример реализации.

XPath (XML Path Language) — язык запросов к элементам XML-документа. Разработан для организации доступа к частям документа XML в файлах трансформации XSLT и является стандартом консорциума W3C. XPath призван реализовать навигацию по DOM в XML. В XPath используется компактный синтаксис, отличный от принятого в XML.

Выражения XPath могут ссылаться на атрибуты так же, как и на элементы в XML-документе. При ссылке на атрибут используется символ @. Например, следующее выражение XPath идентифицирует элементы currentPrice, в которых атрибуты currency содержат значение EUR:

/list/item/currentPrice[@currency="EUR"]

XPath также предоставляет функции, которые могут быть очень удобными.

Главной синтаксической конструкцией языка XPath является выражение. Любое выражение соответствует сценарию Expr. В результате обработки выражения получается объект, относящийся к одному из четырех основных типов:

  • набор узлов (node-set) - неупорядоченный набор узлов без дубликатов
  • булевое значение (boolean) - true или false
  • число (number) - число с плавающей точкой
  • строка (string) - последовательность UCS символов

Обработка выражений осуществляется, отталкиваясь от некого контекста. В спецификациях XSLT и XPointer указывается, каким образом в XSLT и XPointer, соответственно, определяется контекст для выражений XPath. Контекст образуется из:

  • узла (узел контекста, contextnode)
  • пары ненулевых положительных целых чисел (положение в контексте и размер контекста)
  • привязки переменных контекста (variablebindings)
  • библиотеки функций
  • набора деклараций пространства имен в области видимости данного выражения.

 

Синтаксически имя оси отделяется от остальной части шага адресации с помощью двойного двоеточия :: .

- Тест узла (nodetest), который определяет тип и, возможно, имя узлов, выбираемых шагом доступа. В то время как ось определяет "направление движения", тест узла определяет желаемые узлы, которые должны быть выбраны.

- Ноль или более  предикатов (predicates). Каждый предикат синтаксически записывается в квадратных скобках и используется для дальнейшего просеивания набора узлов, выбираемых шагом доступа.

Шаги в пути доступа вычисляются по очереди слева направо. Самый левый шаг вычисляется первым, обычно по отношению к узлу, который представляет корень XML-документа. Каждый последующий шаг доступа выбирает набор узлов, который вычисляется по отношению к набору узлов, выбранному предыдущим шагом доступа. Набор узлов, выбранный самым правым шагом доступа – это результат всего пути доступа для данного XML-документа.

 


06.01.2018; 20:01
хиты: 238
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь