CyberjujuM Posted April 25, 2006 Posted April 25, 2006 (edited) 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 : <?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><html><body><table border="1" cellspacing="0" cellpadding="3"><tr bgcolor="#ffffcc"><td>Jour</td><td>Heure</td><td>Episode</td></tr><xsl:for-each select="GRILLE_PRG/PRG_S/PRG[@TTPRG='CODE LYOKO']/EPI_S/EPI/DIFF_S/DIFF"><xsl:sort select="@DATE"/><xsl:sort select="@HD"/><tr><td><xsl:value-of select="@DATE"/></td><td><xsl:value-of select="@HD"/></td><td><xsl:value-of select="../../@TTEPI"/></td></tr></xsl:for-each></table></body></html></xsl:template></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 : 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 : <?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><html><body><table border="1" cellspacing="0" cellpadding="3"><xsl:for-each select="GRILLE_PRG/PRG_S/PRG[@TTPRG='CODE LYOKO']/EPI_S/EPI/DIFF_S/DIFF"><xsl:sort select="@DATE"/><xsl:sort select="@HD"/><xsl:variable name="date" select="@DATE"/><tr><td><xsl:value-of select="@DATE"/></td></tr><xsl:for-each select="../../../EPI[DIFF_S/DIFF/@DATE=$date]"><tr><td><xsl:value-of select="DIFF_S/DIFF/@HD"/></td><td><xsl:value-of select="@TTEPI"/></td></tr></xsl:for-each></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet> Je précise que je ne peux pas modifier le xml pour le rendre plus... pratique Si quelqu'un peut m'éclairer un peu... merci beaucoup Edited April 25, 2006 by CyberjujuM
astrofiles Posted April 25, 2006 Posted April 25, 2006 Il faudrait voir le xml pour se faire une idée précise mais peut être le xml devrait être modifié pour avoir un regroupement par date à ce niveau ce qui faciltera le xsl....et sans dénaturer le fait que le xml ne doive contenir que des données et pas de présentation...
CyberjujuM Posted April 25, 2006 Author Posted April 25, 2006 Le XML est celui que vous pouvez voir via affichage/source... il est super fouillis mais je ne peux pas y toucher, c'est celui de canalj Justement je comptais sur la magie du XSL pour pouvoir réorganiser un peu tout ça
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now