Поделиться через


Шаблоны поиска

Шаблон поиска — это тип выражения, возвращающего набор узлов по набору условий, заданных для узла. Узлы, удовлетворяющие условиям, соответствуют шаблону поиска. Синтаксис для шаблонов поиска — это подмножество синтаксиса для выражений. В частности, в качестве шаблонов поиска могут использоваться пути доступа, соответствующие определенным ограничениям. Результатом вычисления выражения, которое также является шаблоном поиска, всегда будет объект типа node-set (набор узлов). Узел соответствует шаблону поиска, если входит в результат оценки шаблона поиска как выражения в каком-то возможном контексте, т.е. по отношению к какому-то узлу контекста. Узел контекста — это узел, который сравнивается с шаблоном поиска, или один из его предков.

В следующей таблице приведены примеры шаблонов поиска.

Шаблон поиска Чему соответствует

Para

любой элемент para

*

любой элемент

chapter|appendix

любой элемент chapter и любой элемент appendix

olist/item

любой элемент item с родителем olist

appendix//para

любой элемент para с элементом-предком appendix

/

корневой узел

text()

любой текстовый узел

processing-instruction()

любая инструкция по обработке

node()

любой узел, кроме узла атрибута и корневого узла

id("W11")

элемент с уникальным идентификатором W11

para[1]

любой элемент para, являющийся первым дочерним элементом para своего родителя

*[position()=1 and self::para]

любой элемент para, являющийся первым дочерним элементом своего родителя

para[last()=1]

любой элемент para, являющийся единственным дочерним элементом para своего родителя

items/item[position()>1]

любой элемент item, имеющий родителя items и не являющийся первым дочерним элементом item своего родителя

item[position() mod 2 = 1]

любой элемент item, являющийся нечетным дочерним элементом item своего родителя

div[@class="appendix"]//p

любой элемент p с элементом-предком div, содержащим атрибут class со значением appendix

@class

любой атрибут class (но не любой элемент, содержащий атрибут class)

@*

любой атрибут

См. также

Справочник

Пути доступа