Exercice

Compléter le schéma RelaxNG schema.rng afin que les fichiers XML file1.xml, file2.xml et file3.xml soient valides. On cherchera le schéma le plus restrictif possible. On cherchera un schéma sans description redondante, en utilisant la syntaxe ref/define lorsque c'est nécessaire.

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0"?>
2
<!--file1.xml-->
3
<?oxygen RNGSchema="04.rng" type="xml"?>
4
<a>
5
    <b><b1/></b>
6
</a>
<?xml version="1.0"?>
<!--file1.xml-->
<?oxygen RNGSchema="04.rng" type="xml"?>
<a>
    <b><b1/></b>
</a>
CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0"?>
2
<!--file2.xml-->
3
<?oxygen RNGSchema="04.rng" type="xml"?>
4
<a>
5
    <b><b1/></b>
6
    <b><b1/><b2/></b>
7
    <b><b1/></b>
8
</a>
<?xml version="1.0"?>
<!--file2.xml-->
<?oxygen RNGSchema="04.rng" type="xml"?>
<a>
    <b><b1/></b>
    <b><b1/><b2/></b>
    <b><b1/></b>
</a>
CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0"?>
2
<!--file3.xml-->
3
<?oxygen RNGSchema="04.rng" type="xml"?>
4
<a>
5
    <b><b1/></b>
6
    <b><b1/><b2/></b>
7
    <b><b1/></b>
8
    <c/>
9
    <c/>
10
    <b><b1/></b>
11
    <b><b1/></b>
12
</a>
<?xml version="1.0"?>
<!--file3.xml-->
<?oxygen RNGSchema="04.rng" type="xml"?>
<a>
    <b><b1/></b>
    <b><b1/><b2/></b>
    <b><b1/></b>
    <c/>
    <c/>
    <b><b1/></b>
    <b><b1/></b>
</a>

<?xml version="1.0" encoding="UTF-8"?>

< xmlns="http://relaxng.org/ns/structure/1.0">

<>

 <element name="">

  <>

   <ref name="B"/>

  </>

  <>

   <element name=""></></element>

  </>

  <>

   <ref name=""/>

  </>

 </element>

</>

< name="">

 <element name="">

  <element name=""></></element>

  <>

   <element name=""></></element>

  </>

 </element>

</>

</grammar>

CorrectionRecommencer