Compartilhar via


xsl:with-param Element

Windows Mobile SupportedWindows Embedded CE Supported

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

Call-modelo, xsl:apply-modelos

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