Déclaration de DTD dans les fichiers XML

Syntaxe

L'instruction DOCTYPE situé en début de fichier XML (entre l'entête et la balise racine) permet d'associer un fichier XML à la DTD qui permet de la valider. Les parseurs validant pourront ainsi directement informer sur la validité du fichier.

1
<?xml version="1.0"?>
2
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "http://docs.oasis-open.org/dita/v1.1/OS/dtd/topic.dtd">
3
<topic>
4
...

SyntaxeDéclaration de DTD privée

Une DTD privée est une DTD réalisée pour ses besoins propres (langage local).

1
<!DOCTYPE rootElement SYSTEM "url">

avec :

  • rootElement le nom de l'élément racine

  • url est une URL décrivant le chemin de la DTD : en local sur un disque, en chemin absolu ou relatif par rapport à la position du fichier XML, ou sur Internet typiquement.

ExempleDéclaration de DTD privées

  • <!DOCTYPE topic SYSTEM "topic.dtd">

  • <!DOCTYPE topic SYSTEM "/home/stc/topic.dtd">

  • <!DOCTYPE topic SYSTEM "http://www.utc.fr/ics/~stc/topic.dtd">

SyntaxeDéclaration de DTD publique

Une DTD publique est une DTD standard mise à disposition pour une communauté élargie.

1
<!DOCTYPE rootElement SYSTEM "publicName" "url">

avec :

  • publicName est un nom public pour la DTD, qui permettra à un système informatique de rechercher en priorité la DTD via un catalogue local.

  • url est une URL décrivant le chemin de la DTD comme pour le mode SYSTEM.

ExempleLes DTD DITA et XHTML

  • <!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "http://docs.oasis-open.org/dita/v1.1/OS/dtd/topic.dtd">

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">