Bonjour,
j'ai fait le découpage de mon fichier XML d'une interface (IHM basé sur l'XML) en 3 couches (application,dialogue,présentation) avec:

Application qui décrit la sémantique: concerne le niveau fonctionnel (les méthodes)
Dialogue qui décrit la syntaxe: concerne le niveau dialogue et communication entre le sémantic et le lexical (les évenement; exple:clique boutton, ...)
Présentation qui décrit le niveau lexical: concerne le niveau présentation et affichage des objets de l interface (les bouton, textField,...)

je dois ecrire un algorithme qui a comme entrée un fichier xml initial (neutre) et qui va à chaque niveau enrichir le fichier xml (enrichir par les info)
Voila un exemple de XML que j'ai fait avec le fait avec Glade
Code XML : 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
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="title" translatable="yes">Systeme de Commande de Pizza</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkVBox" id="vbox3">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="radiobutton1">
<property name="label" translatable="yes">Neptune</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="group_changed" handler="on_radiobutton1_group_changed"/>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radiobutton2">
<property name="label" translatable="yes">Viande hachee</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<signal name="group_changed" handler="on_radiobutton2_group_changed"/>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radiobutton3">
<property name="label" translatable="yes">Fruit de mer</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<signal name="group_changed" handler="on_radiobutton3_group_changed"/>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="padding">11</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonbox2">
<property name="visible">True</property>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">Ajouter Pizza</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="on_button1_clicked" object="Nouvelle pizza"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkAction" id="action1">
<property name="label">ajout</property>
<property name="stock_id">gtk-add</property>
<property name="icon_name">ajout</property>
<signal name="activate" handler="gtk_widget_show" object="Nouvelle pizza "/>
</object>
<object class="GtkRadioAction" id="radioaction1">
<property name="draw_as_radio">True</property>
</object>
</interface>

Est ce que vous pouvez m'aider à définir ma structure de donnée pour l algorithme
normalment, on parle de racine, noeudFils , feuille, mais j'ai pas su comment insérer les informations