Валиков Алексей Н.
Шрифт:
В общем случае, во множество узлов не входят дети узлов, содержащихся в нем. В нашем примере узлы элементов
Рис. 3.14. Другой путь выборки
Выбранное множество узлов имело бы вид (рис. 3.15):
Рис. 3.15. Выбранное множество
Для представления одного узла дерева в XSLT используется множество, состоящее из единственного узла. В предыдущем примере результатом выборки
Рис. 3.16. Множество, состоящее из единственного узла
Несмотря на то, что множества узлов неупорядочены, во многих случаях обработка узлов множества производится в порядке просмотра документа. Некоторые элементы, обрабатывающие множества (такие, как
Множества узлов можно сравнивать при помощи операторов "
Результатом этого преобразования будет строка:
Этот пример показывает, что множество дочерних элементов
Приведем еще несколько примеров.
Результат:
Результат:
С математической точки зрения операции сравнения множеств определены в XSLT, мягко говоря, странно. Например, единственный случай, когда для двух множеств не будет выполняться неравенство ("
XSLT определяет единственную операцию над множествами — операцию объединения "
В XSLT нет встроенного оператора, который позволил бы установить принадлежность узла некоторому множеству. Для этой цели используется очень хитроумный прием, основанный на использовании функции