Bonjour,
J'ai un souci lors de la création d'un fichier XSL.
Le code ci-dessous devrait me donner tous les NOM compte-tenu sous le noeud EMPLOYE.
Or dans mes réponses j'obtiens 2 parties d'abord les nom (A) + les autres noeud compris sous la racine de EMPLOYE (il me remet le nom prenom,... avec les autres détails) (B)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="EMPLOYE"> <xsl:value-of select="NOM"/> </xsl:template> </xsl:stylesheet>
La partie A me suffit. Je ne parviens pas à comprendre pourquoi j'obtiens tous ces résultats. Je croyais au début que la raison provenait de la recherche dite "en profondeur" des noeuds mais selon moi ma dtd met sur un même rang les differents noeuds (NOM, PRENOM,..)
Voici ma dtd
Voici mon fichier XML
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 <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT RESSOURCEPROJECT (EMPLOYES, ENFANTS, CONJOINTS, AFFECTERS, PROJETS)> <!ELEMENT EMPLOYES (EMPLOYE*)> <!ELEMENT EMPLOYE (INSEE, NOM, PRENOM, DATENAISSANCE, SALAIRE)> <!ATTLIST EMPLOYE IDEMPLOYE ID #REQUIRED > <!ELEMENT INSEE (#PCDATA)> <!ELEMENT NOM (#PCDATA)> <!ELEMENT PRENOM (#PCDATA)> <!ELEMENT DATENAISSANCE (#PCDATA)> <!ELEMENT SALAIRE (#PCDATA)> <!ELEMENT ENFANTS (ENFANT*)> <!ELEMENT ENFANT (NOMENFANT, PRENOMENFANT, DATENAISSANCEENFANT, REFEMPLOYEENFANT)> <!ELEMENT NOMENFANT (#PCDATA)> <!ELEMENT PRENOMENFANT (#PCDATA)> <!ELEMENT DATENAISSANCEENFANT (#PCDATA)> <!ELEMENT REFEMPLOYEENFANT (#PCDATA)> <!ELEMENT CONJOINTS (CONJOINT*)> <!ELEMENT CONJOINT (NOMCONJOINT, PRENOMCONJOINT, REFEMPLOYECONJOINT)> <!ELEMENT NOMCONJOINT (#PCDATA)> <!ELEMENT PRENOMCONJOINT (#PCDATA)> <!ELEMENT REFEMPLOYECONJOINT (#PCDATA)> <!ELEMENT PROJETS (PROJET*)> <!ELEMENT PROJET (NOMPROJET, BUDGET)> <!ATTLIST PROJET IDPROJET ID #REQUIRED > <!ELEMENT NOMPROJET (#PCDATA)> <!ELEMENT BUDGET (#PCDATA)> <!ELEMENT AFFECTERS (AFFECTER*)> <!ELEMENT AFFECTER (TEMPSPOURCENTAGE, REFEMPLOYE, REFPROJET)> <!ELEMENT TEMPSPOURCENTAGE (#PCDATA)> <!ELEMENT REFEMPLOYE (#PCDATA)> <!ELEMENT REFPROJET (#PCDATA)>
MErci pour votre aide.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE RESSOURCEPROJECT SYSTEM "D:\M2_IAE_SIO_ALTER\IAE M2\XML\TP\DTD.dtd"> <RESSOURCEPROJECT> <EMPLOYES> <EMPLOYE IDEMPLOYE="A1"> <INSEE>1610146765321</INSEE> <NOM>Duval</NOM> <PRENOM>Jean</PRENOM> <DATENAISSANCE>1961-01-01</DATENAISSANCE> <SALAIRE>14000</SALAIRE> </EMPLOYE> <EMPLOYE IDEMPLOYE="A2"> <INSEE>1670478956756</INSEE> <NOM>Durand</NOM> <PRENOM>Jacques</PRENOM> <DATENAISSANCE>1967-04-01</DATENAISSANCE> <SALAIRE>7000</SALAIRE> </EMPLOYE> <EMPLOYE IDEMPLOYE="A3"> <INSEE>2721065756378</INSEE> <NOM>Dupond</NOM> <PRENOM>Sophie</PRENOM> <DATENAISSANCE>1972-10-03</DATENAISSANCE> <SALAIRE>11000</SALAIRE> </EMPLOYE> <EMPLOYE IDEMPLOYE="A4"> <INSEE>2680208978690</INSEE> <NOM>Dutroux</NOM> <PRENOM>Louise</PRENOM> <DATENAISSANCE>1968-02-07</DATENAISSANCE> <SALAIRE>15000</SALAIRE> </EMPLOYE> </EMPLOYES> <ENFANTS> <ENFANT> <NOMENFANT>Duval</NOMENFANT> <PRENOMENFANT>Pierre</PRENOMENFANT> <DATENAISSANCEENFANT>1981-08-07</DATENAISSANCEENFANT> <REFEMPLOYEENFANT>A1</REFEMPLOYEENFANT> </ENFANT> <ENFANT> <NOMENFANT>Duval</NOMENFANT> <PRENOMENFANT>Patrice</PRENOMENFANT> <DATENAISSANCEENFANT>1984-03-17</DATENAISSANCEENFANT> <REFEMPLOYEENFANT>A1</REFEMPLOYEENFANT> </ENFANT> <ENFANT> <NOMENFANT>Durand</NOMENFANT> <PRENOMENFANT>Pierre</PRENOMENFANT> <DATENAISSANCEENFANT>1983-11-27</DATENAISSANCEENFANT> <REFEMPLOYEENFANT>A2</REFEMPLOYEENFANT> </ENFANT> <ENFANT> <NOMENFANT>Berlier</NOMENFANT> <PRENOMENFANT>Louis</PRENOMENFANT> <DATENAISSANCEENFANT>1983-11-12</DATENAISSANCEENFANT> <REFEMPLOYEENFANT>A4</REFEMPLOYEENFANT> </ENFANT> <ENFANT> <NOMENFANT>Berlier</NOMENFANT> <PRENOMENFANT>Anne</PRENOMENFANT> <DATENAISSANCEENFANT>1997-05-13</DATENAISSANCEENFANT> <REFEMPLOYEENFANT>A4</REFEMPLOYEENFANT> </ENFANT> </ENFANTS> <CONJOINTS> <CONJOINT> <NOMCONJOINT>Duval</NOMCONJOINT> <PRENOMCONJOINT>Sylvie</PRENOMCONJOINT> <REFEMPLOYECONJOINT>A1</REFEMPLOYECONJOINT> </CONJOINT> </CONJOINTS> <AFFECTERS> <AFFECTER> <TEMPSPOURCENTAGE>100</TEMPSPOURCENTAGE> <REFEMPLOYE>A1</REFEMPLOYE> <REFPROJET>A4</REFPROJET> </AFFECTER> <AFFECTER> <TEMPSPOURCENTAGE>40</TEMPSPOURCENTAGE> <REFEMPLOYE>A2</REFEMPLOYE> <REFPROJET>P1</REFPROJET> </AFFECTER> <AFFECTER> <TEMPSPOURCENTAGE>40</TEMPSPOURCENTAGE> <REFEMPLOYE>A2</REFEMPLOYE> <REFPROJET>P4</REFPROJET> </AFFECTER> <AFFECTER> <TEMPSPOURCENTAGE>20</TEMPSPOURCENTAGE> <REFEMPLOYE>A3</REFEMPLOYE> <REFPROJET>P2</REFPROJET> </AFFECTER> <AFFECTER> <TEMPSPOURCENTAGE>80</TEMPSPOURCENTAGE> <REFEMPLOYE>A3</REFEMPLOYE> <REFPROJET>P3</REFPROJET> </AFFECTER> <AFFECTER> <TEMPSPOURCENTAGE>100</TEMPSPOURCENTAGE> <REFEMPLOYE>A4</REFEMPLOYE> <REFPROJET>A2</REFPROJET> </AFFECTER> </AFFECTERS> <PROJETS> <PROJET IDPROJET="P1"> <NOMPROJET>SAP</NOMPROJET> <BUDGET>40000</BUDGET> </PROJET> <PROJET IDPROJET="P2"> <NOMPROJET>ASP</NOMPROJET> <BUDGET>60000</BUDGET> </PROJET> <PROJET IDPROJET="P3"> <NOMPROJET>.NET</NOMPROJET> <BUDGET>20000</BUDGET> </PROJET> <PROJET IDPROJET="P4"> <NOMPROJET>On demand</NOMPROJET> <BUDGET>30000</BUDGET> </PROJET> </PROJETS> </RESSOURCEPROJECT>
Partager