Bonjour à tous,
Voici le fichier xml que je dois analyser :
Ne me dites pas qu'il est mal fichu, son contenu ne dépend pas de moi!
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 <package> <mapping_info> <machine type="xs:string">ma machine</machine> <provider type="xs:string">mon provider</provider> </mapping_info> <interfdiag> <measure type="structure"> <value type="exp1D" path="mesure/value"></value> <abserror type="exp1D" path="mesure/abserror"></abserror> </measure> </interfdiag> <ironmodel> <magnetise type="structure"> <mr type="structure"> <value type="exp1D" path="magnetise/mr/value"></value> <abserror type="exp1D" path="magnetise/mr/abserror"></abserror> </mr> <mz type="structure"> <value type="exp1D" path="magnetise/mz/value"></value> <abserror type="exp1D" path="magnetise/mz/abserror"></abserror> </mz> </magnetise> </ironmodel> <msediag> <matrix type="structure"> <value type="exp1D" path="mesure/value"></value> <abserror type="exp1D" path="mesure/abserror"></abserror> </matrix> </msediag> <polardiag> <signal type="structure"> <value type="exp1D" path="mesure/value"></value> <abserror type="exp1D" path="mesure/abserror"></abserror> </signal> </polardiag> </package>
Je voudrais ne traiter que la première balise de niveau 4 dont le type est 'exp1D' (c'est-à-dire dans l'exemple interfdiag/measure/value). Sachant bien sûr que je ne connais pas à priori le nom des balises (ça ce serait trop facile!), qu'il peut y avoir plusieurs éléments de 3e niveau dans les éléments de 2e niveau (je n'en ai mis qu'un pour simplifier, c'est déjà assez compliqué comme ça!), et qu'il peut y avoir des balises 'value' dont le type n'est pas 'exp1D'.
Or quelles que soient les solutions que j'ai essayée, mon xslt traite les éléments interfdiag/measure/value, msediag/matrix/value et polardiag/signal/value.
Est-ce que l'un(e) de vous aurais une idée?
Jacqueline
"Si il y a un remède, à quoi bon le mécontentement ?
Si il n'y a pas de remède, à quoi bon le mécontentement ?"
Shantideva, philosophe boudhiste
Partager