Шрифт:
Для введения вполне достаточно; давайте перейдем к работе, и начнем мы с переменных.
Элемент <xsl:variable>: создание переменных
Для создания переменных в XSLT служит элемент
•
•
Этот элемент может либо быть элементом верхнего уровня, либо применяться внутри тела шаблона. Элемент может сам содержать тело шаблона, но в таком случае нельзя использовать атрибут
Для создания переменной присвойте ее имя атрибуту name элемента
Получить значение переменной можно, добавив к ее имени префикс $:
Заметьте, что если вы присваиваете переменной литерал — как, например, присваивание значения «turkey» (индейка) переменной
В XSLT 1.0 нет необходимости в атрибуте select — данные можно заключить внутри самого элемента
Формально, однако, при пропуске атрибута
Стоит отметить, что имя переменной может включать префикс, как, например,
Область видимости переменной
Элемент
Областью видимости глобальной переменной является вся таблица стилей, подразумевая и импортированные или включенные таблицы стилей. Это означает, что переменная доступна в любом месте таблицы стилей, если только она не будет перекрыта локальной переменной с тем же именем. Можно даже обращаться к глобальной переменной до ее объявления. Однако нельзя создавать циклические ссылки (то есть если вы объявили
Область видимости локальной переменной ограничена следующими за ней братьями или потомками последующих братьев. В частности это значит, что если вы объявили переменную внутри таких элементов, как
Как правило, вы не можете изменять значение переменной, но вы можете перекрыть ее локальной переменной. То есть локальные переменные перекрывают глобальные в пределах области видимости локальных переменных. Пусть, например, я объявил переменную с именем
Это элемент верхнего уровня, поэтому