Document Type Definition (DTD) Plan 2.1Introduction 2.2Déclaration de Document Type 2.3Déclaration d’élément Type 2.3.1Séquences, Choix, indicateurs d’Occurrence EMPTY, Contenu mixte et ANY 2.4Déclaration d’attributs 2.4.1Attributs par Défaut ( #REQUIRED, #IMPLIED, #FIXED ) 2.5Types d’Attribut 2.5.1Type d’Attribut à jeton ( ID, IDREF, ENTITY, NMTOKEN ) 2.5.2Type d’Attribut énuméré 2.6Sections Conditionnelles 2.7les espaces 2.8Etude de cas: Ecrire une DTD pour l’application d’emploi du temps
Validation du document vérification des règles de syntaxe –pas de chevauchement –les guillemets pour les valeurs des attributs –différence entre majuscules et minuscules –une balise ouverte est toujours fermée vérification de la cohérence des données –même interprétation pour un seul élément –nécessite la définition de chaque élement: DTD validator –en ligne : –intégrés à l'outil: Oxygene
Fig. 2.1 document XML déclarant sa DTD associée Bienvenue dans le monde XML! 10
Fig. 2.2DTD externe
Fig. 2.3document XML Non valide
Fig. 2.4indicateurs d’Occurrence
Fig. 2.5 Exemple d’élément au contenu mixte <!DOCTYPE format [ ]> C’est une simple phrase formatee. 14 j’essaie le gras. 15 j’essaie l’italic. 16 et maintenant? 17 Remarque: un document XML est standalone si il ne fait pas référence à une DTD externe
Fig. 2.6mauvaise syntaxe d’un élément au contenu mixte.
Fig. 2.7 déclar ation d’attribut <!DOCTYPE monMessage [ ]> Bienvenue dans le monde XML!
Fig. 2.8 docu ment XML document avec des attributs ID et IDREF <!DOCTYPE librairie [ ]> a 4 jours 18 19
Fig. 2.8 docume nt XML document avec des attributs ID et IDREF. (Partie 2) jour Java How to Program 3rd edition C How to Program 3rd edition C++ How to Program 3rd edition
Fig. 2.9Erreur affichée par XML Validator lorsqu’une ID invalide est referencée.
Fig docu ment XML contenant un attribut de type ENTITY <!DOCTYPE database [ ]> iut strasbourg sud
Fig. 2.11Erreur générée par XML Validator lorsqu’une DTD contient une référence à une entité non définie
Fig sectio n Conditionnelle dans une DTD <![ %accepter; [ 8 9]]> 10 11<![ %rejeter; [ 12 13]]>
Fig. 2.13document XML conforme à la conditional.dtd Chairman 11
Fig traite ment des espaces dans un document XML <!DOCTYPE whitespace [ 7 <!ELEMENT whitespace ( aCDATA, 8 aID, aNMTOKEN, aEnumeration, aMixed )> <!ATTLIST aEnumeration enumeration ( true | false ) 21 #REQUIRED> ]> 25
Fig traitement des espaces dans un document XML (Partie 2) voici un texte encore un texte
Affichage de Fig >java Tree yes whitespace.xml URL: file:C:/Examplesps/Files/deleted/ch09/Tree/whitespace.xml [ document root ] +-[ element : whitespace ] +-[ ignorable ] +-[ ignorable ] +-[ ignorable ] +-[ element : aCDATA ] +-[ attribute : cdata ] " cdata simple “ +-[ ignorable ] +-[ ignorable ] +-[ ignorable ] +-[ element : aID ] +-[ attribute : id ] "i20“ +-[ ignorable ] +-[ ignorable ] +-[ ignorable ] +-[ element : aNMTOKEN ] +-[ attribute : nmtoken ] ”bonjour“ +-[ ignorable ] +-[ ignorable ] +-[ ignorable ] +-[ element : aEnumeration ] +-[ attribute : enumeration ] "true“ +-[ ignorable ] +-[ ignorable ] +-[ ignorable ] +-[ element : aMixed ] +-[ text ] “ “ +-[ text ] " Voici un text.“ +-[ text ] “
Affichage de Fig “ +-[ text ] " “ +-[ element : aCDATA ] +-[ attribute : cdata ] " cdata simple“ +-[ text ] “ “ +-[ text ] " encore un texte.“ +-[ text ] “ “ +-[ text ] " “ +-[ ignorable ] +-[ ignorable ] [ document end ]
- Le secrétaire d' Etat aux transports affirme relire chaque semaine un ou deux albums avant de s' endormir.
Un exemple d’annotation XML Elements XML –,,,, Attributs: –lemma, ana, chunk pour l’élement –lang pour l’élément –id pour l’élément
Un exemple (II) Interprétation –Un texte est constitué par un élément –Un est composé par un ou plusieurs éléments –Un est composé par plusieurs phrases –Une phrase est composée par un ou plusieurs mots ou signes de ponctuation
Document Type Definition (DTD) Un fichier externe qui contient les définitions des utilisateurs (éléments et entités XML) Référence à la DTD – dans le prolog du document XML –
segments seg sss ss wwcww c
Fig. 2.15DTD pour planner.xml