Compartilhar via


xsl:param Element

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Declara um parâmetro nomeado para uso dentro um xsl: template ou xsl: stylesheet. Permite especificação de um valor usar como padrão.

Syntax

<xsl:param
  name = QName
  select = expression>
</xsl:param>

Atributos

  • Nome
    [exigido] Especifica o nome do parâmetro.
  • Selecione
    O valor do atributo é uma expressão e o valor da variável é o objeto que resulta da avaliação de expressão. Quando esse atributo é especificado, o de conteúdo do < xsl:param > deve ser vazio.

Elemento informações

Número de ocorrências

Ilimitado

Elementos pai

xsl: stylesheet, xsl: template, xsl:Transform

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, saída elementos

Remarks

O valor especificado no < xsl:param > elemento é um valor usar como padrão para ligação. Quando a folha modelo ou estilo contendo < xsl:param > é invocado, parâmetros são passados que são usados no local dos valores usar como padrão.

O valor do parâmetro pode ser um objeto de qualquer tipo que pode ser retornado por uma expressão. O < xsl:param > elemento pode especificar o valor da variável no alternativo três maneiras:

  • Se o elemento tem um Selecione atributo, o valor do atributo deve ser uma expressão e o valor do parâmetro é o objeto que resulta da avaliação de expressão. Este maiúsculas e minúsculas, o de conteúdo do elemento deve estar vazio.

  • Se o elemento não tiver um Selecione atributo e tem de conteúdo Non-Empty such as um ou mais nós filho, o de conteúdo especifica o valor. O de conteúdo é um modelo que seja instanciado para fornecer o valor do parâmetro. O valor é um resultado-árvore fragmento equivalente a um node-set contendo apenas um nó raiz único tendo como filhos a seqüência de nós produzido pelo instanciar o modelo. O URI de base de nós no resultado-árvore fragmento é a URI de base do elemento.
    Um erro ocorre se um membro da seqüência de nós criados pelo instanciar o modelo for um nó de atributo ou um nó espaço Nome, porque um nó raiz não pode ter um nó de atributo ou um nó espaço nome como um filho.

  • Se o de conteúdo está vazio e não tiver um Selecione atributo, o valor do parâmetro é um seqüência vazia. Assim,

    <xsl:param name="x"/>
    

    é equivalente a

    <xsl:param name="x" select="''"/>
    

    Observação

    Quando um parâmetro é usado para selecionar nós por posição, ser cuidadoso não fazer o seguinte:

    <xsl:param name="n">2</xsl:param>
    ...
    <xsl:value-of select="item[$n]"/>
    

    Este será o valor do primeiro elemento item, saída porque a variável "n" Será ligado para um resultado-fragmento árvore, não um número. Em vez disso, proceda de uma

    <xsl:param name="n" select="2"/>
    ...
    <xsl:value-of select="item[$n]"/>
    

    Ou

    <xsl:param name="n">2</xsl:param>
    ...
    <xsl:value-of select="item[number($n)]"/>
    

    Observação

    A seguinte é uma maneira conveniente para especificar o vazio node-set como o valor usar como padrão de um parâmetro.

    <xsl:param name="x" select="/.."/>
    

Example

Este exemplo define um nomeado modelo para um " numerada-bloco " Com um argumento para controle de formato do número.

<xsl:template name="numbered-block">
  <xsl:param name="format">1. </xsl:param>
  <fo:block>
    <xsl:number format="{$format}"/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

<xsl:template match="ol//ol/li">
  <xsl:call-template name="numbered-block">
    <xsl:with-param name="format">a. </xsl:with-param>
  </xsl:call-template>
</xsl:template>

See Also

Reference

XSLT Elements
xsl:variable Element
xsl:call-template Element