Валиков Алексей Н.
Шрифт:
Для множества узлов можно использовать предикаты и операции над множествами:
Заметим, что шаблон, содержащийся в элементе
Использование внешних документов в преобразовании, как правило, сопровождается громоздкими выражениями вида:
и так далее.
Для того чтобы при обращении к внешнему документу не использовать каждый раз функцию
После этого к документу
Параметры
Параметры в XSLT практически полностью идентичны переменным. Они точно так же связывают с объектом имя, посредством которого в дальнейшем можно к этому объекту обращаться. Главным различием является то, что значение, данное параметру при инициализации, является всего лишь значением по умолчанию, которое может быть переопределено при вызове.
До сих пор мы говорили о шаблонах, как о правилах, часто используя эти слова как синонимы. Попробуем теперь немного сменить угол зрения и представить их как функции, каждая из которых преобразует некоторый узел и возвращает фрагмент дерева в качестве результата. С этой точки зрения параметры шаблонов являются ни чем иным, как аргументами этих функций.
Работа с параметрами обеспечивается двумя элементами —
Элемент xsl:param
Синтаксически этот элемент задается как:
Элемент
Элемент
Параметру может быть присвоено значение по умолчанию — то есть значение, которое будет использоваться в случае, если параметра с таким именем шаблону передано не было. Значение по умолчанию вычисляется следующим образом:
□ если в элементе
□ если атрибут
□ если атрибут
Элемент
создаст параметр, значением которого по умолчанию будет