Elemento <xsl:apply-templates> do XSLT
Definição e uso
O elemento <xsl:apply-templates> pode aplicar o modelo ao elemento atual ou aos elementos filhos do elemento atual.
Se adicionarmos a propriedade select ao elemento <xsl:apply-templates>, ele processará apenas os elementos filhos que correspondem ao valor da propriedade. Podemos usar a propriedade select para definir a ordem de processamento dos sub-elementos.
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 tratado. O asterisco seleciona todo o conjunto de nós. Se este atributo for omitido, todos os subnós do nó atual serão selecionados. |
mode | Nome | Opcional. Se houver várias maneiras de lidar com o mesmo elemento, o mode pode ser usado para distinguí-las. |
Exemplo
Exemplo 1
Usar o elemento h1 para envolver cada elemento title do documento:
<?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 dos subnóveis do message 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 message com o elemento h1 cujo atributo mode está definido 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>