Types de DTD

Les DTD sont traitées par des parseurs validants ; elles peuvent être internes ou externes. Ainsi, une DTD a deux représentations physiques possibles :

  • peut faire partie du document XML elle est alors dite interne,

  • être un fichier à elle seule, lui permettant d'être utilisable par d'autres documents XML, elle sera alors dite externe.

Les DTD externes peuvent être séparées en deux catégories :

  • privée (SYSTEM) : est représentée par un fichier accessible uniquement en local

  • publique (PUBLIC) : sera disponible pour tout le monde via une URI (Uniform Resource Identifier)

1 . DTD interne

Une DTD contient des déclarations spécifiques au document et portant sur les éléments et les attributs et aussi sur les entités spécifiques ; Une DTD interne n'a pas d'effet sur les autres documents.

Syntaxe :

1
<?xml version="1.0" standalone="yes">
2
<!DOCTYPE racine [
3
<!-- DEFINITION DTD -->
4
]>
5
<racine>
6
...
7
</racine>

2. DTDt externe

Une DTD externe contient des déclarations générales pouvant être aussi comme la DTD interne :

  • des déclarations d'éléments ;

  • des déclarations des attributs ;

  • les déclarations d'entités dont chaque document peut avoir besoin.

Contrairement à la DTD interne, une DTD externe peut s'appliquer à plusieurs documents.

Deux types de DTD externe : DTD privé et DTD publique

1- DTD externe privée (stockée dans un autre fichier autre que le document XML) ; elle est accessible avec un accès local)

1
<!DOCTYPE livre SYSTEM "biblio.dtd">
2
<!DOCTYPE racine SYSTEM "http://www.serveur.fr/racine.dtd "

2- DTD externe publique avec un accès via une URI

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