Forum Programmation.web Probleme construction d'une liste de choix

Posté par  (site web personnel) .
Étiquettes : aucune
0
7
sept.
2005
Voila j'ai un extrait de code xml qui ressemble a ca :


< REFERENCES >
< A >1< /A >
< /REFERENCES >
< REFERENCES >
< A >2< /A >
< /REFERENCES >
< REFERENCES >
< A >3< /A >
< /REFERENCES >

< DONNEES >
< A >1< /A >
< VALEUR >plop1< /VALEUR >
< /DONNEES >
< DONNEES >
< A >2< /A >
< VALEUR >plop2< /VALEUR >
< /DONNEES >
< DONNEES >
< A >1< /A >
< VALEUR >plop3< /VALEUR >
< /DONNEES >



Je veux obtenir le resultat suivant:
1
plop1
plop3
2
plop2
3
rien.

Mon probleme est donc de générer une liste de valeur a partir des enregistrement REFERENCES qui puisse me servir ensuite a regrouper les elements DONNEES.
Quelqu'un pourrait il m'indiquer le code xsl a utiliser.
J'ai déjà pensé a des xsl:key et xsl:variable mais je ne m'en sort pas.
  • # Solution

    Posté par  (site web personnel) . Évalué à 3.

    C'est pas trop dur, il suffit de savoir que le xsl:for-each gère les conditions pour pouvoir filtrer les noeuds, du coup :ça donne :




    <xsl:template match="/code">
    <xsl:for-each select="REFERENCES/A">
    <xsl:value-of select="."/>-
    <xsl:variable name="id"><xsl:value-of select="."/></xsl:variable>
    <xsl:for-each select="/code/DONNEES[A = $id]">
    <xsl:value-of select="VALEUR"/>
    </xsl:for-each>
    </xsl:for-each>
    </xsl:template >



    un peu de doc : http://www.w3schools.com/xsl/xsl_for_each.asp(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.