Transformation XSLT

Transformation XSLT - XML/XSL - Programmation

Marsh Posté le 25-04-2006 à 10:46:09    

Bonjour,
 
Je débute avec XML et XSL.
 
Je me sers actuellement d'XSL pour créer une grille de diffusion des épisodes d'un dessin animé, classée par jour et par heure.
 
Voici mon premier résultat : http://codelyoko.fr/canalj/grille.php
 
Avec le code suivant :
 

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <html>
  5. <body>
  6. <table border="1" cellspacing="0" cellpadding="3">
  7. <tr bgcolor="#ffffcc">
  8. <td>Jour</td>
  9. <td>Heure</td>
  10. <td>Episode</td>
  11. </tr>
  12. <xsl:for-each select="GRILLE_PRG/PRG_S/PRG[@TTPRG='CODE LYOKO']/EPI_S/EPI/DIFF_S/DIFF">
  13. <xsl:sort select="@DATE"/>
  14. <xsl:sort select="@HD"/>
  15. <tr>
  16. <td><xsl:value-of select="@DATE"/></td>
  17. <td><xsl:value-of select="@HD"/></td>
  18. <td><xsl:value-of select="../../@TTEPI"/></td>
  19. </tr>
  20. </xsl:for-each>
  21. </table>
  22. </body>
  23. </html>
  24. </xsl:template>
  25. </xsl:stylesheet>


 
Je voudrais maintenant améliorer le tableau et opter pour une présentation du genre
 
------------------------------------
Jour
------------------------------------
Heure : épisode
Heure : épisode
------------------------------------
Jour
------------------------------------
Heure : épisode
Heure : épisode
Heure : épisode
------------------------------------
 
etc...
 
C'est là que je bloque... voici ce que je suis arrivé a faire  :ange:  :( : http://codelyoko.fr/canalj/grille2.php
 
Ca commence bien, sauf que je n'arrive pas a tester si j'ai déjà traité une date ou pas, du coup il y a plein de doublons... et vers le milieu/la fin de la page les heures ne correspondent plus.
 
Voila le code du xsl :
 

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <html>
  5. <body>
  6. <table border="1" cellspacing="0" cellpadding="3">
  7. <xsl:for-each select="GRILLE_PRG/PRG_S/PRG[@TTPRG='CODE LYOKO']/EPI_S/EPI/DIFF_S/DIFF">
  8. <xsl:sort select="@DATE"/>
  9. <xsl:sort select="@HD"/>
  10. <xsl:variable name="date" select="@DATE"/>
  11. <tr>
  12. <td><xsl:value-of select="@DATE"/></td>
  13. </tr>
  14. <xsl:for-each select="../../../EPI[DIFF_S/DIFF/@DATE=$date]">
  15. <tr>
  16. <td><xsl:value-of select="DIFF_S/DIFF/@HD"/></td>
  17. <td><xsl:value-of select="@TTEPI"/></td>
  18. </tr>
  19. </xsl:for-each>
  20. </xsl:for-each>
  21. </table>
  22. </body>
  23. </html>
  24. </xsl:template>
  25. </xsl:stylesheet>


 
Je précise que je ne peux pas modifier le xml pour le rendre plus... pratique :D
 
Si quelqu'un peut m'éclairer un peu... merci beaucoup  :)  :)

Reply

Marsh Posté le 25-04-2006 à 10:46:09   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed