Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

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

Posté par jr lamoule (page perso, ) le 07 septembre 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.

> Lire le message (2 commentaires, moyenne: 2).  

Vous avez demandé le commentaire #621884.

Solution

Posté par Antonio Da Silva (page perso, ) le 07/09/2005 à 12:04. (lien). É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(...)

  • [^]Re: Solution

    Posté par jr lamoule (page perso, ) le 07/09/2005 à 12:34. (lien). Évalué à 1.

    Merci. Merci Merci Merci.