Пути выборки

Пути выборки

Путь выборки является самым главным видом выражений, которые применяются в XSLT. Путь выборки в соответствии с некоторыми критериями выбирает множество узлов входящего документа.

Путь выборки может быть абсолютным (отсчитываться от корневого узла дерева) или относительным (отсчитываться от контекстного узла). Он может состоять из нескольких шагов выборки, каждый из которых относительно предыдущего шага (или начального узла) выбирает некоторое множество узлов. Результатом вычисления пути выборки является множество узлов, выбранное его последним шагом.

Пример

Предположим, что нам нужно получить узел элемента title, находящийся в элементе head, который находится в элементе html, находящемся в корне документа. Соответствующий путь выборки будет выглядеть как:

/html/head/title

Означает он примерно следующее:

? "/" — ведущая косая черта обозначает абсолютный путь выборки, то есть путь, который отсчитывается от корневого узла;

? "html" — шаг выборки элементов html;

? "/" — разделитель шагов выборки;

? "head" — шаг выборки элементов head;

? "/" — разделитель шагов выборки;

? "title" — шаг выборки элементов title.

Поскольку каждый из шагов отсчитывается от результатов предыдущего, шаг "html" будет выбирать элементы html, являющиеся дочерними элементами корневого узла и так далее. Пошаговое вычисление этого пути можно описать следующим образом:

? "/" — путь, который выбирает корневой узел;

? "/html" — путь, который выбирает дочерние элементы html корневого узла;

? "/html/head" — путь, который выбирает дочерние элементы head элементов html, находящихся в корне документа;

? "/html/head/title" — путь, выбирающий дочерние элементы title субэлементов head элементов html, которые находятся в корне документа.

Можно заметить очевидную аналогию с файловыми системами: пути выборки очень похожи на пути в структуре каталогов. Между тем, пути выборки гораздо мощнее:

? для каждого из шагов выборки можно указать направление, в котором он будет выбирать узлы в документе — например, дочерние узлы, узлы- потомки или, наоборот, узлы-предки или братские узлы;

? выбор узлов может проводиться не только по имени, но также и по типу или принадлежности определенному пространству имен;

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

Пути выборки являются средством получения информации, содержащейся в обрабатываемых документах. Неважно, что они возвращают множества узлов, неявное преобразование типов позволяет спокойно записывать выражения вида:

data/a + data/b

Несмотря на то, что data/a и data/b являются множествами узлов, в арифметическом выражении они будут неявно преобразованы к численному типу. То же самое касается строкового и булевого типа.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1. Операция выборки.

Из книги Интернет. Новые возможности. Трюки и эффекты [litres] автора Баловсяк Надежда Васильевна

1. Операция выборки. Операция выборки на языке SQL реализуется оператором Select следующего вида: Select все атрибуты From имя отношения Where условие выборки; Здесь вместо того, чтобы писать «все атрибуты», можно использовать значок «*». В теории языка структурированных запросов


Пути заражения

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Пути заражения Самые популярные способы заражения следующие.– Через Интернет, так называемым «добровольным» cпособом: когда пользователь скачивает что-либо из Сети. Очень часто под безобидным ускорителем браузера может сидеть самый настоящий WIN95. CIH (WIN95. CIH, или


Обратного пути нет

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Обратного пути нет Можно было бы ожидать, что допустимо и обратное переопределение атрибута в функцию без аргументов. Но нет. Присваивание - операция применимая к атрибутам, - становится бессмысленной для функций. Предположим, что a - это атрибут класса C, и некоторая


7.5 Исследование MTU по пути

Из книги Технология XSLT автора Валиков Алексей Николаевич

7.5 Исследование MTU по пути При пересылке большого объема данных (например, при копировании файлов по сети) с одного хоста на другой размер датаграмм существенно влияет на производительность. Заголовки IP и TCP требуют не менее 40 дополнительных байт.? Если данные


Пути выборки

Из книги Delphi. Трюки и эффекты автора Чиртик Александр Анатольевич


Шаги выборки

Из книги Access 2002: Самоучитель автора Дубнов Павел Юрьевич


Примеры путей выборки

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович


4.2. Каталоги и пути

Из книги Инфобизнес за один день автора Ушанов Азамат

4.2. Каталоги и пути В этом разделе описываются некоторые полезные примеры, позволяющие узнавать расположение важных каталогов операционной системы Windows. Здесь также рассматриваются вопросы преобразования путей и приводятся некоторые алгоритмы обхода каталогов,


Создание объединенной выборки

Из книги Информационные технологии в СССР. Создатели советской вычислительной техники автора Ревич Юрий Всеволодович

Создание объединенной выборки В предыдущих разделах мы рассмотрели большую группу запросов на выборку, в том числе запросы с использованием нескольких таблиц, объединенных связями. Однако в системе Access 2002 предусмотрены и запросы других типов:• на создание таблицы;• на


Функция упреждающей выборки

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Функция упреждающей выборки Одним из нововведений операционной системы Windows XP стала возможность упреждающей выборки (prefetching) часто используемых программ. Иными словами, при первом запуске программы (и при запуске операционной системы) части ее кода копируются в


Ограничение результатов выборки FIRST/SKIP

Из книги автора

Ограничение результатов выборки FIRST/SKIP Как и в Firebird 1.0, результат выборки SELECT может быть ограничен с использованием инструкций FIRST/SKIP (В Borland InterBase начиная с версии 6.5 используется аналогичная по назначению конструкция ROWS.)При значении аргумента FIRST, равном 0, результатом


9. Обходные пути

Из книги автора

9. Обходные пути Ваш инфопродукт представляет собой некие обходные пути. Одно дело – рассказать, как раскрутить сайт (таких курсов очень много). Другое – выдать 10 обходных путей, как быстро раскрутить сайт в Яндексе, где можно срезать, увильнуть, ускорить процесс


Начало пути

Из книги автора

Начало пути Виктор Михайлович Глушков родился 24 августа 1923 года в Ростове-на-Дону в семье горного инженера. В школе он учился на «отлично», учеба ему давалась легко. Виктор Михайлович рассказывает о том, как пришел к изучению математики: «Отец был страстным радиолюбителем


Пути к файлам

Из книги автора

Пути к файлам Для правильного построения аргументов команды требуется рассмотрение ещё одного понятия — пути к файлу. Путь — это точное позиционирование файла в файловой системе относительно ее корня (обозначаемого символом прямого слэша — /) или нашего в ней положения