xmllint
distingue
xmllint leFichier
--valid
) xmllint
--valid
leFichier
--dtdvalid
) xmllint
leFichier --dtdvalid
laDTD
xmllint
reproduit en
sortie le fichier XML qu'il a lu.--noout
xmllint --noout leFichier --dtdvalid laDTD
--dtdvalid
.xmllint --noout NN1-sansDTD.xml --dtdvalid
http://pagesperso-systeme.lip6.fr/Jean-Francois.Perrot/inalco/XML/Traductique/Cours2/NomNoteDTD/Nom_note1.dtd
--dtdvalidfpi
permet de
désigner le document par un Formal Public Identifier xmllint
avec
les options --schema
et --relaxng
.<?xml version="1.0" ?>
<!DOCTYPE liste [
<!ELEMENT liste (eleve*)>
<!ELEMENT eleve (nom, note)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT note (#PCDATA)>
]>
<liste>
<eleve>
<nom>Pierre</nom> <note> 12 </note>
</eleve>
<eleve>
<nom>Paul</nom> <note> 13 </note>
</eleve>
<eleve>
<nom>Jacques</nom> <note> 17 </note>
</eleve>
</liste>
<?xml version="1.0" ?>
<!DOCTYPE liste SYSTEM "Nom_note2.dtd">
ou <!DOCTYPE liste SYSTEM
"http://pagesperso-systeme.lip6.fr/Jean-Francois.Perrot/inalco/XML/Traductique/Cours2/NomNoteDTD/Nom_note1.dtd">
<liste>
<eleve>
<nom>Pierre</nom> <note> 12 </note>
</eleve>
<eleve>
<nom>Paul</nom> <note> 13 </note>
</eleve>
<eleve>
<nom>Jacques</nom> <note> 17 </note>
</eleve>
</liste>
[ fichier Nom_note2.xml]
<?xml version="1.0" ?>
<liste>
<eleve>
<nom> Toto</nom> <note> 12 </note>
</eleve>
<eleve>
<nom> Tata</nom> <note> 13 </note>
</eleve>
<eleve>
<nom> Tutu</nom> <note> 17 </note>
</eleve>
<eleve>
<nom> Titi</nom> <note> 11 </note>
</eleve>
</liste>
[ fichier Nom_note2.dtd]
<?xml version="1.0" encoding='ISO-8859-1'?>
<!-- Tableau Noms-Notes par enfants -->
<!ELEMENT liste (eleve*)>
<!ELEMENT eleve (nom, note)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT note (#PCDATA)>
[ fichier Nom_note1.xml]
<?xml version="1.0" ?>
<liste>
<eleve nom="Toto" note="12"/>
<eleve nom="Tata" note="13"/>
<eleve nom="Tutu" note="17"/>
<eleve nom="Tutu" note="11"/>
</liste>
[fichier Nom_note1.dtd]
:
<?xml version="1.0" encoding='ISO-8859-1'?>
<!-- Tableau Noms-Notes par attributs -->
<!ELEMENT liste (eleve*)>
<!ELEMENT eleve EMPTY>
<!ATTLIST eleve nom CDATA #REQUIRED>
<!ATTLIST eleve note CDATA #REQUIRED>
&
"
et ";
" :<!ENTITY qed "Quod
erat
demonstrandum">
<texte> et voila pourquoi votre fille
est
muette ! &qed;</texte>
<texte> et voila pourquoi votre fille
est
muette !
Quod erat demonstrandum
</texte>
é
, à
,
etc sont des entités prédéfinies en HTML.& |
& |
' |
' |
" |
" |
< |
< |
> |
> |
&le-numéro-décimal;
par exemple Æ
---> Æ
(majuscule danoise) &xle-numéro-hexa;
par exemple ℅
---> ℅
(le signe care-of = aux bons soins de) <!ENTITY care-of "
℅
">
&care-of;
au lieu de ℅
.%
" dans leur
définition, qui répparaît comme préfixe dans leur utilisation. On
pourrait par exemple réécrire notre DTD familiale ainsi <!ENTITY % parents "pere?,
mere?">
....
<!ELEMENT Personne (%parents;,
enfants)>
TEIFrantext.dtd
).