J'aimerais connaître la différence entre DTD et W3C XML Schema.
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
vendredi 2 mars 2001
J'aimerais connaître la différence entre DTD et W3C XML Schema dans
le développement de support XML (sachant que DTD est un outil de SGML
et que W3C XML Schema est un outil de XML pour créer des définitions de structures de
documents ou de données).
Sans vouloir faire de jeux de mots, votre catégorisation est un
peu… schématique !
S'il est exact que les DTDs sont
un héritage SGML et que les DTDs XML sont un sous-ensemble
des DTDs SGML,
les DTDs n'en sont pas moins une partie
intégrante de XML.
W3C XML Schema est, par contre,
une application XML permettant de décrire des
"schémas" de documents XML.
Je pense que W3C XML Schema ne
sera donc jamais aussi intégré au langage que ne peuvent l'être les DTDs et que c'est en quelque sorte une sur-couche.
Cette introduction philosophique mise à part,
W3C XML Schema a été développé pour résoudre des
problèmes que les DTDs ne savent pas résoudre et
notamment:
- La gestion des espaces de noms (W3C XML Schema permet de décrire des schémas qui restent valables si l'on change
le préfixe utilisé pour l'espace de noms et permet d'écrire des schémas
"ouverts" permettant d'insérer des éléments inconnus d'espaces de
noms indéterminés.
- La gestion de types de données dignes de ce nom.
Si vous utilisez des espaces de noms et/ou si vous souhaitez
faire des contrôles fins sur les types de données, vous devriez utiliser W3C XML Schema plutôt que les DTDs.
Attention toutefois au problèmes de stabilité et de conformité
des outils actuels qui sont très, très loin d'être parfaits.
Pour terminer, il faut mentionner une grande rigidité de W3C XML Schema qui ne permet pas de décrire tous les
documents XML possibles d'après la recommandation
XML 1.0.
Pour résoudre ces difficultés, d'autres langages de schémas XML ont été créés dont Relax
(soumis à l'ISO), TREX
(soumis à OASIS) et Schematron
(qui devrait bientôt être une note W3C)..
Farid.AFKIR@antall.com:
"[xml-tech] Différence entre XML-Schema et DTD" Eric
van der Vlist: "[xml-tech] Re: Différence entre XML-Schema et DTD"Jean-Guillaume
LALANNE: "[xml-tech] Re: [xml-tech] Re: Différence entre XML-Schema et
DTD"Eric
van der Vlist: "[xml-tech] Re: Différence entre XML-Schema et DTD"Tutoriel
XML SchemaL'ISO anti
W3C?
Copyright 2001,
Eric van der Vlist.
|