XML - статьи



              

/A>Обзор XPath


Назначение языка XPath – адресация структурных частей XML-документа. Ввиду того, что XML-документ является, в сущности, древовидной структурой, модель данных языка XPath [1] представляет документ как дерево узлов.

Главной синтаксической конструкцией языка является выражение (expr), которое соответствует одноименному правилу грамматики. Вычисление выражения осуществляется относительно контекста. Контекст включает в себя:

  • Узел (который мы далее будем называть контекстным узлом);
  • Набор связанных переменных;
  • Библиотеку базовых функций XPath [];
  • А также несколько других составляющих, которые в данной статье мы затрагивать не будем.
  • Несмотря на то, что выражение (expr) является самой общей конструкцией языка XPath, самой важной конструкцией языка считается путь доступа (location path) [1]. Путь доступа применяется к контекстному узлу, и результатом вычисления является набор узлов (node-set) [9], состоящий из (возможно, нескольких) узлов, выбранных с помощью данного пути доступа относительно контекстного узла. Выбранные узлы соответствуют элементам, атрибутам, текстовым данным и другим частям XML-документа.

    Путь доступа состоит из последовательности одного или более шагов доступа (location step), синтаксически отделяемых друг от друга символом косой черты ("/"). Шаг доступа включает в себя 3 составляющие:

    • Ось (axis), определяющую соотношение в дереве между узлами, в контексте которых вычисляется шаг доступа, и узлами, которые выбирает шаг доступа. Ось можно считать "направлением движения" по дереву, представляющему XML-документ []. Спецификация XPath определяет 13 различных осей. Они включают в себя оси для спуска к листьям дерева, для подъема в сторону корня, для выбора соседних узлов и т.п. Синтаксически имя оси отделяется от остальной части шага адресации с помощью двойного двоеточия ("::").
    • Тест узла (node test), который определяет тип и, возможно, имя узлов, выбираемых шагом доступа. В то время как ось определяет "направление движения", тест узла определяет желаемые узлы, которые должны быть выбраны.



    • Содержание  Назад  Вперед