Elemento <xsl:apply-templates>

Dirige el procesador XSLT para que busque la plantilla adecuada que se debe aplicar, según el tipo y el contexto del nodo seleccionado.

<xsl:apply-templates
  select = Expression
  mode = QName
</xsl:apply-templates>

Atributos

  • select
    Puede utilizarse para procesar nodos seleccionados por una expresión, en vez de procesar todos los secundarios. El valor del atributo select es una Expresiones, que debe evaluarse en función de un conjunto de nodos. El conjunto de nodos seleccionado se procesa en orden de documento, a menos que se especifique un orden de organización distinto.
  • mode
    El atributo mode permite que se procese varias veces un elemento especificado por su Nombres completos, obteniendo cada vez un resultado distinto. Si <xsl:template> no tiene un atributo match, no puede tener un atributo mode. Si un elemento <xsl:apply-templates> tiene un atributo mode, se aplica sólo a las reglas de plantilla de los elementos <xsl:template> que tienen un atributo mode con el mismo valor. Si un elemento <xsl:apply-templates> no tiene un atributo mode, se aplica sólo a las reglas de plantilla de los elementos <xsl:template> que no tienen un atributo mode.

Información del elemento

Número de apariciones

Ilimitado

Elementos primarios

xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementos resultantes

Elementos secundarios

xsl:sort, xsl:with-param

Comentarios

El elemento <xsl:apply-templates> selecciona primero un conjunto de nodos mediante la expresión especificada en el atributo select. Si este atributo se deja sin especificar, se seleccionan todos los secundarios del nodo actual. Para cada nodo seleccionado, <xsl:apply-templates> dirige el procesador XSLT para que busque una <xsl:template> adecuada para aplicarla. Para comprobar la aplicabilidad de las plantillas, se compara el nodo con la expresión de XPath especificada en el atributo match de la plantilla. Si existe más de una plantilla que satisface el modelo de coincidencia, se elegirá la que tenga mayor prioridad. Si hay varias plantillas con la misma prioridad, se elegirá la última de la hoja de estilos.

En los temas siguientes se muestra un ejemplo del elemento <xsl:apply-templates>.