Document Type Definition (DTD)

Slides:



Advertisements
Présentations similaires
DTD Sylvain Salvati
Advertisements

eXtensible Markup Language
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Cours 1.2 : Introduction au langage XML
Les fonctions de XPath et XSLT
Nicolas Singer Maître de conférence, université Champollion
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Initiation à XML Sebti Foufou.
Introduction à XML Généralités.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
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.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
INF2005– Programmation web– A. Obaid Variantes de HTML.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
eXtensible Markup Language
Marcel Bosc Introduction Web Université Paris-13Département informatiqueIUT de Villetaneuse ère année, cours - 1/5.
Les profils du SEDA confection de profil avec Agape.
Utilisation des squelettes Association Rhizomes – 11 août 2006.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
BUR Tableur Tableur : Open Office Calc. BUR Tableur 2 Qu’est-ce qu’un tableur ?  Un logiciel permettant de manipuler des feuilles de calcul  Fonctionnalités.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Toulibre : présentation de... xhtml + css par Rémy Sanchez.
Le xml.
Eléments de bases requis
Lire et manipuler du XML...
Création de site web Langage & programmation.
Ajouter le code dans une page html
Introduction au Langage Pascal
Environnement du développement de BD ORACLE REPORTS 10g
{ XML Technologies } BY: Dr. M’HAMED MATAOUI
JavaScript.
Programmation en C++ IO en C++/SL
Classe virtuelle LSU er degré
Identication & Authentication
Status logiciel 29 avril 2010.
AO (Architecture des ordinateurs)
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
Cyber-Sphinx Séance 2.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
1 Exemple d’un document (article). 2 XML: eXtensible Markup Language Wikipédia XML (Extensible Markup Language, « langage de balisage extensible ») est.
Cyber-Sphinx Séance 2.
Structure D’une Base De Données Relationnelle
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Programmation Android GUI (widgets) et ressources
Catherine Cyrot - bibliothèques numériques - Cours 5
Catherine Cyrot - bibliothèques numériques - Cours 5
20 Données semi-structurées et XML
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD
Plan I.Définitions II.Objectifs III.Intérêt IV.Quoi tester ? V.Processus VI.Exemples VII.Conclusion VIII.Références.
Principes de programmation (suite)
Lecture/Écriture de fichiers (I/O)
Analyse et programmation langage ADA
Catherine Cyrot - bibliothèques numériques - Cours 5
Definition de html sommaire. Présentation de html, css et javascript Module 1.
Non-conformités Des non-conformités Pourquoi? Rev.3 (2015/06/01)
Synchronized Multimedia Integration Language par Yves Bekkers
DTD Document Type Definition
Transcription de la présentation:

Document Type Definition (DTD) Plan 2.1 Introduction 2.2 Déclaration de Document Type 2.3 Déclaration d’élément Type 2.3.1 Séquences, Choix, indicateurs d’Occurrence 2.3.2 EMPTY, Contenu mixte et ANY 2.4 Déclaration d’attributs 2.4.1 Attributs par Défaut (#REQUIRED, #IMPLIED, #FIXED) 2.5 Types d’Attribut 2.5.1 Type d’Attribut à jeton (ID, IDREF, ENTITY, NMTOKEN) 2.5.2 Type d’Attribut énuméré 2.6 Sections Conditionnelles 2.7 les espaces 2.8 Etude de cas: Ecrire une DTD pour l’application d’emploi du temps

Fig. 2.1 document XML déclarant sa DTD associée. 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.1: intro.xml --> 4 <!-- Utilisation d’un sous-ensemble externe --> 5 6 <!DOCTYPE monMessage SYSTEM "intro.dtd"> 7 8 <monMessage> 9 <message>Bienvenue dans le monde XML!</message> 10 </monMessage> Fig. 2.1 document XML déclarant sa DTD associée.

Fig. 2.2 DTD externe 3 1 <!-- Fig. 6.2: intro.dtd --> 2 <!-- déclarations externes --> 3 4 <!ELEMENT monMessage ( message )> 5 <!ELEMENT message ( #PCDATA )> Fig. 2.2 DTD externe

Fig. 2.3 document XML Non valide 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.3 : intro-invalid.xml --> 4 <!-- introduction simple a XML --> 5 6 <!DOCTYPE monMessage SYSTEM "intro.dtd"> 7 8 <!-- element racine sans element fils --> 9 <monMessage> 10 </monMessage> Fig. 2.3 document XML Non valide

Fig. 2.4 indicateurs d’Occurrence indicateur d ’Occurrence Description Signe plus ( + ) Une occurrence ou plus étoile ( * 0 occurence ou plus (élément optionnel) Point d ’interrogation ( ? 0 ou 1 occurence

Fig. 2.5 Exemple d’élément au contenu mixte 1 <?xml version = "1.0" standalone = "yes"?> 2 3 <!-- Fig. 6.5 : mixed.xml --> 4 <!-- element au contenu mixte --> 5 6 <!DOCTYPE format [ 7 <!ELEMENT format ( #PCDATA | bold | italic )*> 8 <!ELEMENT bold ( #PCDATA )> 9 <!ELEMENT italic ( #PCDATA )> 10 ]> 11 12 <format> 13 C’est une simple phrase formatee. 14 <bold> j’essaie le gras.</bold> 15 <italic>j’essaie l’italic.</italic> 16 et maintenant? 17 </format> Fig. 2.5 Exemple d’élément au contenu mixte Remarque: un document XML est standalone si il ne fait pas référence à une DTD externe

Fig. 2.6 mauvaise syntaxe d’un élément au contenu mixte.

Fig. 2.7 déclaration d’attribut 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.7: intro2.xml --> 4 <!-- Declaration d’attributs --> 5 6 <!DOCTYPE monMessage [ 7 <!ELEMENT monMessage ( message )> 8 <!ELEMENT message ( #PCDATA )> 9 <!ATTLIST message id CDATA #REQUIRED> 10 ]> 11 12 <monMessage> 13 14 <message id = "445"> 15 Bienvenue dans le monde XML! 16 </message> 17 18 </monMessage> Fig. 2.7 déclaration d’attribut

Fig. 2.8 document XML document avec des attributs ID et IDREF. 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.8: IDExample.xml --> 4 <!-- Exemple d’attributs ID et IDREF --> 5 6 <!DOCTYPE librairie [ 7 <!ELEMENT librairie ( expedition+, book+ )> 8 <!ELEMENT expedition ( duree )> 9 <!ATTLIST expedition expID ID #REQUIRED> 10 <!ELEMENT livre ( #PCDATA )> 11 <!ATTLIST livre expediepar IDREF #IMPLIED> 12 <!ELEMENT duree ( #PCDATA )> 13 ]> 14 15 <librairie> 16 <expedition expID = "s1"> 17 <duree>2 a 4 jours</duree> 18 </expedition> 19 Fig. 2.8 document XML document avec des attributs ID et IDREF.

20 <expedition expID = "s2"> 21 <duree>1 jour</duree> 22 </expedition> 23 24 <livre expediepar = "s2"> 25 Java How to Program 3rd edition. 26 </livre> 27 28 <livre expediepar = "s2"> 29 C How to Program 3rd edition. 30 </livre> 31 32 <livre expediepar = "s1"> 33 C++ How to Program 3rd edition. 34 </livre> 35 </librairie> Fig. 2.8 document XML document avec des attributs ID et IDREF. (Partie 2)

Fig. 2.9 Erreur affichée par XML Validator lorsqu’une ID invalide est referencée.

Fig. 2.10 document XML contenant un attribut de type ENTITY. 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.10: entityExample.xml --> 4 <!-- entité et attribut de type entité --> 5 6 <!DOCTYPE database [ 7 <!NOTATION html SYSTEM "iexplorer"> 8 <!ENTITY ville SYSTEM "tour.html" NDATA html> 9 <!ELEMENT base ( compagnie+ )> 10 <!ELEMENT compagnie ( nom )> 11 <!ATTLIST compagnie tour ENTITY #REQUIRED> 12 <!ELEMENT nom ( #PCDATA )> 13 ]> 14 15 <base> 16 <compagnie tour = "ville"> 17 <nom>iut strasbourg sud.</nom> 18 </compagnie> 19 </base> Fig. 2.10 document XML contenant un attribut de type ENTITY.

Fig. 2.11 Erreur générée par XML Validator lorsqu’une DTD contient une référence à une entité non définie

Fig. 2.12 section Conditionnelle dans une DTD. 1 <!-- Fig. 6.12: conditional.dtd --> 2 <!-- exemple de DTD avec section conditionnelle --> 3 4 <!ENTITY % rejeter "IGNORE"> 5 <!ENTITY % accepter "INCLUDE"> 6 7 <![ %accepter; [ 8 <!ELEMENT message ( approuve, signature )> 9 ]]> 10 11 <![ %rejeter; [ 12 <!ELEMENT message ( approuve, raison, signature )> 13 ]]> 14 15 <!ELEMENT approove EMPTY> 16 <!ATTLIST approuve flag ( true | false ) "false"> 17 18 <!ELEMENT raison ( #PCDATA )> 19 <!ELEMENT signature ( #PCDATA )> Fig. 2.12 section Conditionnelle dans une DTD.

Fig. 2.13 document XML conforme à la conditional.dtd. 1 <?xml version = "1.0" standalone = "no"?> 2 3 <!-- Fig. 6.13: conditional.xml --> 4 <!-- utiliser des sections conditionnelles --> 5 6 <!DOCTYPE message SYSTEM "conditional.dtd"> 7 8 <message> 9 <approuve flag = "true"/> 10 <signature>Chairman</signature> 11 </message> Fig. 2.13 document XML conforme à la conditional.dtd.

Fig. 2.14 traitement des espaces dans un document XML 1 <?xml version = "1.0"?> 2 3 <!-- Fig. 6.14 : whitespace.xml --> 4 <!-- analyse des espaces --> 5 6 <!DOCTYPE whitespace [ 7 <!ELEMENT whitespace ( aCDATA, 8 aID, aNMTOKEN, aEnumeration, aMixed )> 9 10 <!ELEMENT aCDATA EMPTY> 11 <!ATTLIST aCDATA cdata CDATA #REQUIRED> 12 13 <!ELEMENT aID EMPTY> 14 <!ATTLIST aID id ID #REQUIRED> 15 16 <!ELEMENT aNMTOKEN EMPTY> 17 <!ATTLIST aNMTOKEN nmtoken NMTOKEN #REQUIRED> 18 19 <!ELEMENT aEnumeration EMPTY> 20 <!ATTLIST aEnumeration enumeration ( true | false ) 21 #REQUIRED> 22 23 <!ELEMENT aMixed ( #PCDATA | aCDATA )*> 24 ]> 25 Fig. 2.14 traitement des espaces dans un document XML

Fig. 2.14 traitement des espaces dans un document XML (Partie 2) 26 <whitespace> 27 28 <aCDATA cdata = " cdata simple "/> 29 30 <aID id = " i20"/> 31 32 <aNMTOKEN nmtoken = " bonjour"/> 33 34 <aEnumeration enumeration = " true"/> 35 36 <aMixed> 37 voici un texte. 38 <aCDATA cdata = " cdata simple"/> 39 encore un texte. 40 </aMixed> 41 42 </whitespace> Fig. 2.14 traitement des espaces dans un document XML (Partie 2)

>java Tree yes whitespace >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. 2.14

“ +-[ text ] " “ +-[ element : aCDATA ] +-[ attribute : cdata ] " cdata simple“ +-[ text ] “ “ +-[ text ] " encore un texte.“ +-[ text ] “ “ +-[ text ] " “ +-[ ignorable ] +-[ ignorable ] [ document end ] Affichage de Fig. 2.14

Fig. 2.15 DTD pour planner.xml. 1 <!-- Fig. 6.15: planner.dtd --> 2 <!-- DTD for day planner --> 3 4 <!ELEMENT planificateur ( year* )> 5 6 <!ELEMENT annee ( date+ )> 7 <!ATTLIST annee valeur CDATA #REQUIRED> 8 9 <!ELEMENT date ( note+ )> 10 <!ATTLIST date mois CDATA #REQUIRED> 11 <!ATTLIST date jour CDATA #REQUIRED> 12 13 <!ELEMENT note ( #PCDATA )> 14 <!ATTLIST note heure CDATA #IMPLIED> Fig. 2.15 DTD pour planner.xml.