Soit les 3 fichiers RelaxNG suivants.
CTRL+C pour copier, CTRL+V pour coller
1
<!-- db0.rng -->
2
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
<define name="Title">
4
<element name="title">
5
<text/>
6
</element>
7
</define>
8
<define name="Text">
9
<oneOrMore>
10
<element name="para">
11
<text/>
12
</element>
13
</oneOrMore>
14
</define>
15
</grammar>
<!-- db0.rng --> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <define name="Title"> <element name="title"> <text/> </element> </define> <define name="Text"> <oneOrMore> <element name="para"> <text/> </element> </oneOrMore> </define> </grammar>
CTRL+C pour copier, CTRL+V pour coller
1
<!-- db1.rng -->
2
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
<start>
4
<element name="book">
5
<oneOrMore>
6
<element name="part">
7
<ref name="Title"/>
8
<ref name="Text"/>
9
</element>
10
</oneOrMore>
11
</element>
12
</start>
13
<include href="db0.rng"/>
14
</grammar>
<!-- db1.rng --> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name="book"> <oneOrMore> <element name="part"> <ref name="Title"/> <ref name="Text"/> </element> </oneOrMore> </element> </start> <include href="db0.rng"/> </grammar>
CTRL+C pour copier, CTRL+V pour coller
1
<!-- db2.rng -->
2
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
<start>
4
<element name="book">
5
<optional>
6
<element name="info">
7
<element name="title">
8
<text/>
9
</element>
10
</element>
11
</optional>
12
<zeroOrMore>
13
<element name="part">
14
<ref name="Title"/>
15
<ref name="Text"/>
16
<zeroOrMore>
17
<element name="chapter">
18
<ref name="Title"/>
19
<ref name="Text"/>
20
</element>
21
</zeroOrMore>
22
</element>
23
</zeroOrMore>
24
</element>
25
</start>
26
<include href="db0.rng"/>
27
</grammar>
<!-- db2.rng --> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name="book"> <optional> <element name="info"> <element name="title"> <text/> </element> </element> </optional> <zeroOrMore> <element name="part"> <ref name="Title"/> <ref name="Text"/> <zeroOrMore> <element name="chapter"> <ref name="Title"/> <ref name="Text"/> </element> </zeroOrMore> </element> </zeroOrMore> </element> </start> <include href="db0.rng"/> </grammar>
Question
Proposer un fichier db.rng
permettant de valider à la fois les fichiers valides par rapport à db1.rng
et db2.rng
.