CyberjujuM Posté 25 Avril 2006 Posté 25 Avril 2006 (modifié) 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 Modifié 25 Avril 2006 par CyberjujuM
astrofiles Posté 25 Avril 2006 Posté 25 Avril 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 Posté 25 Avril 2006 Auteur Posté 25 Avril 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant