Foros del Web » Creando para Internet » Diseño web »

[SOLUCIONADO] Problemas con XSLT

Estas en el tema de Problemas con XSLT en el foro de Diseño web en Foros del Web. Hola a todos. Soy nueva en los foros y estoy buscando que me ayuden con un proyecto que me trae de cabeza. Les cuento: la ...
  #1 (permalink)  
Antiguo 26/03/2014, 10:09
 
Fecha de Ingreso: marzo-2014
Ubicación: España
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Problemas con XSLT

Hola a todos.
Soy nueva en los foros y estoy buscando que me ayuden con un proyecto que me trae de cabeza.
Les cuento: la cosa consiste es que tengo que crear una tabla, y ordenar el contenido por los apellidos de forma ascendente, pero no hay menra de que me la ordene.
A ver si me pueden aydar
Tengo estas dos hojas:
equipo.xml
Código XML:
Ver original
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- Aplicar transformaciones XSL -->
  3. <?xml-stylesheet type="text/xsl" href="equipo3.xsl"?>
  4.  
  5. <equipo>
  6.     <nombre_equipo>
  7.         <nombre>Málaga CF</nombre>
  8.     </nombre_equipo>
  9.  
  10.     <entrenadores>
  11.         <entrenador>
  12.             <nombre>Bernd</nombre>
  13.             <apellidos>Schuster</apellidos>
  14.             <sueldo>800.000</sueldo>
  15.         </entrenador>
  16.         <entrenador>
  17.             <nombre>Fabio</nombre>
  18.             <apellidos>Celestini</apellidos>
  19.             <sueldo>500.000</sueldo>
  20.         </entrenador>
  21.     </entrenadores>
  22.    
  23.         <jugadores>
  24.             <jugador nombre="Carlos" apellido="Kameni" sueldo="3000.5" numero_dorsal="1" puesto="Portero"/>
  25.             <jugador nombre="Willy" apellido="Caballero" sueldo="3900.6" numero_dorsal="13" puesto="Portero"/>
  26.             <jugador nombre="Aarón" apellido="Escandell" sueldo="1900.6" numero_dorsal="33" puesto="Portero"/>
  27.             <jugador nombre="Jesús" apellido="Gámez" sueldo="1999.5" numero_dorsal="2" puesto="Defensa"/>
  28.             <jugador nombre="Weligton" apellido="Robson" sueldo="1600.87" numero_dorsal="3" puesto="Defensa"/>
  29.             <jugador nombre="Flávio" apellido="Ferreira" sueldo="3600.8" numero_dorsal="4" puesto="Defensa"/>
  30.             <jugador nombre="Vitorino" apellido="Antunes" sueldo="1855.4" numero_dorsal="5" puesto="Defensa"/>
  31.             <jugador nombre="Marcos" apellido="Angeleri" sueldo="2855.4" numero_dorsal="15" puesto="Defensa"/>
  32.             <jugador nombre="José" apellido=" Casado" sueldo="1788.65" numero_dorsal="20" puesto="Defensa"/>
  33.             <jugador nombre="Sergio" apellido="Sánchez" sueldo="1788.6" numero_dorsal="21" puesto="Defensa"/>
  34.             <jugador nombre="Ignacio" apellido="Camacho" sueldo="1601.87" numero_dorsal="6" puesto="Centrocampistas"/>
  35.             <jugador nombre="Francisco" apellido="Portillo" sueldo="1601.87" numero_dorsal="8" puesto="Centrocampistas"/>
  36.             <jugador nombre="Oleksandr" apellido="Iakovenko" sueldo="4000" numero_dorsal="10" puesto="Centrocampistas"/>
  37.             <jugador nombre="Pablo" apellido="Pérez" sueldo="3700.3" numero_dorsal="11" puesto="Centrocampistas"/>
  38.             <jugador nombre="Fernando" apellido="Tissone" sueldo="1899.21" numero_dorsal="12" puesto="Centrocampistas"/>
  39.             <jugador nombre="Pedro" apellido="Morales" sueldo="3000.21" numero_dorsal="14" puesto="Centrocampistas"/>
  40.             <jugador nombre="Sergio" apellido=" Barbosa" sueldo="1995.23" numero_dorsal="17" puesto="Centrocampistas"/>
  41.             <jugador nombre="Eliseu" apellido="Pereira" sueldo="1995.23" numero_dorsal="18" puesto="Centrocampistas"/>
  42.             <jugador nombre="Bartlomiej" apellido="Pawlowski" sueldo="1860.7" numero_dorsal="19" puesto="Centrocampistas"/>
  43.             <jugador nombre="Nordin" apellido="Amrabat" sueldo="1860.70" numero_dorsal="23" puesto="Centrocampistas"/>
  44.             <jugador nombre="Samuel" apellido="García" sueldo="2000.55" numero_dorsal="24" puesto="Centrocampistas"/>
  45.             <jugador nombre="Sergi" apellido="Darder" sueldo="1655.55" numero_dorsal="30" puesto="Centrocampistas"/>
  46.             <jugador nombre="Mounir" apellido="El Hamdaoui" sueldo="1715.77" numero_dorsal="7" puesto="Delanteros"/>
  47.             <jugador nombre="Roque" apellido="Santa Cruz" sueldo="1715.77" numero_dorsal="9" puesto="Delanteros"/>
  48.             <jugador nombre="Ezequiel" apellido="Rescaldani" sueldo="1955.12" numero_dorsal="16" puesto="Delanteros"/>
  49.             <jugador nombre="Juanmi" apellido="Jiménez" sueldo="1955.12" numero_dorsal="26" puesto="Delanteros"/>
  50.         </jugadores>
  51. </equipo>

y equipo3.xsl

Código xsl:
Ver original
  1. <?xml version="1.0" encoding="iso-8859-1"?><!-- DWXMLSource="nuevo.xml" -->
  2.  
  3. <!-- No se te olvide grabar el documento como iso-8859-1 -->
  4.  
  5. <!-- Transformación XSL y Definición del espacio de nombres -->
  6. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  7.  
  8. <!-- Define los elementos cuyos espacios en blanco deben ser preservados -->
  9. <xsl:preserve-space elements="*"/>
  10.  
  11. <!-- Tipo de Formato decimal europeo -->
  12. <xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.'/>
  13.  
  14. <!-- Se aplican las transformaciones desde el nodo raíz -->
  15. <xsl:template match="/">
  16. <html>
  17. <head>
  18. <title>
  19. <!-- nombre del equipo -->
  20. Málaga CF
  21. </title>
  22. </head>
  23. <body>
  24. <!-- Mostrar el nombre y apellidos cada interprete de la película -->
  25. <h3 align="center"> Jugadores del Málaga CF</h3>
  26. <!-- tabla con todos los jugadores -->
  27. <table border="4" align="center">
  28.     <tr bgcolor="#CCCCCC" align="center">          
  29.             <td><b>Nombre</b></td>
  30.             <td><b>Apellido</b></td>
  31.             <td><b>Sueldo</b></td> 
  32.            
  33.         </tr>
  34.        
  35. <xsl:for-each select="/equipo/jugadores/jugador">
  36.  
  37. <xsl:sort select="@apellido" order="ascending"/>
  38.    
  39.         <tr>
  40.             <td align="center"><xsl:value-of select="@nombre"/></td>
  41.                 <td align="center"><xsl:value-of select="@apellido"/></td>
  42.                 <!-- Al ser el juego de caracteres iso-8859-1 no se puede mostrar el símbolo del euro -->
  43.                 <td align="center"><xsl:value-of select="format-number (@sueldo, '###.###,00', 'european')"/>
  44.                             <xsl:text> </xsl:text>euros</td>
  45.                
  46.       </tr>
  47.      
  48.  
  49.         </xsl:for-each>
  50. </table>
  51. </body>
  52. </html>
  53. </xsl:template>
  54. </xsl:stylesheet>
  #2 (permalink)  
Antiguo 26/03/2014, 11:16
 
Fecha de Ingreso: marzo-2014
Ubicación: España
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Problemas con XSLT

Ya encontré la solución. Me sobrabas espacios delante de los apellidos, por eso no me los ordenaba
<jugador nombre="José" apellido=" Casado" sueldo="1788.65" numero_dorsal="20" puesto="Defensa"/>
<jugador nombre="Sergio" apellido=" Barbosa" sueldo="1995.23" numero_dorsal="17" puesto="Centrocampistas"/>

Etiquetas: contenido, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:29.