XML : les DTD

Une DTD est une définition de type de document.
Nous pouvons donc déclarer dans le fichier DTD la liste des éléments du document XML,  avec leur type et leurs attributs, avant leur utilisation. La validité du document XML est soumise au respect de ces déclarations. Un soin particulier doit donc être apporté à la conception de la DTD, elle doit donc comporter une structure parfaitement adaptée au document XML auquel elle est liée.

  1. <!DOCTYPE element_racine [
  2. <!ELEMENT balise (#PCDATA)>
  3. <!ATTLIST balise attribut CDATA #REQUIRED>
  4. <!ELEMENT element_racine (balise)>
  5. <!ENTITY e-aigu "é">
  6. ]>
  7. <element_racine>
  8. <balise attribut="valeur">donn&e-aigu;e</balise>
  9. </element_racine>

Indicateurs d'occurences

SymboleExempleDescription
 <!ELEMENT note (message)>Si nous ne spécifions rien de plus, l'élément message, fils de l'élément note, ne peut apparaître qu'une et une seule fois dans l'élément note.
+<!ELEMENT note (message+)>L'élément message doit apparaître au moins une fois par élément note.
*<!ELEMENT note (message*)>L'élément message peut apparaître dans l'élément note. Sa présence est facultative.
?<!ELEMENT note (message?)>L'élément message peut soit être omis, soit apparaître une seule fois dans l'élément note.
,<!ELEMENT note (de,a,cc,objet,message)>L'élément note comporte les cinq éléments fils suivants : de, a, cc, objet, message dans l'ordre dans lequel ils sont présentés.
|<!ELEMENT livre (#PCDATA | titre)>L'élément livre peut comporter soit une donnée de type PCDATA, soit un élément titre.

Inhaltsverzeichnis Haut

Déclaration des éléments xml

Déclaration interne

Nous pouvons réaliser une déclaration des éléments xml au sein même du document, sous la forme suivante:

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE Elément_racine...>
<Elément_racine>
...
</Elément_racine>

Inhaltsverzeichnis Haut

Déclaration externe

Nous pouvons aussi procéder d'une autre manière (en respectant la tendence qui vise à séparer les données du formatage), par l'utilisation d'une URI (Uniform Resource Identifier) qui nous permettra de lier le document à une DTD externe. Dans ce dernier cas, le mot-clé : SYSTEM ou PUBLIC sera combiné avec le nom public de la DTD externe.

<!DOCTYPE Elément_racine [Enumération...]>
<!DOCTYPE Elément_racine SYSTEM "URI">
<!DOCTYPE Elément_racine PUBLIC "Nom_DTD" "URI">

Mot-cléDescription
SYSTEMPour indiquer où se situe l'URI d'une DTD à laquelle se réfère le document.
PUBLICDétermine que la DTD est d'usage général.

ValeurDescription
"URI"Pour indiquer où se situe une DTD à laquelle s'applique le mot-clé SYSTEM.
"Nom_DTD" "URI"Détermine le nom de la DTD utilisée, avec son adresse, au cas ou le système ne parviendrait pas à la trouver.
Exemple
  1. <!DOCTYPE document SYSTEM "../dtd/definition.dtd">
  2.  
  3. <!DOCTYPE document PUBLIC
  4. "-//NomDTD//dtD//EN"
  5. "http://www.monsite.com/dtd/definition.dtd">
  6.  
  7. <!DOCTYPE document [
  8. <!ELEMENT paragraphe (phrase)>
  9. <!ELEMENT phrase (#PCDATA)>
  10. <!ATTLIST paragraphe auteur CDATA #IMPLIED>
  11. <!ENTITY e-dans-o "&oelig;">
  12. <!ENTITY a-dans-e "&aelig;">
  13. ]>

Explication : mot-clé PUBLIC

Nous avons vu qu'il était nécessaire de procéder à une déclaration PUBLIC au cas ou l'analyseur XML ne serait pas en mesure de trouver la DTD (le cas de l'utilisation d'une DTD extérieure au site).

Nous utiliserons la syntaxe suivante :

ISO|+|-//nom_propriétaire//dtD Descripteur//Bigramme_langue

  • Appartenance au standard.
    • ISO : la DTD appartient au standard.
    • + : la DTD n'appartient pas au standard.
    • - : utilisé dans le cas où la DTD n'a pas été approuvée.
  • //nom_propriétaire : nom du propriétaire.
  • //dtD Descripteur : descripteur de la DTD.
  • //Bigramme_langue : langue sous forme de bigramme.

Remarques

Nous pouvons aussi utiliser les deux méthodes, en combinant une DTD externe à une DTD interne.
En réalité, la DTD du document XML se composera de deux sous-DTD (une interne et une externe).

Deux termes sont utilisés pour définir un document xml :

  • Un document bien formé (Well Formed XML) est un document qui respecte les règles syntaxiques XML.
  • Un document valide (Valid XML) est un document qui respecte les règles spécifiques de son DTD.

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 07/11/2003, zuletzt geändert 02/08/2019
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/xml-dtd.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.