Валиков Алексей Н.
Шрифт:
Номер этого элемента будет равен
Рис. 8.3. Второй шаг вычисления номера
Выделенное множество содержит два узла. Таким образом, искомый номер будет равен
Проведем такой же разбор для определения
В этом случае паттерну, указанному в элементе
Рис. 8.4. Первый шаг вычисления номера
Выделим множество элементов
Рис. 8.5. Второй шаг вычисления номера
Выделенное множество содержит всего один узел, значит, искомый номер будет равен
Таким образом, результатом обработки выделенного элемента
Метод
Область нумерации метода
Вычисление списка номеров узлов выполняется в два этапа:
□ На первом этапе выбирается множество нумеруемых узлов, удовлетворяющее следующим условиям:
• его узлы принадлежат оси навигации
• его узлы соответствуют паттерну
• его узлы принадлежат области подсчета.
□ На втором этапе для каждого узла нумеруемого множества вычисляется позиция среди собратьев. Позиция нумеруемого узла будет равна
Для демонстрации вычисления номеров на нескольких уровнях дерева документа проследим за выполнением инструкции
при обработке того же элемента
Прежде всего, надо определить область подсчета. Значением атрибута
Рис. 8.6. Определение области подсчета
Следующим шагом выберем узлы, принадлежащие оси навигации
Рис. 8.7. Первый шаг вычисления номера
Следующим шагом оставим только те из выбранных узлов, которые входят в область подсчета. Эти узлы обведены на рис. 8.8 пунктиром.
Рис. 8.8. Второй шаг вычисления номера
Мы получили множество узлов, состоящее всего из двух элементов —
Рис. 8.9. Третий шаг вычисления номера
В этом примере элемент
Метод