4 de Febrero de 2006 (Daniel P.)Elemento <xsl:for-each>
La etiqueta <xsl:for-each> puede ser usada para seleccionar
cada elemento XML de un nodo específico:
Veamos un ejemplo simple de un archivo xsl: <?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="/">
<html>
<body>
<h2>Mi coleccion de CDs</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Titulo</th>
<th>Artista</th>
</tr>
<xsl:for-each select="catalogo/cd">
<tr>
<td><xsl:value-of select="titulo"/></td>
<td><xsl:value-of select="artista"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
|
Nota: El valor del atributo select es una
expresión XPath. Una expresión XPath trabaja de igual manera
que el sistema de navegación de archivos; donde para seleccionar subdirectorios
se debe utiliza el slash (/).
Dado el siguiente documento XML y la plantilla de transformación anterior: <?xml version="1.0" encoding="ISO-8859-1"?> <catalogo> <cd> <titulo>Empire Burlesque</titulo> <artista>Bob Dylan</artista> <pais>USA</pais> <discografica>Columbia</discografica> <precio>10.90</precio> <anio>1985</anio> </cd> <cd> <titulo>The dock of the bay</titulo> <artista>Otis Redding</artista> <pais>USA</pais> <discografica>Atlantic</discografica> <precio>7.90</precio> <anio>1987</anio> </cd> <cd> <titulo>Picture book</titulo> <artista>Simply Red</artista> <pais>EU</pais> <discografica>Elektra</discografica> <precio>7.20</precio> <anio>1985</anio> </cd> <cd> <titulo>Red</titulo> <artista>The Communards</artista> <pais>UK</pais> <discografica>London</discografica> <precio>7.80</precio> <anio>1987</anio> </cd> <cd> <titulo>Unchain my heart</titulo> <artista>Joe Cocker</artista> <pais>USA</pais> <discografica>EMI</discografica> <precio>8.20</precio> <anio>1987</anio> </cd> </catalogo> |
El resultado sería el siguiente documento HTML:
<html><body>
<h2>Mi coleccion de CDs</h2>
<table border="1">
<tr bgcolor="#9acd32"><th>Titulo</th><th>Artista</th></tr>
<tr><td>Empire Burlesque</td><td>Bob Dylan</td>
</tr>
<tr><td>The dock of the bay</td><td>Otis Redding</td>
</tr>
<tr><td>Picture book</td><td>Simply Red</td>
</tr>
<tr><td>Red</td><td>The Communards</td>
</tr>
<tr><td>Unchain my heart</td><td>Joe Cocker</td>
</tr>
</table>
</body></html> |
En el resultado anterior se puede ver que se han copiado varias líneas
de información del documento xml a la salida. |