Фильтрация

Фильтрация

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

В выражениях множества узлов могут также фильтроваться одним или несколькими предикатами. Узел остается в фильтруемом множестве, только если он удовлетворяет всем предикатам поочередно.

Пример

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

$nodes[self::а][@href]

Можно использовать и более сложные конструкции, например, фильтровать объединение двух множеств — присвоенного переменной nodes и возвращаемого путем выборки body/*:

($nodes|body/*)[self::a][@href]

Выражение, в котором производится фильтрация узлов, отвечает EBNF-правилу FilterExpr:

[XP20] FilterExpr ::= PrimaryExpr | FilterExpr Predicate

Если раскрыть рекурсию, которая имеется в этом правиле, его можно переписать в более простом виде:

FilterExpr ::= PrimaryExpr Predicate*

Выражение PrimaryExpr, которое используется в этой продукции, должно обязательным образом возвращать множество узлов. В противном случае процессор выдаст ошибку, потому что никакой другой тип не может быть преобразован во множество узлов.

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

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

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

5.5 Фильтрация и синтез изображений

Из книги Прикладные свободные программы и системы в школе автора Отставнов Максим

5.5 Фильтрация и синтез изображений Основной прием автоматизированной обработки изображений — фильтрация их целиком, либо выделенных в них областей. Большая часть упомянутых внешних модулей реализует именно функцию фильтрации. Среди наиболее важных в практической


Фильтрация

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Фильтрация В режиме фильтрации вы можете выбрать для просмотра только одну или несколько групп файлов, которые отвечают определенным условиям. Для этого щелкните кнопкой мыши на стрелке справа от нужного заголовка и установите флажки возле названий интересующих вас


Фильтрация нежелательной почты

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

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


Фильтрация сообщений

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

Фильтрация сообщений Leafnode позволяет удалять сообщения, соответствующие определенным критериям. Решение об удалении принимается исходя из информации, содержащейся в заголовке сообщения. Предположим, например, что в статьях, получаемых от пользователя obnoxious@annoying.com


Фильтрация

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

Фильтрация Множества узлов, которые получаются в результате вычисления выражений, можно фильтровать — то есть выбирать из них узлы, удовлетворяющие заданным свойствам подобно тому, как это делалось предикатами в шагах выборки.В выражениях множества узлов могут также


Фильтрация по IP-адресам

Из книги Самоучитель работы на Macintosh автора Скрылина Софья

Фильтрация по IP-адресам Прежде всего, научимся настраивать фильтрацию по IP-адресам. Для того чтобы эта опция стала доступной, нам нужно поставить флажок Use IP filter (Использовать IP-фильтр). Теперь с помощью кнопок Add (Добавить) и Remove (Убрать) можно добавлять и убирать IP-адреса


4.1.8. Фильтрация входящей почты

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

4.1.8. Фильтрация входящей почты Все письма, доставляемые на ваш компьютер, помещаются в папку Входящие (Inbox), что становится неудобным, когда их скапливается большое количество. Приложение Mail, как и другие почтовые клиенты, например The Bat! или Outlook Express, предоставляет


5.2.9. Сортировка и Фильтрация

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

5.2.9. Сортировка и Фильтрация Для сортировки всей таблицы и отдельных строк приложение Numbers предлагает два инструмента:? команды Sort Ascending (Сортировать по возрастанию) и Sort Descending (Сортировать по убыванию), находящиеся в списке заголовка любого столбца;? раздел Sort (Сортировка)


Фильтрация слоев

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Фильтрация слоев Иногда требуется, чтобы в списке имеющихся слоев Диспетчера свойств слоев Layer Properties Manager перечислялись только определенные слои. Для указания выводимых в список слоев используется функция фильтрации. Фильтрация слоев может производиться по следующим


4.10.1. Фильтрация пакетов

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

4.10.1. Фильтрация пакетов Итак, основной, но не единственной задачей сетевого экрана является фильтрация пакетов. В Linux уже встроен Firewall, и вам его не надо устанавливать отдельно. Точнее сказать, их даже два: iptables и ipchains. Они позволяют контролировать трафик, который проходит


Локальная фильтрация

Из книги Анонимность и безопасность в Интернете. От «чайника» к пользователю автора Колисниченко Денис Николаевич


Фильтрация текста

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

Фильтрация текста Во второй части дается подробный обзор важнейших инструментов фильтрации текста. Фильтрация может выполняться в разное время: до того как данные поступят на вход сценария, в процессе выполнения сценария и при выводе текста на экран.В отдельных главах


8.4.3. Фильтрация списка процессов

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

8.4.3. Фильтрация списка процессов Совместное применение команд grep и ps а позволяет выяснить, выполняется ли в системе некоторый процесс. Опция а команды ps задает вывод списка всех процессов, включая процессы других пользователей. Например, следующая команда проверяет,


8.6. Фильтрация MAC-адресов

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

8.6. Фильтрация MAC-адресов В качестве дополнительного барьера можно указать список MAC-адресов сетевых адаптеров компьютеров, которые смогут получить доступ к вашему маршрутизатору. Нужно отметить, что фильтрация MAC-адресов не обеспечивает надежной защиты. Опытный