XSL Probleme pour mettre deux tableaux cote a cote

XSL Probleme pour mettre deux tableaux cote a cote - XML/XSL - Programmation

Marsh Posté le 26-05-2005 à 16:57:19    

Voila mon probleme est un peu special
je cherche a simuler deux tableaux de 4 colonnes cote a cote sur la meme page (html ensuite codee en pdf)
pour cela je cree un tableau de 8 dans lequel je mets mes titres de colonnes puis le ferme.
je fais ensuite un for-each avec une condition:
 - si mon compteur modulo 2=0 ("tableau de gauche" ) je vais a une nouvelle ligne (balise <tr/> ,j'ecris mes 4 valeurs a gauche et je termine par un simple </td>.
 - si mon compteur modulo 2!=0 ("tableau de droite" ) je continue a ecrire mes 4 autres valeurs (donc a droite) .
Le rendu html est bon mais encode en pdf ca foire.Je pense avoir isole le pb qui est que <tr/> n'est pas interprete .
Mais sachant que je dois aller a une nouvelle ligne du tableau (et que ouvrir un <tr> et le fermer </tr> normalement est impossible vu qu'ils ne sont pas dans le meme if.
voici ma portion de code (je sais que ca parle plus a certains)

Code :
  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="80%" align="center">
  2. <tr>
  3. <td align="left"><font face="Times New Roman" size="2"><b>Valeur1</b></font> </td>
  4. <td align="left"><font face="Times New Roman" size="2"><b>Valeur2</b></font> </td>
  5. <td align="left"><font face="Times New Roman" size="2"><b>Valeur3</b></font></td>
  6. <td align="left"><font face="Times New Roman" size="2"><b>Valeur4</b></font></td>
  7. <td align="left"><font face="Times New Roman" size="2"><b>Valeur5</b></font></td>
  8. <td align="left"><font face="Times New Roman" size="2"><b>&#160;</b></font></td>
  9. <td align="left"><font face="Times New Roman" size="2"><b>Valeur1</b></font> </td>
  10. <td align="left"><font face="Times New Roman" size="2"><b>Valeur2</b></font> </td>
  11. <td align="left"><font face="Times New Roman" size="2"><b>Valeur3</b></font></td>
  12. <td align="left"><font face="Times New Roman" size="2"><b>Valeur4</b></font></td>
  13. <td align="left"><font face="Times New Roman" size="2"><b>Valeur5</b></font></td>
  14. </tr>
  15. <xsl:for-each select="Toto1/Toto2/Toto3/Toto4">
  16. <xsl:variable name="Compteur" select="count(preceding::Toto4)"/>
  17. <xsl:if test="$Compteur mod 2='0'">
  18. <tr/>
  19. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur1"/></font></td>
  20. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur2"/></font></td>
  21. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur3"/></font></td>
  22. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur4"/></font></td>
  23. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur5"/></font></td>
  24. </xsl:if>
  25. <xsl:if test="$Compteur mod 2!='0'">
  26. <td align="left"><font face="Times New Roman" size="1"><b>&#160;&#160;&#160;&#160;</b></font></td>
  27. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur1"/></font></td>
  28. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur2"/></font></td>
  29. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur3"/></font></td>
  30. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur4"/></font></td>
  31. <td align="left"><font face="Times New Roman" size="1"><xsl:value-of select="Valeur5"/></font></td>
  32. </xsl:if>
  33. </xsl:for-each>
  34. </table>

 
toute aide serait fortement appreciee
merci d'avance

Reply

Marsh Posté le 26-05-2005 à 16:57:19   

Reply

Marsh Posté le 29-05-2005 à 15:57:30    

si ca peut interesser quelqu'un la solution est d'utiliser :

Code :
  1. <xsl:variable name="Compteur" select="count(preceding::Toto4)"/>
  2. <xsl:if test="$Compteur mod 2='0'">
  3. <tr>
  4. <td>
  5. <xsl:value-of select="Valeur1"/>
  6. </td>
  7. <td>
  8. <xsl:value-of select="following::Valeur1" />
  9. </td>
  10. </tr>
  11. </xsl:if>


Message édité par betsamee le 29-05-2005 à 15:58:18
Reply

Sujets relatifs:

Leave a Replay

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