Ответ 1
Разница в том, что значение xsl:param
может быть
устанавливается вне контекста, в котором он объявлен. Например,
см:
<xsl:template ...>
<xsl:param name="p" select="'x'" />
<xsl:variable name="v" select="'y'" />
...
то вы знаете, что $v
всегда даст вам строку 'y'
. Но для $p
строка 'x'
является только значением по умолчанию:
вы увидите другое значение, если шаблон вызывается с помощью
xsl:apply-templates
или xsl:call-template
, который содержит инструкцию
таких как:
<xsl:with-param name="p" select="'not x'" />
<xsl:param>
также может использоваться вне xsl:template
, на верхнем уровне в
таблица стилей. Значение такого параметра может быть установлено, когда
Вызывается XSLT-процессор. Как это делается, зависит от процессора
и вы вызываете это из командной строки или программы.