Bonjour tout le monde,
Oui oui je m'explique, je me rends compte du fait que mon titre est peu clair.

Je pars d'un XML de ce type :

<personne>
<nom>Page</nom>
<prenom>Jimmy</prenom>
</personne>
<personne>
<nom>Plant</nom>
<prenom>Robert</prenom>
</personne>

En passant par un fichier .xsl, je voudrais savoir si je peux obtenir un tableau au format txt qui ressemblerait à ça :
!Page !Jimmy !
!Plant !Robert !
Ca ne se voit pas ici parce que les caractères ont une taille variable, mais les '!' sont supposés être alignés. Mon problème est que je ne connais pas à l'avance la taille des champs 'nom' et 'prenom', et que je préfèrerais ne pas utiliser de tableau html. Y a t'il une solution ?
Merci d'avance.
1/ l'alignement (ie la largeur de caractères affichés) est une caractéristique étroitement liée au logiciel utilisé pour visualiser le fichier.

2/ en supposant que tous les caractères soient présentés avec la même largeur dans le logiciel de visualisation :
il suffit alors de compter les caractères d'une chaîne pour ajouter le nombre correct d'espaces. C'est très possible puisque Xpath (inclus dans XSLT) offre des fonctions de manipulation du texte, dont la fonction string-length().

3/ le 2/ me parait cependant du bidouillage, et l'utilisation d'un tableau HTML semble mieux adapté

4/ si le tableau HTML n'a pas tes faveurs, peut-être qu'une autre convention de présentation pourrait convenir à partir d'autres technologies : xsl-fo, latex, pdf ...
En fait la bonne réponse dépend étroitement de l'utilisation faite du dit fichier.
Je suis d'accord, il aurait été bien plus simple d'utiliser un tableau HTML. Hélas, je n'ai pas le choix et je suis obligé de créer mon tableau au format texte.
Ca ne m'enchante guère, mais j'utilise donc les fonctions de manipulation de chaîne, comme tu me le suggères. C'est un peu long à mettre en place mais ça fonctionne.
Merci ! Je clôture le sujet.
Modifié par Droopy (05 Apr 2005 - 16:48)