Валиков Алексей Н.
Шрифт:
Контекст преобразования тесно связан с контекстом вычисления выражений:
□ текущий узел контекста преобразования соответствует контекстному узлу вычисления выражений;
□ позиция текущего узла в текущем обрабатываемом множестве соответствует позиции контекста вычисления выражений;
□ размер текущего множества узлов соответствует размеру контекста вычисления выражений.
Контекст преобразования может изменяться только двумя элементами —
Изменения контекста могут быть продемонстрированы на следующем примере.
Этому документу соответствует следующее дерево (рис. 3.19):
Рис. 3.19. Дерево входящего документа
Забегая вперед скажем, что в изначальном контексте преобразования текущее множество состоит из единственного узла — корневого узла документа. Он становится текущим и обрабатывается соответствующим шаблоном.
В нашем случае шаблонное правило, обрабатывающее корневой узел, выглядит как:
Тело этого шаблона выполняется в том самом изначальном контексте, о котором мы только что упомянули: текущее множество состоит из корневого узла, он же является и текущим узлом. Мы можем показать контекст, выделяя текущее множество, пунктиром, а текущий узел — полужирной линией (рис. 3.20).
Рис. 3.20. Первоначальный контекст преобразования
Атрибут
При выполнении элемента
сведется к выполнению шаблона, обрабатывающего элемент