xsl:param Element
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 |
|
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