Языки информационного обмена

Декларация xsl:param


Элемент xsl:param записывается или непосредственно в элементе xsl:stylesheet, чтобы задать параметр преобразования, или в элементе xsl:template, чтобы задать параметр правила, или в элементе xsl:function как аргумент функции. У него один обязательный атрибут name, определяющий имя параметра. Кроме него, часто присутствует необязательный атрибут select, в котором записывается выражение для получения значения параметра:

<xsl:param name="pl" select="10 + 20" />

Если атрибут select отсутствует, то значение параметра берется из содержимого элемента, которым может быть конструктор последовательности узлов и атомарных значений:

<xsl:param name="p2">10</xsl:param>

Если отсутствует и атрибут select, и содержимое элемента, то параметр получает значение пустой строки.

Дли получении значения параметра надо записывать его имя со знаком доллара: &p1,&p2. Например:

<xsl:when test= "&p1=10 ">

Правила, определяющие область видимости параметров, такие же, как и у имен объектов, определенных декларацией xsl:variable.

Еще один необязательный атрибут as содержит желательный тип, к которому будет приведено значение параметра.

Наконец, последний атрибут required, принимающий значения yes или nо (по умолчанию), указывает обязательность параметра. Если параметр обязателен, required="yes", то элемент xsl:param должен быть пустым и не содержать атрибут select. В таком случае он получит определенное значение при вызове функции или элементом xsl:with-param при вызове шаблона.



Содержание раздела