Bonjour à tous,
fisrt time que je poste un message sur un forum, c'est vraiment que j'en ai besoin !
Alors, j'ai un fichier XML qui comprend plusieurs champ : En voici un bout de la structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <champ id="Table1" genre="numerique"> <eti num="1"> <titre lang="fr">Oui</titre> </eti> </champ> <champ id="table2" genre="numerique"> <eti num="1"> <titre lang="fr">Oui</titre> </eti> </champ>
et donc, dans mon fichier XSL, je veux afficher mes noms de champs accompagnés du "num" de l'étiquette. Je fais donc une concaténation qui fonctionne sans soucis.
Pour traiter ces champs spéciaux ( ceux qui possèdent "une étiquette" ), je les mets dans une boucle :
AINSI, vient mon soucis. Je veux qu'à la derniere boucle sur les champs ( TOUS LES CHAMPS ), on me mette un espace blanc, et que si c'est pas le dernier, on me mette une virgule :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:template match="champ[@genre='numerique']/eti"> `<xsl:value-of select="concat(../@id,'__',@num)"/>` VALEUR <xsl:call-template name="Recursif"/> </xsl:template>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <xsl:template name="Recursif"> <xsl:if test = "not(position()=last())">, </xsl:if><xsl:if test = "position()=last()"> </xsl:if> </xsl:template>
CEPENDANT, lorsque, je boucle sur <xsl:template match="champ[@genre='numerique']/eti">, et ben il me met tout le temps la virgule, même si c'est le dernier champ !!!!
si quelqu'un aurait une idée ! ça ne sera pas de refus ! S'il vous plait, bien sur
Ellia
Partager