<Completa Element XSLT Referencia
Definición y Uso
El <xsl:apply-templates> elemento se aplica una plantilla al elemento actual o para nodos hijo del elemento actual.
Si añadimos un atributo de selección para el <xsl:apply-templates> elemento se procesará sólo el elemento secundario que coincida con el valor del atributo. Podemos utilizar el select atributo para especificar el orden en que los nodos secundarios se van a procesar.
Sintaxis
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
atributos
Atributo | Valor | Descripción |
---|---|---|
select | expression | Opcional. Especifica los nodos para ser procesados. Un asterisco selecciona el entero conjunto de nodos. Si se omite este atributo, se seleccionarán todos los nodos hijos del nodo actual |
mode | name | Opcional. Si hay varias formas de procesamiento definido para el mismo elemento, que distingue entre ellas |
Ejemplo 1
Envolver un solo elemento h1 alrededor de cada elemento de título en el 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>
Ejemplo 2
Envolver un solo elemento h1 alrededor de todos los elementos del título, que son hijos de mensaje:
<?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>
Ejemplo 3
Envolver un solo elemento h1 alrededor de todos los nodos secundarios del mensaje que tienen el mode atributo establecido en "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>
<Completa Element XSLT Referencia