Préambule

Soit les fichiers XML et DTD suivants :

cours1.xml

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<cours>
3
    <definition>XML est un méta-langage</definition>
4
    <exemple>XHTML est un langage XML</exemple>
5
    <exemple>SMIL est un langage XML</exemple>
6
</cours>
<?xml version="1.0" encoding="UTF-8"?>
<cours>
    <definition>XML est un méta-langage</definition>
    <exemple>XHTML est un langage XML</exemple>
    <exemple>SMIL est un langage XML</exemple>
</cours>

cours2.xml

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<cours>
3
    <definition>XML est un méta-langage</definition>
4
    <remarque>XML est hérité de SGML</remarque>
5
</cours>
<?xml version="1.0" encoding="UTF-8"?>
<cours>
    <definition>XML est un méta-langage</definition>
    <remarque>XML est hérité de SGML</remarque>
</cours>

cours3.xml

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<cours>
3
    <definition>XML est un méta-langage</definition>
4
</cours>
5
<cours>
6
    <exemple>XHTML est un langage XML</exemple>
7
</cours>
<?xml version="1.0" encoding="UTF-8"?>
<cours>
    <definition>XML est un méta-langage</definition>
</cours>
<cours>
    <exemple>XHTML est un langage XML</exemple>
</cours>

cours4.xml

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<cours>
3
    <definition>XML est un méta-langage</definition>
4
    <exemple>XHTML est un langage XML</exemple>
5
    <remarque>XML est hérité de SGML</remarque>
6
</cours>
7
<?xml version="1.0" encoding="UTF-8"?>
<cours>
    <definition>XML est un méta-langage</definition>
    <exemple>XHTML est un langage XML</exemple>
    <remarque>XML est hérité de SGML</remarque>
</cours>

schCours1.dtd

CTRL+C pour copier, CTRL+V pour coller
1
<!ELEMENT cours (definition, exemple)>
2
<!ELEMENT definition (#PCDATA) >
3
<!ELEMENT exemple (#PCDATA) >
<!ELEMENT cours (definition, exemple)>
<!ELEMENT definition (#PCDATA) >
<!ELEMENT exemple (#PCDATA) >

schCours2.dtd

CTRL+C pour copier, CTRL+V pour coller
1
<!ELEMENT cours (definition, remarque?)>
2
<!ELEMENT definition (#PCDATA) >
3
<!ELEMENT remarque (#PCDATA) >
<!ELEMENT cours (definition, remarque?)>
<!ELEMENT definition (#PCDATA) >
<!ELEMENT remarque (#PCDATA) >