Переменные и параметры
<!-- Category: top-level-element -->
<!-- Category: instruction -->
<xsl:variable
name = qname
select = expression>
<!-- Content: template -->
</xsl:variable>
<!-- Category: top-level-element -->
<xsl:param
name = qname
select = expression>
<!-- Content: template -->
</xsl:param>
Переменная - это имя, которое может быть связано со значением. Значение, к которому привязана переменная, (значение переменной) может быть объектом любого типа, который может быть возвращен выражением. Для привязки переменных могут использоваться два элемента: xsl:variable и xsl:param. Разница между ними заключается в том, что значение, указанное в переменной xsl:param, является лишь значением по умолчанию. Если используется шаблон или стиль, в котором используется элемент xsl:param, то могут быть переданы параметры, которые будут использоваться вместо значений по умолчанию.
И xsl:variable, и xsl:param имеют обязательный атрибут name, задающий имя переменной. Значением атрибута name является , которое приводится к расширенному имени как описано в главе .
Когда используется любой из этих элементов привязки переменных, в дереве стилей всегда есть область, где эта привязка будет видима. В пределах этой области видима любая привязка данной переменной, однако соответствующий элемент привязки переменной остается скрытым. Таким образом, видна только самая внутренняя привязка переменной. Набор привязок переменной в области видимости выражения состоит из тех привязок, которые были видимы в том месте стиля, где это выражение находится.