Schéma XML:Introduction
Un article de WikiTuto.
Sommaire |
Limitations des DTD
Lors de son lancement, XML a été perçu comme une réelle chance pour les développeurs, d'avoir à disposition un langage simple d'utilisation, portable sans difficulté d'une machine -et d'une application- à une autre, et libre de droits. Dans les premiers temps, un fichier XML, si on voulait le standardiser en utilisant un vrai langage général de description, devait dépendre d'une DTD. Mais ce format de description, hérité de SGML, souffre de nombreuses déficiences.
1.Premièrement, les DTD ne sont pas au format XML. Cela signifie qu'il est nécessaire d'utiliser un outil spécial pour "parser" un tel fichier, différent de celui utilisé pour l'édition du fichier XML.
2.Deuxièmement, les DTD ne supportent pas les "espaces de nom" (nous reviendrons sur cette notion plus loin). En pratique, cela implique qu'il n'est pas possible, dans un fichier XML défini par une DTD, d'importer des définitions de balises définies par ailleurs.
3.Troisièmement, le "typage" des données est extrêmement limité.
Apports des schémas
Conçu pour pallier aux déficiences pré-citées des DTD, XML Schema propose, en plus des fonctionnalités fournies par les DTD, des nouveautés :
- Le typage des données est introduit, ce qui permet la gestion de booléens, d'entiers, d'intervalles de temps... Il est même possible de créer de nouveaux types à partir de types existants.
- La notion d'héritage. Les éléments peuvent hériter du contenu et des attributs d'un autre élément. C'est sans aucun doute l'innovation la plus intéressante de XML Schema.
- Le support des espaces de nom.
- Les indicateurs d'occurrences des éléments peuvent être tout nombre non négatif (rappel : dans une DTD, on était limité à 0, 1 ou un nombre infini d'occurences pour un élément).
- Les schémas sont très facilement concevables par modules.



