Comparaison entre les schémas et les DTD

Une DTD permet de définir la structure d'un document, mais ne permet pas de spécifier le type des données. Ses possibilités sont donc restreintes (énumérations limitées aux attributs, pas de possibilité de décrire un nombre de répétitions, …). En outre, les DTD sont peu adaptées à la gestion des espaces de nommage.

 

La recommandation d'utiliser les schémas XML, approuvée par le W3C le 2 mai 2001, a pour objectif de permettre :

- de décrire la structure des documents dans un format XML ;

- de spécifier le typage des données ;

- de supporter les espaces de nommage ;

- de construire des types de données à partir d'autres types de données (héritage).

 

Les schémas XML permettent aussi d'ignorer des éléments qui n'ont pas été définis (notion de modèle ouvert). Cette fonction est particulièrement utile lors du changement de version d'un schéma, la compatibilité dans les différentes versions ascendantes étant alors assurée en ignorant les ajouts des nouvelles versions par rapport aux anciennes.

 

En résumé, on préférera les schémas XML aux DTD pour les raisons suivantes :

- une DTD est difficile à lire ;

- une DTD est non extensible, car elle n'est pas un document XML ;

- une DTD ne permet pas de " typer " les données ;

- une DTD ne supporte pas les espaces de nommage (Namespaces) ;

- une DTD est plus concise mais moins riche qu'un schéma XML.

 

- Cours à l'Université de Lille, 2020/2021 - -