Язык XML позволяет применять различные способы описания для достижения конкретной цели. Например, для указания маршрута к конкретному объекту можно использовать два типа синтаксиса. Сокращенный синтаксис обеспечивает более быструю запись XPath-выражений.
Пример. Сравним несколько XPath-выражений ХМL-документа, записанных в сокращенной и полной формах:
<?xml version='1.О'?>
<book title="XHTML в примерах">
<!-- Ниже представлен перечень некоторых разделов книги --> <chapter Ш1е="Язык XSL как способ задания стилей" >
<section title="Введение в язык XSLT"></section> <section titles"Стандарт XPath"></section>
<section title="Форматирование объектов с помощью XSL-FO"> </section>
<section title="Co3flaHMe таблиц стилей XSL"></section> </chapter>
<!-- Далее приводится список остальных разделов --> </book>
Если текущим контекстным узлом является <book>, то для поиска элемента <chapter>, потомка элемента <book>, можно использовать следующее XPath-выражение:
child::chapter
которое является полной формой укороченной записи:
chapter
В данном примере запись child: : служит ребром. В укороченном синтаксисе ее можно опустить, поскольку это запись по умолчанию. Проверка узла - chapter. В синтаксисе этого XPath-маршрута предикаты отсутствуют.
XSLT-процессор обрабатывает полную и укороченную запись одинаково (конечно, речь идет лишь о корректных формах). Иногда выбор синтаксиса определяется только формой, которую предпочитает разработчик. Полная форма записи достаточна, короткая необходима. Для некоторых маршрутов укороченная запись отсутствует, следовательно, полная запись является необходимой и достаточной.
В нашем примере все потомки элемента <book> - элементы <chapter>. Поэтому, если контекстным является узел, относящийся к элементу <book>, достичь аналогичного результата можно с помощью следующей полной записи:
child::*
либо посредством укороченного варианта синтаксиса: *
Записью «звездочки» осуществляется выбор всех прямых потомков контекстного узла. Обратите внимание, что этот элемент не выбирает потомков для прямых потомков конкретного родителя. Наравне с выражениями для выбора элементов в языке XPath существуют выражения для выбора атрибутов, однако их мы подробно рассматривать не будем.
Опубликовал vovan666
April 08 2013 14:58:07 ·
0 Комментариев ·
4747 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.