Générer un tableau dynamique [XSL] - XML/XSL - Programmation
Marsh Posté le 09-08-2007 à 01:45:20
Je me permets d'upper ce post un peu vieux car j'ai moi aussi un problème similaire, en un peu plus simple.
A partir d'un XML du style:
Code :
|
j'aimerais générer un tableau à deux colonnes du style:
Code :
|
en tenant compte du fait qu'il peut y avoir un nombre impair de liens, comme c'est le cas dans l'exemple.
Je pensais avoir la solution avec le code suivant, mais ça ne fonctionne pas car le parser interprète aussi les balises non-XSL.
Code :
|
Ligne 2, le parser ne trouve pas le </tr> qui devrait fermer le <tr> avant le </xsl:if> ...
Quelqu'un a-t-il une solution ?
Merci d'avance !
Marsh Posté le 09-08-2007 à 04:28:19
Ben c'est pas très compliqué, faut juste comprendre ce qui foire et avoir des idées.
Là typiquement, ton doc XSL est pas valide parce qu'il est pas XML-compliant, j'en veux pour preuve ceci :
Code :
|
l'élément <tr> n'est pas fermé et c'est pareil plus loin. Tu as déjà de la chance d'avoir un résultat (quoique ça n'aide pas à voir l'erreur)
Donc l'idée c'est que puisque tu vas être obligé de traiter 2 groupes <td> à la fois, il faut aller chercher le suivant, sous condition, avec XQuery/XPath. Au passage j'utilise un paramètre pour mémoriser la position actuelle.
Regardes mon exemple
test.xml
Code :
|
test.xsl
Code :
|
au fait " " n'est pas une entité XSL-T valide, il faut utiliser "Ũ". C'est moche mais les entités XHTML ne sont pas connues par XSL-T, je crois qu'il y a un moyen de les importer mais je sais plus comment.
Marsh Posté le 09-08-2007 à 09:20:33
tiens, je connaissais pas Ũ pour . Moi, j'utilise  
C'est quoi la différence?
Marsh Posté le 09-08-2007 à 16:15:58
la différence c'est une erreur de frappe
Marsh Posté le 19-06-2007 à 18:23:30
Me revoilà
J'aimerais donc générer un tableau HTML dynamiquement à partir de mon fichier XML qui est de la forme :
Je souhaite avoir systématiquement 4 colonnes en revanche le nombre de ligne est illimité. Une ligne du tableau doit ressembler à ceci :
Titre1 Data1 Titre2 Data2
...
Quand un élément XML est à vide je ne souhaite pas afficher la donnée (comme "salconv" dans mon exemple) et c'est bien là mon soucis : je peux avoir un nombre impaire de données à afficher.
Si j'ai 5 éléments j'aurais donc le tableau suivant :
Titre1 Data1 Titre2 Data2
Titre3 Data3 Titre4 Data4
Titre5 Data5
Merci pour votre aide