bonjour,
je suis devant un exo XSLT et j'aurai besoin d'une aide pour une question svp.
voila le fichier XML
voila le résultat auquel je souhaite aboutir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <laboratoire nom="irit"> <projets> <projet pid="p1"> <chefprojet>c2</chefprojet> <participant>c5</participant> <participant>c6</participant> <participant>c7</participant> <participant>c1</participant> </projet> <projet pid="p2"> <chefprojet>c1</chefprojet> <participant>c2</participant> <participant>c3</participant> <participant>c7</participant> <participant>c4</participant> </projet> </projets> <chercheurs> <chercheur cid="c1"> <nom>durand</nom> <prenom>jean</prenom> <grade type="mcf"/> <sexe type="m"/> </chercheur> <chercheur cid="c2"> <nom>martin</nom> <prenom>miryam</prenom> <sexe type="f"/> <grade type="pr"/> </chercheur> ...................... <chercheur cid="c8"> <nom>melchior</nom> <prenom>jean</prenom> <grade type="mcf"/> <sexe type="m"/> </chercheur> </chercheurs> </laboratoire>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <chercheurs> <chercheur> <nom>durand</nom> <grade>mcf</grade> <projet>p2</projet> </chercheur> <chercheuse> <nom>martin</nom> <grade>pr</grade> <projet>p1</projet> </chercheuse> ............... <chercheur> <nom>melchior</nom> <grade>mcf</grade> <projet></projet> </chercheur> </chercheurs>
et voila le code XSLT que j'ai fais
voila, le problème est que je n'arrive pas à récupérer l'identifiant du projet auquel est affecté le chercheur ; c'est donc la balise Projet que je n'arrive pas à remplir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <xsl:template match="laboratoire"> <chercheurs> <xsl:apply-templates select="chercheurs/chercheur" /> </chercheurs> </xsl:template> <xsl:template match="chercheur"> <xsl:choose> <xsl:when test="./sexe/@type='m'"> <chercheur> <nom><xsl:value-of select="./nom" /></nom> <grade><xsl:value-of select="./grade/@type" /></grade> >>>???>>> <projet><xsl:value-of select="//projet/*[.='@cid']/../@pid" /></projet> </chercheur> </xsl:when> <xsl:when test="./sexe/@type='f'"> <chercheuse> <nom><xsl:value-of select="./nom" /></nom> <grade><xsl:value-of select="./grade/@type" /></grade> >>>???>>> <projet><xsl:value-of select="//projet/*[.='@cid']/../@pid" /></projet> </chercheuse> </xsl:when> </xsl:choose> </xsl:template>
je vous remercie du fond du coeur.
Partager