Валиков Алексей Н.
Шрифт:
□ Паттерн
Мы более подробно остановимся на ключевых паттернах, когда будем разбирать функции
Если сравнить это правило с упрощенной продукцией
Эти шаги соответствуют продукции
Продукция
Для простоты мы можем раскрыть эту продукцию, получив ее в следующем виде:
Тогда продукцию
Теперь стало совершенно очевидно, что шаг паттерна это не что иное, как подмножество шагов выборки, в которых ограничено множество осей навигации.
Таким образом, синтаксически паттерны отличаются от путей выборки тем, что в них можно использовать только две оси навигации (не считая
Паттерны могут использоваться в XSLT в следующих атрибутах:
□ атрибуты
□ атрибут
□ атрибут
Последние два случая паттернов отличаются от первого тем, что в них нельзя использовать переменные. Определение вида
будет некорректным.
Семантика паттернов
Остановимся подробнее на вопросе — что же означает "соответствие узла некоторому паттерну".
Прежде всего, заметим, что любой паттерн является также и XPath-выражением. Тогда строгое определение соответствия узла паттерну можно дать следующим образом.
Узел