Compartir a través de


Elemento <xsl:for-each>

Aplica una plantilla repetidas veces, es decir, a cada uno de los nodos de un conjunto.

<xsl:for-each
  select = Expression
</xsl:for-each>

Atributos

  • select
    Necesario. Expresiones evaluada en el contexto actual para determinar el conjunto de nodos que es necesario recorrer en iteración.

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:apply-imports, xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:number, xsl:processing-instruction, xsl:sort, xsl:text, xsl:value-of, xsl:variable

Notas

El elemento <xsl:for-each> establece el contexto para el recorrido en iteración. Las instrucciones de transformación XSLT de este bucle deben aplicarse a los nodos seleccionados. Cada elemento de origen seleccionado por <xsl:for-each> se convierte en un nuevo contexto en el que se realiza toda coincidencia de modelos en <xsl:for-each>.

Ejemplo

El archivo XSLT de este ejemplo permite definir la estructura de un documento de salida. El resultado es un elemento HTML de nivel superior que contiene los elementos <BODY> y <TABLE>. La tabla contiene filas repetidas para cada cliente. El archivo XSLT también utiliza plantillas para crear elementos <TD> para los elementos de nombre, dirección y número de teléfono.

Archivo XML (customers.xml)

Archivo XSLT (foreach.xsl)

Resultados

Este es el resultado con formato:

Resultado con formato

Este es el resultado del procesador:

<HTML>
<BODY>
<TABLE>
<TR>
<TD>Albert Aikens</TD>
<TD>368 Elm St.</TD>
<TD>(206) 423-4537</TD>
</TR>
<TR>
<TD>Albert Gandy</TD>
...
</TR>
</TABLE>
</BODY>
</HTML>