xsl:with-param Element
9/8/2008
Passa um parâmetro para um modelo.
Syntax
<xsl:with-param
name = QName
select = expression>
</xsl:with-param>
Atributos
- Nome
[exigido] Especifica o nome do parâmetro.
- Selecione
Uma expressão para ser comparados com o atual contexto. Não há nenhum valor usar como padrão. Um seqüência vazia é gerada se não houver nenhuma de conteúdo.
Elemento informações
Número de ocorrências |
Ilimitado |
Elementos pai |
|
Elementos filho |
xsl:apply-modelos, xsl: attribute, Call-modelo, xsl:choose, xsl:Comment, xsl:Copy, xsl:copy - dos, xsl:element, xsl: for-each, IF, xsl:Processing-instrução, xsl:text, xsl:value - dos, xsl:variable |
Remarks
O exigido Nome atributo Especifica o nome do parâmetro (a variável, o valor de cuja ligação é a ser substituído). O < xsl: com-param > elemento é permitido em ambas < Call-modelo > e < xsl:apply-modelos >. O valor do parâmetro é especificado da mesma maneira como para < xsl:variable > e < xsl:param >. O atual nó e atual nó-lista usada para computação o valor especificado pelo < xsl: com-param > elemento é o mesmo usado para o < xsl:apply-modelos > Ou < Call-modelo > elemento dentro do qual ele ocorre. Não é um erro para transmitir um parâmetro x Para um modelo que não tenha um < xsl:param > elemento para x; o parâmetro é simplesmente ignorado.
Example
Suponha que as mensagens de uma linguagem L são armazenadas em um Resources/L.xml arquivo XML in a seguinte forma.
<messages>
<message name="problem">A problem was detected.</message>
<message name="error">An error was detected.</message>
</messages>
Uma folha estilo pode usar a seguinte abordagem para localizar mensagens.
<xsl:param name="lang" select="en"/>
<xsl:variable name="messages"
select="document(concat('resources/', $lang, '.xml'))/messages"/>
<xsl:template name="localized-message">
<xsl:param name="name"/>
<xsl:message>
<xsl:value-of select="$messages/message[@name=$name]"/>
</xsl:message>
</xsl:template>
<xsl:template name="problem">
<xsl:call-template name="localized-message"/>
<xsl:with-param name="name">problem</xsl:with-param>
</xsl:call-template>
</xsl:template>
See Also
Reference
XSLT Elements
xsl:call-template Element
xsl:template Element
xsl:param Element
xsl:variable Element