Bonjour à tous
Voila j'ai un petit souci avec du xml et du xsl. Débutant en dév, j'ai toujours essayé d'en rester loin mais là j'ai pas eu le choix
J'ai besoin d'afficher un tableau de jalons (date + événement), j'ai donc mon tableau de 2 colonnes "Evénement" et "Date". Rien de bien difficile jusque là.
Ca se corse au niveau des lignes...
En fait mon fichier XML est généré via une fonction PHP. Les balises sont insérées en dur dans le code et le contenu est fourni par des variables.
C'est peut-être pas super clair, mais à priori mon fichier .xml n'a aucun soucis (j'ai indenté moi-même après car ça ne fonctionnait pas si je le faisais dans la partie PHP où je créé mon fichier .xml) :
Code :
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <?xml-stylesheet href="fiche.xsl" type="text/xsl"?>
- <fichehl>
- <date>01-10-2009</date>
- <titre><![CDATA[XSL3 - Design et jalons]]></titre>
- <resp>Blabla</resp>
- <desc><![CDATA[Mise en place du design.
- Test du nouveau code au niveau des jalons (génération auto des lignes).]]></desc>
- <changes><![CDATA[* change1
- * change2
- * change3]]></changes>
- <ww><![CDATA[* Qui
- * Quand]]></ww>
- <jalons>
- <jde>
- <jdate>28-09-09</jdate>
- <jevent><![CDATA[event 1]]></jevent>
- </jde>
- <jde>
- <jdate>29-09-09</jdate>
- <jevent><![CDATA[event 2]]></jevent>
- </jde>
- <jde>
- <jdate>30-09-09</jdate>
- <jevent><![CDATA[event 3]]></jevent>
- </jde>
- </jalons>
- <fm><![CDATA[* FM1
- * FM2
- * FM3]]></fm>
- <ep><![CDATA[* EP1
- * EP2
- * EP3]]></ep>
- </fichehl>
|
Passons au fichier .xsl :
J'ai créé un template approprié aux jalons (dans le doute) :
Code :
- <xsl:template name="jalons" match="//jalons">
- <xsl:for-each select="//jde">
- <tr>
- <td>
- <xsl:value-of select="//jevent"/>
- </td>
- <td>
- <xsl:value-of select="//jdate"/>
- </td>
- </tr>
- </xsl:for-each>
- </xsl:template>
|
Et voici la partie du fichier .xsl où ce template particulier est appelé et utilisé :
Code :
- <table id="jalons">
- <tr>
- <th>Evénement</th>
- <th>Date</th>
- </tr>
- <xsl:call-template name="jalons"/>
- </table>
|
Le tout m'affichant ceci :
Au lieux de m'afficher dans les lignes 2 et 3 : "event 2" et "event 3" ainsi que "29-09-09" et "30-09-09" pour la colonne "Date"
Vous avez une idée ?
M'engueulez pas trop si c'est une faute bête, je débute en xml/xsl
Merci ![:jap: :jap:](https://forum-images.hardware.fr/icones/smilies/jap.gif)
Message édité par Seth_ le 05-10-2009 à 15:05:48