Compartilhar via


xsl:template Element

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Define um modelo re-useable para gerar a saída desejada para nós de um tipo específico e contexto.

Syntax

<xsl:template
  name = QName
  match = pattern
  priority = "number"
  mode = QName
</xsl:template>

Atributos

  • Nome
    O valor da Nome atributo é um QName que é expandido. Se ele tiver um prefixo, o prefixo é expandido em uma referência URI (Uniform Resource Identifier) (URI) usando declarações de espaço nome aplicado no atributo no qual o nome ocorre. A expandida-nome, que consiste de local parte de nome e o possivelmente NULL URI referência for usada como o nome do modelo. O espaço nome usar como padrão não é usado para nomes não-prefixados. Se um < xsl: template > elemento tem um Nome atributo, ele pode ser, mas necessário não, também têm um Corresponder atributo.
  • Corresponder
    Um padrão que identifica o nó origem ou nós aos quais a regra se aplica. O Corresponder atributo é exigido, a menos que o < xsl: template > elemento tem um Nome atributo. O de conteúdo do < xsl: template > elemento é o modelo que seja instanciado quando a regra modelo é aplicada.
  • prioridade
    Compatível todas as regras modelo que possuem prioridade inferior que a compatível modelo regra ou regras com a prioridade mais alta são eliminadas das considerações. O valor deste deve ser um número real de 0–9, compatível positivo ou negativo, o número de produção com um opcional sinal de menos à esquerda (-). A prioridade usar como padrão é calculada da seguinte maneira:

    • Se o padrão contém múltiplo alternativas separadas por |, ele será tratado equivalently a um conjunto de regras modelo, uma para cada alternativo.
    • Se o padrão tem a forma de uma QName precedido por um especificador eixo filho ou atributo ou tem o processamento forma - literal instrução precedido por um especificador eixo filho ou atributo, a prioridade é 0.
    • Se o padrão é um nome precedido por um filho ou especificador eixo atributo, a prioridade é-0.25.
    • Caso contrário, se o padrão consiste apenas um nó testar precedido por um filho ou especificador eixo atributo, a prioridade será-0,5.
    • Caso contrário, a prioridade é 0,5.

    Assim, the most comum Tipo de padrão (um padrão que testa para um nó com um tipo específico e um Expanded-Name específico) tem prioridade 0. O próximo menos tipo específico de padrão (um padrão que testa para um nó com um tipo específico e um Expanded-Name com um nome determinado espaço URI) tem prioridade-0.25. Padrões menos específico do que isso (padrões que testar apenas para os nós com tipos específicos) têm prioridade-0,5. Os padrões mais específicos que the most comum Tipo de padrão tem prioridade de 0,5.

  • modo
    O modo atributo permite que um elemento para serem processados múltiplo horas, cada tempo produzir um resultado diferente. Se < xsl: template > Não é necessário um Corresponder atributo, ele não deve ter um modo atributo. Se um < xsl:apply-modelos > elemento tem um modo atributo, ele se aplica somente a essas regras modelo do < xsl: template > Elementos que tenham um modo atributo com o mesmo valor; Se um < xsl:apply-modelos > elemento não tem um modo atributo, ele se aplica somente a essas regras modelo do < xsl: template > Elementos que não têm um modo atributo.

Elemento informações

Número de ocorrências

Ilimitado

Elementos pai

xsl: stylesheet, 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:param, xsl:Processing-instrução, xsl:text, xsl:value - dos, xsl:variable, saída elementos

Remarks

Observe que o modelo não precisa gerar um completo documento XML (mesmo o modelo raiz, a menos que usando transformNodeToObject), mas apenas um fragmento de XML. É possível incluir texto unenclosed ou múltiplo elementos documento definidos pelo modelo. Isso facilita a geração de processado texto e fragmentos XML que podem ser mais processados por um aplicativo (por exemplo, HTML fragmentos inseridos um página HTML).

O valor da Nome atributo é um QName que é expandido. Se ele tiver um prefixo, ele estiver expandido em uma referência URI usando as declarações espaço nome aplicado no atributo no qual o nome ocorre. A expandida-nome consiste de local parte de nome e possivelmente NULL referência URI é usada como o nome do modelo. O espaço nome usar como padrão não é usado para nomes não-prefixados.

Se um < xsl: template > elemento tem um Nome atributo, ele pode ser, mas necessário não, também têm um Corresponder atributo. Um <Call-modelo> elemento invoca um modelo por nome; Ele tem um exigido Nome atributo que identifica o modelo a ser chamado. Ao contrário < xsl:apply-modelos >, < Call-modelo > Não alteração a atual nó ou a atual lista nó.

Um erro ocorre se uma folha estilo contém more than um modelo com o mesmo nome.

Example

O seguinte modelo (neste maiúsculas e minúsculas definida pelo < xsl: template > elemento) tem um padrão que identifica elementos do tipo "stock" e produz uma saída < DIV > elemento com o atributo STYLE = " fonte-Weight:bold ":

<xsl:template match="stock">
  <DIV STYLE="font-weight:bold">
    Symbol: <xsl:value-of match="symbol" />, Price: <xsl:value-of match="price" />
  </DIV>
</xsl:template>

See Also

Reference

XSLT Elements