Numérotation d'une structure arborescente complexe
Structure complexe
Dans cet exercice, nous souhaitons gérer la numérotation d'un document possédant plusieurs divisions hiérarchiques (Document -> Sections ->Parties -> Sous-parties ->Figures).
XML source :
CTRL+C pour copier, CTRL+V pour coller
1
2
<Document>
3
<Section><titre>1ère section</titre>
4
<Partie><titre>1ère partie - 1ère section</titre>
5
<Sous-partie>
6
<titre>1ère sous-partie - 1ère partie - 1ère section</titre>
7
<figure>1ère figure du document</figure>
8
</Sous-partie>
9
<Sous-partie>
10
<titre>2ème sous-partie - 1ère partie - 1ère section</titre>
11
</Sous-partie>
12
<Sous-partie>
13
<titre>3ème sous-partie - 1ère partie - 1ère section</titre>
14
<figure>2ème figure du document</figure>
15
<figure>3ème figure du document</figure>
16
<figure>4ème figure du document</figure>
17
</Sous-partie>
18
</Partie>
19
</Section>
20
<Section><titre>2ème section</titre>
21
<Partie><titre>1ère partie - 2ème section</titre>
22
<Sous-partie>
23
<titre>1ère sous-partie - 1ère partie - 2ème section</titre>
24
</Sous-partie>
25
<Sous-partie>
26
<titre>2ème sous-partie - 1ère partie - 2ème section</titre>
27
<figure>5ème figure du document</figure>
28
</Sous-partie>
29
<Sous-partie>
30
<titre>3ème sous-partie - 1ère partie - 2ème section</titre>
31
</Sous-partie>
32
</Partie>
33
<Partie><titre>2ème partie - 2ème section</titre>
34
<Sous-partie>
35
<titre>1ère sous-partie - 2ème partie - 2ème section</titre>
36
<figure>6ème figure du document</figure>
37
</Sous-partie>
38
<Sous-partie>
39
<titre>2ème sous-partie - 2ème partie - 2ème section</titre>
40
</Sous-partie>
41
<Sous-partie>
42
<titre>3ème sous-partie - 2ème partie - 2ème section</titre>
43
<figure>7ème figure du document</figure>
44
<figure>8ème figure du document</figure>
45
</Sous-partie>
46
</Partie>
47
</Section>
48
</Document>
49
<?xml version="1.0" encoding="UTF-8"?> <Document> <Section><titre>1ère section</titre> <Partie><titre>1ère partie - 1ère section</titre> <Sous-partie> <titre>1ère sous-partie - 1ère partie - 1ère section</titre> <figure>1ère figure du document</figure> </Sous-partie> <Sous-partie> <titre>2ème sous-partie - 1ère partie - 1ère section</titre> </Sous-partie> <Sous-partie> <titre>3ème sous-partie - 1ère partie - 1ère section</titre> <figure>2ème figure du document</figure> <figure>3ème figure du document</figure> <figure>4ème figure du document</figure> </Sous-partie> </Partie> </Section> <Section><titre>2ème section</titre> <Partie><titre>1ère partie - 2ème section</titre> <Sous-partie> <titre>1ère sous-partie - 1ère partie - 2ème section</titre> </Sous-partie> <Sous-partie> <titre>2ème sous-partie - 1ère partie - 2ème section</titre> <figure>5ème figure du document</figure> </Sous-partie> <Sous-partie> <titre>3ème sous-partie - 1ère partie - 2ème section</titre> </Sous-partie> </Partie> <Partie><titre>2ème partie - 2ème section</titre> <Sous-partie> <titre>1ère sous-partie - 2ème partie - 2ème section</titre> <figure>6ème figure du document</figure> </Sous-partie> <Sous-partie> <titre>2ème sous-partie - 2ème partie - 2ème section</titre> </Sous-partie> <Sous-partie> <titre>3ème sous-partie - 2ème partie - 2ème section</titre> <figure>7ème figure du document</figure> <figure>8ème figure du document</figure> </Sous-partie> </Partie> </Section> </Document>
Résultat final attendu :
CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="iso-8859-1"?>
2
1 1ère section
3
1.1 1ère partie - 1ère section
4
5
1.1.1 1ère sous-partie - 1ère partie - 1ère section
6
1 1ère figure du document
7
8
9
1.1.2 2ème sous-partie - 1ère partie - 1ère section
10
11
12
1.1.3 3ème sous-partie - 1ère partie - 1ère section
13
2 2ème figure du document
14
3 3ème figure du document
15
4 4ème figure du document
16
17
18
19
ii 2ème section
20
ii.i 1ère partie - 2ème section
21
22
ii.i.i 1ère sous-partie - 1ère partie - 2ème section
23
24
25
ii.i.ii 2ème sous-partie - 1ère partie - 2ème section
26
1 5ème figure du document
27
28
29
ii.i.iii 3ème sous-partie - 1ère partie - 2ème section
30
31
32
ii.ii 2ème partie - 2ème section
33
34
ii.ii.i 1ère sous-partie - 2ème partie - 2ème section
35
2 6ème figure du document
36
37
38
ii.ii.ii 2ème sous-partie - 2ème partie - 2ème section
39
40
41
ii.ii.iii 3ème sous-partie - 2ème partie - 2ème section
42
3 7ème figure du document
43
4 8ème figure du document
44
45
46
47
<?xml version="1.0" encoding="iso-8859-1"?> 1 1ère section 1.1 1ère partie - 1ère section 1.1.1 1ère sous-partie - 1ère partie - 1ère section 1 1ère figure du document 1.1.2 2ème sous-partie - 1ère partie - 1ère section 1.1.3 3ème sous-partie - 1ère partie - 1ère section 2 2ème figure du document 3 3ème figure du document 4 4ème figure du document ii 2ème section ii.i 1ère partie - 2ème section ii.i.i 1ère sous-partie - 1ère partie - 2ème section ii.i.ii 2ème sous-partie - 1ère partie - 2ème section 1 5ème figure du document ii.i.iii 3ème sous-partie - 1ère partie - 2ème section ii.ii 2ème partie - 2ème section ii.ii.i 1ère sous-partie - 2ème partie - 2ème section 2 6ème figure du document ii.ii.ii 2ème sous-partie - 2ème partie - 2ème section ii.ii.iii 3ème sous-partie - 2ème partie - 2ème section 3 7ème figure du document 4 8ème figure du document