Professional Documents
Culture Documents
Chapitres traits
Critre de base d'un document XML valide
2. Les lments doivent tre correctement embots. Les lments doivent tre imbriqus, mais ne doivent pas se recouvrir.
3. Chaque lment doit avoir la fois un marqueur d'ouverture et un marqueur de fermeture. Si nous avons besoin d'un lment vide et que nous dsirons traiter directement avec les attributs, nous pouvons utiliser un raccourci.
5. Les valeurs des attributs doivent tre dlimites par des guillemets simples ou doubles. 6. Les noms des attributs l'intrieur d'un lment doivent tre uniques. Il n'est pas permis d'avoir de dfinir plusieurs attributs possdant le mme nom l'intrieur d'un lment. 7. etc. Un document XML bien form peut aussi tre valide. Un document XML valide est un document bien form qui rpond en outre deux exigences. 1. Le prologue du document comporte une dclaration de type de document, contenant une Dfinition de Type de Document (DTD) qui dfinit la structure du document. 2. Le reste du document se conforme effectivement la structure dfinie dans la DTD.
Rendre valides des documents XML est particulirement utile pour assurer une uniformit dans un groupe de
coursinformatique.dyalo.com/XML/DTD/DTD.htm 1/9
17/01/13
documents similaires. En fait, la norme XML dfinit une DTD comme une grammaire pour une classe de documents .
La dclaration DOCTYPE doit se trouver dans le prologue d'un document XML, donc aprs la dclaration XML, mais avant l'lment racine.
Cration de la DTD
Les dclarations de marquage dcrivent la structure logique du document ; en d'autres termes, elles dfinissent les lments du document, les attributs et d'autres caractristiques.
1. Dclaration de type d'lment : elles dfinissent les types d'lments que le document peut contenir, de mme que le contenu et l'ordre des lments. 2. Dclaration de liste d'attributs : chaque dclaration de liste d'attributs dfinit les noms des attributs qui peuvent tre utiliss avec un type particulier, de mme que les types de donnes et les valeurs par dfaut de ces attributs. 3. Dclaration de liste d'entits : On peut utiliser des entits pour stocker des blocs de texte utiliss frquemment, ou pour incorporer des donnes non XML dans le document.
Dclarations d'lments
coursinformatique.dyalo.com/XML/DTD/DTD.htm 2/9
17/01/13
Une dclaration de type d'lment indique le nom de l'lment (de la balise XML) ainsi que le contenu autoris de l'lment (spcifiant souvent l'ordre dans lequel les lments de sa filiation peuvent apparatre). Prise ensemble, les dclarations des lments dans la DTD similaire un schma de base de donnes tracent la carte de toute la structure logique du document. En d'autres termes, les dclarations des lments indiquent le nom des lments que le document contient, l'ordre des lments et les spcifications de contenu des lments. Chacun de ces lments est spcifi l'aide d'une dclaration ELEMENT , compos d'un nom d'lment suivi d'une description du contenu de l'lment, sous la forme suivante :
1. nom_lment : est le nom de l'lment, c'est--dire le nom de la balise utilise dans le document XML. 2. contenu_lment : spcifie les lments enfants, du texte, ou les deux, qui peuvent appartenir l'lment. Sauf exception, si la dclaration d'un lment spcifie un contenu, ce dernier est toujours compris entre parenthses. ATTENTION : chaque lment autoris dans le corps d'un document XML doit tre dclar. Aprs avoir dclar un lment dans la DTD, vous avez le droit de vous en servir dans le corps d'un document XML associ une DTD.
Par exemple, cette dclaration renseigne un lment mumro_tlphone contenant du texte, mais ne pouvant pas tre dcrits par des chiffres reprsentant le code zone, le nombre et l'extension.
Par exemple, cette dclaration indique qu'un lment fax doit contenir exactement un seul lment numro_tlphone. Un lment fax ne peut rien contenir en dehors d'un lment numro_tlphone et il ne peut pas en contenir plus ou moins de un.
Par exemple, cette dclaration d'lment indique qu'un lment livre doit contenir exactement un sous-lment titre suivi exactement par un autre sous-lment auteur suivi exactement par un autre sous-lment pages.
coursinformatique.dyalo.com/XML/DTD/DTD.htm
3/9
17/01/13
? +
Cette dclaration indique qu'un lment livre doit contenir l'lment titre, peut ou ne pas contenir les lments auteur et pages.
17/01/13
Cette dclaration indique qu'un lment Contact contient un des trois sous-lment possibles Adresse , Mail ou Tlphone.
?,*
ou
+.
Vous pouvez
Cette dclaration indique qu'un lment dfinition peut contenir des donnes textuelles analyses et des sous-lments Nota. Elle ne spcifie ni dans quel ordre ils apparaissent, ni le nombre de chaque instance. Cette dclaration autorise une dfinition avoir un, aucun ou plusieurs sous-lments Nota, ou zone de texte.
Autre exemple :
coursinformatique.dyalo.com/XML/DTD/DTD.htm 5/9
17/01/13
/>
la fin. Les balises vides possdent systmatiquement des attributs qui dfinissent
Ces lments vides sont dclars en utilisant le mot-cl EMPTY pour le modle de contenu :
Cette dclaration indique simplement que l'lment image doit tre vide, et non qu'il doit tre crit avec un marqueur d'lment vide. Etant donn cette dclaration, voil galement un lment image valide :
Si un lment est vide, alors il ne peut rien contenir, pas mme un espace blanc :
Dclaration d'attribut
Outre le fait de dclarer ses lments, un document valide doit dclarer tous les attributs des lments. Cela est ralis avec les dclarations ATTLIST. Un seul ATTLIST peut dclarer plusieurs attributs pour un seul type d'lment. Toutefois, si le mme attribut est rpt dans plusieurs lments, il doit tre dclar sparment pour chaque lment o il doit apparatre. Il est galement possible d'utiliser des appels d'entit paramtre pour rendre cette rptition moins lourde.
coursinformatique.dyalo.com/XML/DTD/DTD.htm
6/9
17/01/13
Une simple instruction ATTLIST peut dclarer diffrents attributs d'une mme balise.
Cette dclaration indique que les attributs source, largeur, hauteur sont obligatoires. Cependant, l'attribut alternative est optionnel et peut tre omis par certains lments image. Ces quatre attributs sont dclars contenir des donnes textuelles, le type d'attribut le plus gnrique.
Type d'attribut
Le type d'attribut est le second composant obligatoire dans une dfinition d'attribut. Il spcifie le genre de valeur que vous pouvez affecter l'attribut dans l'lment concern. Dans les documents XML bien forms, les valeurs des attributs peuvent tre n'importe qu'elle chane de texte. Les seules restrictions sont les occurrences de < et & qui doivent tre chappes par < ; et & ; et quelque soit le type de caractre utilis pour dlimiter la valeur (simple ou double quottes), il doit aussi tre chapp. Cependant, la DTD permet, dans une certaine mesure, des dclarations plus fortes sur le contenu de la valeur.
1. CDATA 2. NMTOKEN 3. NMTOKENS 4. ENUMERATION 5. ENTITY 6. ENTITIES 7. ID 8. IDREF 9. IDREFS 10. NOTATION
Seuls ces dix types d'attribut sont autoriss. Une DTD ne peut pas indiquer que la valeur d'un attribut doit tre, par exemple, un entier ou une date entre 1975 et 2004.
7/9
17/01/13
4. Littral : La vraie valeur par dfaut en temps que chane de caractres crite entre guillemets.
CDATA
Une valeur d'attribut CDATA peut contenir n'importe quelle chane de caractres possible dans la valeur d'un attribut XML bien form. C'est le type d'attribut le plus gnral. Vous pouvez utiliser ce type pour un attribut source d'un lment image puisqu'il n'a pas de forme de texte particulire dans un tel attribut :
NMTOKEN
Il est impossible de spcifier dans une DTD le type de donnes affecter dans un attribut. Par exemple, vous ne pouvez pas obliger un attribut particulier contenir une date et un autre un nombre entier. La seule manire de restreindre les valeurs des attributs consiste faire appel des tokens de noms XML valides.
Les tokens de nom XML sont composs d'une ou plusieurs lettres, chiffres, points . En revanche les espaces ne sont pas autoriss.
. , tiret -
, ou soulign
NMTOKENS
Ce type d'attribut est identique au type NMTOKEN l'exception prs que la valeur peut inclure plusieurs tokens de nom (spars par des espaces) tous l'intrieur d'une seule chane entre guillemets. Par exemple, vous pouvez utiliser ce type pour dcrire l'attribut dates d'un lment concerts, si les dates sont de la forme :
26- 02- 2004 (jj-mm-aaaa).
Enumrations
L'numration est le seul type d'attribut n'tant pas reprsent par un mot cl XML. Le modle de contenu est plutt une liste de toutes les valeurs possibles pour un attribut, spares par des barres verticales. La valeur associe un type numr doit tre une chane entre guillemets conforme aux rgles du XML. Trois catgories de livres dans la mme bibliothque.
La dclaration prcdente indique que la valeur de l'attribut catgorie doit possder uniquement l'une des trois valeurs dsignes par la liste : BD, Fiction, Roman. La balise suivante est donc valide :
Il est possible de prciser une valeur par dfaut qui doit tre spcifie entre guillemets :
coursinformatique.dyalo.com/XML/DTD/DTD.htm
8/9
17/01/13
ID
Ce type indique que la valeur d'un attribut doit tre unique dans un document. Aucun attribut ID ne peut donc prendre une valeur dj affecte un autre attribut ID . Pour implmenter ce mcanisme, il convient de respecter certaines rgles : 1. Lorsque vous dfinissez la valeur d'un attribut ID, vous devez respecter les conventions d'appellation XML. En particulier, cela signifie que les valeurs ID ne peuvent pas commencer par un chiffre. 2. Chaque lment ne peut comporter qu'un et un seul attribut ID. Il est impossible de dclarer un lment avec plusieurs attributs ID. 3. Un attribut ID peut tre dclar comme #IMPLIED ou #REQUIRED, et aucune valeur par dfaut ne doit tre spcifie.
Dans cet exemple, le numro de scurit sociale offre un caractre unique pour chaque individu. Il parat appropri d'utiliser le type ID pour l'attribut numro_scu de l'lment employ . (Attention, il ne faut pas commencer par un chiffre) :
coursinformatique.dyalo.com/XML/DTD/DTD.htm
9/9