xsl:apply-templates Element
9/8/2008
Direciona o processador XSL Transformations (XSLT) para localizar o apropriado modelo para aplicar, com base no tipo e contexto de cada nó selecionado.
Syntax
<xsl:apply-templates
select = expression
mode = QName>
</xsl:apply-templates>
Atributos
- Selecione
Pode ser usado para nós processo selecionadas por uma expressão instead of processamento todos os filhos. O valor da Selecione atributo é uma expressão. A expressão deve ser avaliada como um conjunto de nós. O conjunto de nós selecionados é processado na ordem documento, a menos que uma especificação de classificação esteja presente.
- 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: attribute, xsl:Comment, xsl:Copy, xsl:element, xsl: for-each, IF, xsl:otherwise, xsl:param, xsl:Processing-instrução, xsl: template, xsl:variable, xsl: when, xsl: com-param, outputelements |
Elementos filho |
Remarks
O < xsl:apply-modelos > elemento seleciona um conjunto de nós usando a consulta especificada no primeiro a Selecione atributo. Se esse atributo é deixado não especificado, todos os filhos do atual nó são selecionados. Para cada um dos nós selecionados, < xsl:apply-modelos > direciona o processador XSLT para localizar um apropriado < xsl: template > Para aplicar. Modelos são testados para aplicabilidade comparando o nó para o expressão XPath especificado do modelo Corresponder atributo. Se more than um modelo satisfaça o padrão de correspondência, aquele que aparece com a prioridade mais alta será escolhido. Se vários modelos têm a mesma prioridade, o último na folha de estilo é escolhido.
Example
A seguinte folha estilo formata dados cliente em XML em um HTML < Table >
elemento, onde cada linha representa um cliente e as colunas representar do o cliente nome, endereço e número de telefone. O < xsl:Sort >
elemento classifica os clientes pelo estado, com todos os clientes de um estado Único classificada por nome.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<HTML>
<BODY>
<TABLE>
<xsl:apply-templates select="customers/customer">
<xsl:sort select="state"/>
<xsl:sort select="name"/>
</xsl:apply-templates>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="customer">
<TR>
<xsl:apply-templates select="name" />
<xsl:apply-templates select="address" />
<xsl:apply-templates select="phone" />
<xsl:apply-templates select="phone" mode="accountNumber"/>
</TR>
</xsl:template>
<xsl:template match="name">
<TD STYLE="font-size:14pt font-family:serif">
<xsl:apply-templates />
</TD>
</xsl:template>
<xsl:template match="address">
<TD> <xsl:apply-templates /> </TD>
</xsl:template>
<xsl:template match="phone">
<TD> <xsl:apply-templates /> </TD>
</xsl:template>
<xsl:template match="phone" mode="accountNumber">
<TD STYLE="font-style:italic">
1-<xsl:value-of select="."/>-001
</TD>
</xsl:template>
</xsl:stylesheet>