Bonjour,

J'ai un fichier xml qui se présente de cette manière :
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
<s xml:id="SENT-0" xml:lang="french">
					<phr function="Subj">
						<w type="det" lemma="le">Le</w>
						<w type="adj" lemma="joli">joli</w>
						<w type="nom" lemma="chat">chat</w>
 
						<phr function="DO">
							<w type="pro" lemma="que">que</w>
						</phr>
 
						<phr function="Subj">
							<w type="nom" lemma="je">j'</w>
						</phr>
 
						<phr function="predicate">
							<w type="aux" lemma="avoir">ai</w>
							<phr function="CC">
								<w type="adv" lemma="gentiment">gentiment</w>
							</phr>
							<w type="partpass" lemma="adopter">adopté</w>
						</phr>
					</phr>
<phr function="predicate">
						<w type="aux" lemma="avoir">a</w>
						<phr function="CC" n="1">
							<w type="adv" lemma="bien">bien</w>
						</phr>
						<w type="partpass" lemma="donner">donné</w>
 
					</phr>
 
</s>
j'aimerai pour les élément phr calculer le niveau et selon ce dernier créer un attribut n qui viendrait indiquer l'emplacement du phr.
exemple : je me situe au premier phr alors j'ai le niveau 0
je suis au second alors j'ai le niveau 1
...
si je reviens à un noeud dominant alors le niveau reviens à 0...

Sa devrait donner cela apres transformation :

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
<s xml:id="SENT-0" xml:lang="french">
					<phr function="Subj" n="0">
						<w type="det" lemma="le">Le</w>
						<w type="adj" lemma="joli">joli</w>
						<w type="nom" lemma="chat">chat</w>
 
						<phr function="DO" n="1">
							<w type="pro" lemma="que">que</w>
						</phr>
 
						<phr function="Subj" n="1">
							<w type="nom" lemma="je">j'</w>
						</phr>
 
						<phr function="predicate" n="1">
							<w type="aux" lemma="avoir">ai</w>
							<phr function="CC" n="2">
								<w type="adv" lemma="gentiment">gentiment</w>
							</phr>
							<w type="partpass" lemma="adopter">adopté</w>
						</phr>
					</phr>
 
					<phr function="predicate" n="0">
						<w type="aux" lemma="avoir">a</w>
						<phr function="CC" n="1">
							<w type="adv" lemma="bien">bien</w>
						</phr>
						<w type="partpass" lemma="donner">donné</w>
 
					</phr>

comment puis je mettre cela en oeuvre en xslt?
pouvez vous m'aider merci