répéter une balise [RESOLU] - XML/XSL - Programmation
Marsh Posté le 17-06-2008 à 09:26:37
Pas sur qu'on puisse utiliser une expression XPath ici, essaye:
Code :
|
Marsh Posté le 17-06-2008 à 09:31:37
Pourquoi ne pas simplement itérer sur les balises Description?
Code :
|
Marsh Posté le 17-06-2008 à 10:04:33
Heu ... c'est pas vraiment dans l'optique XSL ça ...
ça serait mieux d'utiliser une solution à base de templates .. De tête je dirais quelque chose style mettre un apply template sur //Description (à voir si ça colle avec le reste de ton arbo), et créer un template qui te fait print le value + le br..
Marsh Posté le 24-06-2008 à 19:24:09
avander a écrit : Pas sur qu'on puisse utiliser une expression XPath ici, essaye:
|
Merci Avander de ta réponse,
Malheuresement elle repete la premiere balise deux fois et meme s'il y en a une elle le repete aussi.
jojoSs
Marsh Posté le 24-06-2008 à 19:26:16
masklinn a écrit : Pourquoi ne pas simplement itérer sur les balises Description?
|
Merci Masklinn de ta réponse,
Malheuresement elle repete aussi la premiere balise deux fois.
jojoSs
Marsh Posté le 24-06-2008 à 20:57:53
esox_ch a écrit : Heu ... c'est pas vraiment dans l'optique XSL ça ... |
Bonjour esox_ch, merci pour la reponse.
Par contre je bloc un peux, voici le template que j'ai crée
Code :
|
Par contre je vois pas du tous ou metre le retour chariot<br>. Actuellement j'ai une ligne complete avec tous les commentaires mis bout a bout.
j'ai tester aussi celuis ci mais ils ne bouclent pas
Code :
|
jojoSs
Marsh Posté le 27-06-2008 à 09:56:11
Pourrais tu préciser quel parseur tu utilise, parce mon code fonctionne parfaitement avec MSXML...
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> |
<?xml version="1.0" encoding="ISO-8859-1"?> |
et j'obtiens:
Start XSLT |
Marsh Posté le 27-06-2008 à 22:01:14
avander a écrit : Pourrais tu préciser quel parseur tu utilise, parce mon code fonctionne parfaitement avec MSXML...
|
Bonjour avander
En faite j'utilie auun parseur, je tape mon code sous NotePad++ et le verifie directement sous EI.
je peut t'envoyer mon xml et xsl si tu veux?
Une question:
pourquoi utilises-tu: "xsl:key"
Et aussi: si on vient à rajouter une troisiéme balise <Description> dois-je rajouter <xsl:value-of select="Description[3]"/>etc...
Merci pour tous
Marsh Posté le 28-06-2008 à 11:58:00
Bonjour ,
Suite à la remarque de "esox_ch", je suis passé sur un template. Malheureusement j'arrive toujours pas à répéter ma boucle. j'y comprend plus rien.....
mes début dans le xml/xsl me font des cheveux gris
Voici mon xml:
Code :
|
Et voici mon xsl
Code :
|
Je suis sure que ça devrais marché mais je doit oublier quelque chose... mais je vois pas quoi
Marsh Posté le 30-06-2008 à 15:22:53
JojoSs75 a écrit : |
Oublie le xsl:key c'est une relique issu d'un copier/coller...
Description[3] c'est une façon de faire, autrement il faut prévoir un template pour l'élément Description et tester sa position avec position().
Marsh Posté le 30-06-2008 à 15:34:00
JojoSs75 a écrit : Bonjour , |
<?xml version="1.0" encoding="ISO-8859-1"?> |
Es-tu bien sur d'avoir compris le méchanisme de base d'une transformation XSLT? C'est un processus assez différent de la programmation procédurale et/ou objet.
Les débuts sont souvent laborieux... mais une fois que le déclic se produit, on ne peux qu'être admiratif devant la beauté de cette méchanique.
Le moteur de transformation traverse l'arbre xml et va vérifier pour chaque élément trouvé si il existe un template correspondant dans le stylesheet. D'où l'importance d'utiliser xsl:template match="nom d'un élément" et non xsl:template name="machin" qui est un named template ( comparable a une fonction).
Marsh Posté le 30-06-2008 à 15:53:50
Exemple avec 3 descriptions et un template adhoc:
<?xml version="1.0" encoding="ISO-8859-1"?> |
et le résultat:
Start XSLT |
Marsh Posté le 30-06-2008 à 23:53:07
avander a écrit : Exemple avec 3 descriptions et un template adhoc:
|
OUaou,
merci beaucoup de toute ces explication,je vais lire ca doucement demain et le tester ce week-end
Encore merci beaucoup de ton aide...
Jojoss
Marsh Posté le 01-07-2008 à 11:48:54
ReplyMarsh Posté le 23-02-2009 à 21:51:39
avander a écrit : Pas de quoi, jette un oeuil au commentaires dans le code. |
Merci beaucoup Avander, ça marche du tuner.
Desoler j'ai pas pu repondre plus tot, j'ai recommencer mon code cette hiver.
C'est trop cool Merci beaucoup de ton aide.
JojoSs
Marsh Posté le 16-06-2008 à 13:08:56
Bonjour,
Je bloc sur la répétition de la balise <xsl:value-of select="Description"/>. Ce que je voudrais faire c’est rajouter la seconde balise <Description> s’il y en a…
Actuellement il répète la même balise…
Je début complètement en programmation,
Ci-dessous un bout de codes
Et merci d’avance
Mon XML
Mon XSL
Jo
Message édité par JojoSs75 le 07-03-2009 à 18:43:55