Валиков Алексей Н.
Шрифт:
В отношении переменных важно понимать, что это не более чем объекты, доступ к которым можно получить по имени.
□ Библиотека функций, состоящая из множества функций, которые могут быть выполнены процессором. В XPath определяется базовая библиотека, функции которой должны быть реализованы в процессоре, однако эта библиотека может быть расширена. Например, XSLT определяет несколько дополнительных функций, которые также должны поддерживаться всеми XSLT-процессорами. Более того, в преобразованиях можно использовать и собственные функции расширения. Таким образом, библиотека функций контекста состоит из всех функций, доступных при вычислении выражения.
□ Множество объявлений пространств имен. Это множество связывает префиксы пространств имен с уникальными идентификаторами ресурсов (URI), которые им соответствуют.
Пути выборки
Одна из важнейших функций XPath — это выбор множеств узлов в документе. Особый вид XPath-выражений, называемый путями выборки позволяет выбирать в документе множества узлов в соответствии с самыми разнообразными критериями — по расположению, по типу, а также по выполнению одного или нескольких логических условий, называемых предикатами.
Синтаксис путей выборки во многом похож на синтаксис путей в файловых системах — сказывается то обстоятельство, что иерархическая структура данных в XML-документах очень близка к древовидной структуре каталогов. В качестве примера сравним дерево каталогов (рис. 6.1) с таким же деревом, записанным в виде XML-документа (листинг 6.1).
Рис. 6.1. Древовидная структура каталогов
В этой иерархии каталогов путь "
Перемещаться в системе каталогов можно не только вглубь, но также на верхние уровни при помощи пути "
Пути файловой системы, приведенные выше, в точности совпадают с путями выборки, которые мы бы использовали для обращения к соответствующим частям ХМL-документа. Путь выборки "
В XPath существует два вида путей выборки — относительные и абсолютные пути. Абсолютный путь (например, "
И абсолютный, и относительный пути выборки состоят из нескольких шагов выборки, разделенных косой чертой ("
В файловой системе выполнить путь вида
□ из текущего каталога перейти в подкаталог
□ затем перейти в подкаталог
□ и наконец — в подкаталог
Для того чтобы выполнить такой же путь выборки в XML-документе, нужно
сделать следующее:
□ выполнить первый шаг, "