Пример. Вы уже знакомы с относительной формой указания маршрута - посредством контекстного узла. В языке XPath предусмотрен также синтаксис выражений, позволяющий применять абсолютную форму адресации. Однако абсолютные маршруты можно отнести к категории относительных, если рассматривать их с позиции корневого узла древовидной XSLT/XPath-структуры. На примере предыдущего исходного кода можно показать несколько вариантов записи XPath-выражений, использующих абсолютную форму записи маршрута:
<?xml version='1.0'?>
<book title="XHTML в примерах">
<!-- Ниже представлен перечень некоторых разделов книги --> <chapter title="Язык XSL как способ задания стилей"> <section title-''Введение в язык XSLT"></section> <section title-''Стандарт XPath"></section>
<section title="Форматирование объектов с помощью XSL-F0"> </section>
<section title-''Создание таблиц стилей XSL"x/section> </chapter>
<!-- Далее приводится список остальных разделов --> </book>
Для выбора элемента <chapter> можно использовать абсолютную форму представления маршрута:
/book/chapter
поскольку слэш в начале XPath-выражения указывает на то, что его отправной точкой является корневой узел документа. Единственный потомок корневого узла -корневой элемент (в данном примере - элемент <book>). Можно представить полную форму записи XPath-выражения:
/child::book/child::chapter
Для выбора элементов <section> с помощью абсолютной адресации применяются следующие формы записи XPath-выражений:
/book/chapter/section
либо
/child::book/child::chapter/child::section
Обе синтаксические конструкции осуществляют выбор всех четырех элементов <section>, представленных в примере документа. Чтобы явно указать выбор единственного элемента из группы элементов <section>, в каждой из синтаксических конструкций для XPath-выражения избираемого элемента используется атрибут title:
/book/chapter/sectionttitle-''Стандарт XPath"]
либо
/child::book/child::chapter/
child::section[attribute::title-"Стандарт XPath"]
Обратите внимание, что выбор элемента на основании значения одного из атрибутов компонента отличается от выбора атрибута.
Опубликовал vovan666
April 08 2013 14:58:09 ·
0 Комментариев ·
3171 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.