Elemento <xsl:apply-templates> XSLT
Definizione e uso
L'elemento <xsl:apply-templates> può applicare il modello all'elemento corrente o ai figli dell'elemento corrente.
Se aggiungiamo l'attributo select all'elemento <xsl:apply-templates>, verranno trattati solo i figli che corrispondono al valore dell'attributo. Possiamo utilizzare l'attributo select per definire l'ordine di trattamento dei sotto-punti.
Sintassi
<xsl:apply-templates select="expression" mode="name"> <!-- Contenuto:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Attributo
Attributo | Valore | Descrizione |
---|---|---|
select | Espressione | Opzionale. Specifica il nodo da trattare. L'asterisco seleziona l'intero set di nodi. Se l'attributo viene omesso, vengono selezionati tutti i figli del nodo corrente. |
mode | Nome | Opzionale. Se ci sono più metodi definiti per lo stesso elemento, l'attributo mode può distinguerli. |
Esempio
Esempio 1
Includi l'elemento h1 intorno a ogni elemento title:
<?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>
Esempio 2
Includi l'elemento h1 intorno a tutti gli elementi title appartenenti a message:
<?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>
Esempio 3
Includi l'elemento h1 intorno a tutti i figli di message con l'attributo mode impostato su "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>