XSLT <xsl:apply-templates>
❮ Referência Completa do Elemento XSLT
Definição e uso
O elemento <xsl:apply-templates> aplica um modelo ao elemento atual ou aos nós filho do elemento atual.
Se adicionarmos um atributo select ao elemento <xsl:apply-templates>, ele processará apenas o elemento filho que corresponde ao valor do atributo. Podemos usar o atributo select para especificar em qual ordem os nós filhos devem ser processados.
Sintaxe
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
Atributos
Attribute | Value | Description |
---|---|---|
select | expression | Optional. Specifies the nodes to be processed. An asterisk selects the entire node-set. If this attribute is omitted, all child nodes of the current node will be selected |
mode | name | Optional. If there are multiple ways of processing defined for the same element, distinguishes among them |
Exemplo 1
Enrole um único elemento h1 em torno de cada elemento de título no documento:
<?xml version="1.0" encoding="UTF-8"?>
<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
Envolva um único elemento h1 em torno de todos os elementos title que são filhos de message:
<?xml version="1.0" encoding="UTF-8"?>
<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
Envolva um único elemento h1 em torno de todos os nós filhos da mensagem que têm o atributo mode definido como "big":
<?xml version="1.0" encoding="UTF-8"?>
<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>
❮ Referência Completa do Elemento XSLT