Elemento <xsl:apply-templates> XSLT
Definição e uso
O elemento <xsl:apply-templates> pode aplicar modelos ao elemento atual ou aos seus subelementos.
Se adicionarmos a propriedade select ao elemento <xsl:apply-templates>, ele processará apenas os subnóveis que correspondem ao valor dessa propriedade. Podemos usar a propriedade select para definir a ordem de processamento dos subnóveis.
Sintaxe
<xsl:apply-templates select="expression" mode="name"> <!-- Conteúdo:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Atributo
Atributo | Valor | Descrição |
---|---|---|
select | Expressão | Opcional. Define o nó a ser processado. A estrela (*) seleciona todo o conjunto de nós. Se este atributo for omitido, todos os subnóveis do nó atual serão selecionados. |
mode | Nome | Opcional. Se houver várias maneiras de processar o mesmo elemento, o mode pode ser usado para distingui-las. |
Exemplo
Exemplo 1
Envolver cada elemento title com o elemento h1:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="title"> <h1><xsl:apply-templates/></h1> </xsl:template> </xsl:stylesheet>
Exemplo 2
Envolver todos os elementos title que pertencem a todos os subnóveis do documento com o elemento h1:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="title"/></h1> </xsl:template> </xsl:stylesheet>
Exemplo 3
Envolver todos os subnóveis do documento com o elemento h1 que têm a propriedade mode definida como "big":
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>