From: Xavier BARIL (baril@lirmm.fr)
Date: 30/01/2003 - 23:59
Bonjour,
J'aimerais éclaircir quelques point concernant les différences entre les
DTDs et les XML Schema (pour l'écriture d'un mémoire). D'après ce que
j'ai compris...
Comparés aux DTDs, les principaux apports des schémas sont les suivants :
1 - Types de données :
les schémas permettent de définir des types de données. De nombreux
types simples sont proposés (string, int, float, date, ...) alors que
les DTDs ne proposent que le type chaîne de caractères (#PCDATA).
2 - Spécification plus précise :
en effet, les schémas permettent de spécifier de manière plus précise la
structure du document XML. Par exemple, on peut spécifier le nombre
d'apparitions d'un sous-élément dans un élément, alors que les DTDs
permettent seulement de spécifier si un sous-élément peut apparaître
zéro, une ou plusieurs fois.
3 - Représentation XML :
les schémas sont écrit en XML, c'est à dire qu'un schéma est un document
XML. Cela permet de les traiter et de les échanger comme tous les autres
documents XML et donc de profiter de tous les outils disponibles. Bien
que les DTDs fassent partie intégrante du langage XML, leur formalisme
est différent.
Les schéma ont été proposés par le W3C pour combler certains manques des
DTDs, principalement l'absence de types et la représentation dans un
formalisme spécifique. Cependant, de nombreuses DTDs ont été développées
pour valider des documents et sont encore utilisées. De plus, la
puissance des schémas a complexifié la validation des documents.
... et voici donc mes questions :
- est ce que je suis dans le vrai ? j'espère quand même que j'ai pas
tout faux... :)
- est ce que j'ai oublié des différences ?
- est ce qu'on peut affirmer que tout ce qu'on peut spécifier à l'aide
d'une DTD peut être spécifié avec un XML Schema ?
- que deviennent les déclarations d'entité ? y'a t'il un équivalent dans
les XML Schema ?
- les XML Schemas remplacent ils les DTDs ou peuvent ils cohabiter ?
Toutes les remarques seront les bienvenues, merci d'avance pour vos
éclairages.
Xavier Baril
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|