Soit le schéma S1 ci-après.
CTRL+C pour copier, CTRL+V pour coller
1
2
<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://utc.fr/nf29/S1">
3
<start>
4
<element name="book">
5
<optional>
6
<element name="info">
7
<element name="title">
8
<text/>
9
</element>
10
<optional>
11
<element name="author">
12
<element name="email">
13
<text/>
14
</element>
15
</element>
16
</optional>
17
</element>
18
</optional>
19
<oneOrMore>
20
<element name="part">
21
<ref name="Title"/>
22
<choice>
23
<ref name="Text"/>
24
<oneOrMore>
25
<element name="chapter">
26
<ref name="Title"/>
27
<ref name="Text"/>
28
</element>
29
</oneOrMore>
30
</choice>
31
</element>
32
</oneOrMore>
33
</element>
34
</start>
35
<define name="Title">
36
<element name="title">
37
<text/>
38
</element>
39
<optional>
40
<element name="subtitle">
41
<text/>
42
</element>
43
</optional>
44
</define>
45
<define name="Text">
46
<oneOrMore>
47
<element name="para">
48
<text/>
49
</element>
50
</oneOrMore>
51
</define>
52
</grammar>
<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://utc.fr/nf29/S1"> <start> <element name="book"> <optional> <element name="info"> <element name="title"> <text/> </element> <optional> <element name="author"> <element name="email"> <text/> </element> </element> </optional> </element> </optional> <oneOrMore> <element name="part"> <ref name="Title"/> <choice> <ref name="Text"/> <oneOrMore> <element name="chapter"> <ref name="Title"/> <ref name="Text"/> </element> </oneOrMore> </choice> </element> </oneOrMore> </element> </start> <define name="Title"> <element name="title"> <text/> </element> <optional> <element name="subtitle"> <text/> </element> </optional> </define> <define name="Text"> <oneOrMore> <element name="para"> <text/> </element> </oneOrMore> </define> </grammar>
Question
Produisez le plus petit document XML valide possible.
Question
Produisez le plus petit document XML valide contenant tous les éléments.