Comment présenter 4 par 4 des éléments? [Résolu] - XML/XSL - Programmation
Marsh Posté le 01-03-2012 à 14:23:14
Bon, en fait, j'ai trouvé la solution. Il suffit de faire dasn le 1er test :
<xsl:text disable-output-escaping="yes"><table></xsl:text>
Et dans le second :
<xsl:text disable-output-escaping="yes"></table></xsl:text>
Et zou : le parser est content et j'ai bien mon tableau de 4 par 4, sur chaque page de mon pdf final
Marsh Posté le 01-03-2012 à 14:07:12
Bonjour,
Voilà, je cherche à afficher 4 par 4 des éléments d'un fichier XML (pour l'ex, on va dire des livres) en HTML via une transformation XSLT. La structure du XML ressemble à ça :
Par ailleurs, comme le fichier HTML résultant est destiné à être converti en PDF, je veux faire en sorte qu'après 4 livres affichés, il y ait un saut de page (pour l'impression) et que sur la page suivante, on recommence à afficher 4 livres.
Je suis parti sur l'idée d'un tableau de 2 lignes et 2 colonnes. J'ai déjà trouvé comment faire pour gérer le cas où il manque 1 livre pour compléter une ligne (je me une case vide).
Mon pb est le suivant : je sais pas comment faire en XSL pour avoir le test : SI position() mod 4 = 1 ALORS afficher <table> FIN SI
Et plus loin, faire SI position() mod 4 = 0 OU position() = last() ALORS </table> FIN SI.
En effet, le parser de xslt râle parce que le tag <table> n'est pas fermé dans le premier test et le tag </table> n'est pas ouvert dans le second test.
Une idée de comment faire pour ouvrir un tableau ou le refermer sur un test en XSL, svp?
Merci
Message édité par rufo le 01-03-2012 à 14:21:32
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta