Elemento <xsl:apply-templates> XSLT
Definición y uso
El elemento <xsl:apply-templates> puede aplicar plantillas al elemento actual o a los elementos hijos del elemento actual.
Si agregamos la propiedad select al elemento <xsl:apply-templates>, solo procesará los elementos hijos que coinciden con el valor de esta propiedad. Podemos usar la propiedad select para definir el orden de procesamiento de los sub-elementos.
Sintaxis
<xsl:apply-templates select="expression" mode="name"> <!-- Contenido: (xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Atributo
Atributo | Valor | Descripción |
---|---|---|
select | Expresión | Opcional. Define el nodo que se debe procesar. El asterisco selecciona todo el conjunto de nodos. Si se omite este atributo, se seleccionarán todos los nodos hijos del nodo actual. |
mode | Nombre | Opcional. Si hay varios métodos de procesamiento definidos para el mismo elemento, se puede distinguir entre ellos utilizando mode. |
Ejemplo
Ejemplo 1
Envuelva cada elemento title del documento con el 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>
Ejemplo 2
Envuelva todos los elementos title que pertenecen a todos los elementos hijos del documento dentro del 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>
Ejemplo 3
Envuelva todos los nodos hijos del atributo "mode" establecido como "big" del documento con el 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="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>