5 de Febrero de 2006 (Daniel P.)Elemento <xsl:sort>
La etiqueta <xsl:sort> ordena la salida y se usa dentro
de la etiqueta <xsl:for-each>, veamos un ejemplo del
uso de esta etiqueta en una plantilla de transformación xsl:
Veamos un ejemplo simple de un archivo xsl que usa esta etiqueta:
<?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">
<xsl:sort select="artista"/>
<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 atributo select indica que elemento
XML va a ser usado para la ordenación.
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>Unchain my heart</td><td>Joe
Cocker</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> </table>
</body></html> |
Vemos que la salida está ordenada por el nombre del artista. |