
DTD de base
Définition du type de document XML

La DTD est un ensemble de règles en langage SGML qui définit les balises, leur nom, l'ordre, etc. Un document sans DTD est well-formed (bien formé). Si il possède une DTD et qu'il est correctemment écrit, il est alors valide (valable).
Exercice: Création de la DTD: Que devons nous savoir pour notre DTD ?
- L'élément racine se nomme <mondocument>
- Dans cet élément racine se trouve un élément nommés <question>
Dans un nouveau document du bloc note que vous nommerez 'mondtd.dtd' copier le source ci-dessous:
<!ELEMENT mondocument (#PCDATA)>
<!ELEMENT question (#PCDATA)>
<!ELEMENT question (#PCDATA)>
Explication: Les DTD sont écrites en langages SGML. La balise document est définie dans la première ligne. Il s'agit de l'élément racine. Chaque définition commence par <!ELEMENT écrit en majuscules. PCDATA est l'abréviation de "Parsed Character DATA". Elle signifie qu'avec cet élément, on a affaire à des données (DATA) composées de caractères et non pas à des graphiques ou autre.
Placer un lien dans "mapage.xml" vers la DTD:
<!DOCTYPE mondocument SYSTEM "mondtd.dtd">
Le lien ci-dessus doit se placer sous le prologue et au dessus de l'élément racine (soit sous la première ligne de mapage.xml). Voici le document "mapage.xml" avec le lien bien placé:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE mondocument SYSTEM "mondtd.dtd">
<mondocument>
<question>Le Xml est-il compatible EASY-MICRO ? </question>
</mondocument>
<!DOCTYPE mondocument SYSTEM "mondtd.dtd">
<mondocument>
<question>Le Xml est-il compatible EASY-MICRO ? </question>
</mondocument>
Explication: La déclaration DTD est introduite par <!DOCTYPE en majuscule. Le mot-clé SYSTEM indique que la DTD se trouve en locale, sur votre ordinateur (inverse de PUBLIC). Entre guillemets se trouve le chemin vers le fichier DTD.
Attention, IE 9 et + ne prend plus en compte les DTD et FireFox, de son côté, n'affiche pas les lignes correspondante à l'appel du DTD.
Exercice: Tester votre fichier avec sa DTD, si tout va bien, il ne se passe désespéremment rien du tout! Internet Explorer devrait vous afficher ceci :
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE mondocument (View Source for full doctype...)>
- <mondocument>
<question>Le Xml est-il compatible EASY-MICRO ?</question>
</mondocument>
<!DOCTYPE mondocument (View Source for full doctype...)>
- <mondocument>
<question>Le Xml est-il compatible EASY-MICRO ?</question>
</mondocument>