Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
eXtensible Markup Language
XML (1) Jean-Loïc Rose
2
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
3
Plan du cours IV. La galaxie XML I. Introduction 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
4
1 - Introduction 1.1
5
1 - Introduction 1.1 Les documents Notion : les documents
Structure logique ⇒ squelette sémantique (SGML) Structure physique ⇒ mise en forme (HTML) Cours XML Référence « Image » Illustrations Bloc Image marges vertical : 3mm. Marges horizon : 4mm. Référence « texte » Titre du cours Bloc texte arial, 22 pt, texte noir, alignement centré en bas Structure logique Structure physique
6
Extensible Markup Language
1 - Introduction 1.1 Les documents Remarques : Une structure physique bien conçue aura pour principale qualité de rendre lisible la structure logique du document. Les deux structure peuvent conduire à un même découpage mais la manipulation des éléments du document et l’accès à chacun d’eux sont très différents. Extensible Markup Language
7
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
8
Extensible Markup Language
2 - Les origines du XML 2.1 Introduction Objectifs et besoins : Echanges de données par internet Définir un modèle de structure logique pour coder l’information Coder l’information selon ce modèle Assurer la pérennité et l'indépendance des informations vis-à-vis des matériels et des logiciels SGML Extensible Markup Language
9
2 - Les origines du XML 2.2 Norme SGML
SGML : Standard Generalized Markup Language Norme ISO 8879 en 1986, révisée en 1988 et 1994 Métalangage de balisage de documents Lisible par l’être humain et traitable par une machine Permettant de définir des langages de balisage Exemple <titre>Le corbeau et le renard</titre> Extensible Markup Language
10
Extensible Markup Language
2 - Les origines du XML 2.2 Norme SGML Inadapté pour une gestion Hyperdocumentaire Très complexe et lourd d’options inutiles Pauvreté du mécanisme de liaison Liens internes par le biais d’identifiants et d’entités Pas de mécanismes d’Hyperliens Uniquement des liens contextuels Mal adapté aux applications WEB Pas de Browser/Editeur SGML du domaine public Obligation de connaître la DTD liée à une instance (Volumineuse) Extensible Markup Language
11
Extensible Markup Language
2 - Les origines du XML SGML Standard Generalized Markup Language HTML : Modèle de représentation d’hyperdocuments Utilisé par les serveurs et les clients WEB Défini selon le standard SGML Conçu pour la représentation d’hyperdocuments Application HTML HyperText Markup Language PHP Extensible Markup Language
12
Extensible Markup Language
2 - Les origines du XML 2.3 Le HTML Modèle en constante évolution HTML-1 (1989) : du texte, quelques styles, des liens hypertextes HTML-2 (1994) : HTML-1 + des images, des formulaires interactifs HTML-3 (1996) : HTML-2 + des graphiques vectoriels, du son, des applets HTML-4 (1998) : HTML-3 + vidéo, outils pour INTRANET, . . . Mené à disparaître en faveur de XHTML (norme XML) Extensible Markup Language
13
Extensible Markup Language
2 - Les origines du XML 2.3 Le HTML La DTD HTML : Définit la structure «logico-physique» d’un «document» HTML Structure simple avec un nombre réduit de types d’éléments SGML noeud : <HTML> contenu du noeud </HTML> entête : <HEAD> contenu entête </HEAD> titre : <TITLE> titre </TITLE> paragraphe : <P> texte du paragraphe </P> ancre : <A URL> texte-ancre </A> Etc. Les formats des images, des polices, des enrichissements, ... sont prédéfinis (JPEG, GIF, ....) Extensible Markup Language
14
Extensible Markup Language
2 - Les origines du XML 2.3 Le HTML Les limites du HTML Orientation vers la présentation hypertextuelle Application SGML figée : Impossibilité de définir de nouvelles balises Adaptations difficile aux applications particulières du client Difficultés à trouver l’information recherchée Critères de sélection (résumé, mots-clés, etc. . . ) Pauvreté des types d’hyperliens Modélisations logique et physique confondues Besoin d’une sémantique Besoin de dissocier la présentation Extensible Markup Language
15
Extensible Markup Language
2 - Les origines du XML XML Extensible Markup Language Version simplifiée expériences SGML Standard Generalized Markup Language Application HTML et SGML : Solutions imparfaites pour l’échange d’information documentaire structurée sur Internet ou Intranet HTML HyperText Markup Language PHP Extensible Markup Language
16
Extensible Markup Language
2 - Les origines du XML 2.4 De SGML vers XML XML = Extensible Markup Language Développé par le W3C Sous-ensemble restreint de SGML adapté aux applications WEB qui offre la liberté dans la définition du langage de balisage Rend possible le traitement des fragments documentaires sans connaître leur DTD → vise à permettre sur le WEB : la diffusion de fragments d’instance SGML sans en développer la DTD la réception et le traitement d’instance SGML sans en connaître la DTD Extensible Markup Language
17
XML n'est pas une fin mais un moyen Extensible Markup Language
2 - Les origines du XML 2.4 De SGML vers XML Ce qu'il faut retenir : XML n'est pas une fin mais un moyen Ce que n'est pas XML XML n'est pas le remplaçant de HTML : XML sert à structurer l'information, tandis que HTML a pour but de la présenter et de lui donner du sens XML ne doit pas être utilisé pour faire du document web. Ce n'est pas son rôle, même si on peut y appliquer du style avec CSS XML n'est pas fait pour le stockage. Les fichiers XML ont tendance à être assez volumineux. Extensible Markup Language
18
Extensible Markup Language
2 - Les origines du XML 2.4 Résumé / Bilan SGML Standard Generalized Markup Language Meta-langage pour définir des langages de "markup" HTML Hypertext Markup Language Application de SGML au Web, ayant peu de tag XML eXtensible Markup Language Version plus légère que SGML pour le Web Extensible Markup Language
19
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
20
Extensible Markup Language
3 - Présentation du XML 3.1 Généralités Objectifs : Elaboration du XML intégrant la grande souplesse syntaxique du SGML Intégrant la simplicité d'écriture du HTML. Structure d'un document XML Le prologue Un élément racine Un arbre <?xml version="1.0" encoding="ISO "?> <biblio> <livre> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> </livre> <titre> L'Assommoir </titre> <auteur> Émile Zola </auteur> </biblio> Extensible Markup Language
21
Extensible Markup Language
3 - Présentation du XML 3.2 Le prologue : Déclaration XML Contient les infos de traitement pour le processeur XML avec la syntaxe suivante : <?xml version="1.0" [encoding = "encodage"] [standalone = "yes|no"] ?> Trois informations dans cette déclaration version : conformité du document à une version de la norme XML encoding : codage de caractères utilisé. (par défaut « UTF-8 ») standalone : La présence ou non de références (DTD) externes (par défaut « no ») Le prologue peut contenir une déclaration XML, des instructions de traitement et une déclaration de type de document. Déclaration contient les information pour le processeur xml avec la syntaxe suivante : - La version du langage XML utilisé dans le document, ici la version 1.0. Il en fait probable qu'à l'avenir d'autre version apparaîtront. - Le codage des caractères utilisé dans le document si la valeur par défaut ne convient pas. Par défaut le code est UTF-8 (c'est un codage qui convient aux utilisateurs anglo-américain). L'indication du codage dans le prologue est facultative. En pratique chaque les utilisateurs emploient le codage des caractères spécifiques à leur langue, tels que ISO pour le français. - Permet de spécifier ou non la présence de référence externe DTD. Si la valeur est yes, le processeur considère que toutes les déclarations sont incluse dans le même fichier. Si la valeur est "no", le processeur doit rechercher les déclaration dans d'autres fichiers. Les deux derniers paramètre sont facultatif, mais l'ordre des ces paramètre doit être respecté. <?xml version="1.0" encoding="ISO " standalone="yes"?> Extensible Markup Language
22
Extensible Markup Language
3 - Présentation du XML 3.2 Le prologue : Instructions de traitement Les Processing instructions (Pis) sont généralement utilisées dans le prologue du document permettent de passer des instructions aux applications Syntaxe : <?langage-cible instructions?> Exemples : Cette instruction de traitement est notamment utilisée par les navigateurs Internet pour la mise en forme du document. Les instructions sont facultatives, Leurs contenu est transmis à une application en vue de déclencher certains traitement. La syntaxe des instruction est la suivante : langage cible + instruction Exemple à expliquer <?xml-stylesheet type="text/xsl" href="biblio.xsl" ?> <?xml-stylesheet href="biblio.css" type="text/css" ?> Extensible Markup Language
23
Extensible Markup Language
3 - Présentation du XML 3.2 Le prologue : Document Type Definition DTD XML facultative définit la structure du document Elément racine du document Ensemble des éléments utilisables et règles d'utilisations Syntaxe: <!DOCTYPE element_racine [contenu de la DTD] > Déclaration de DTD Interne Externe (dans plusieurs documents) SYSTEM : DTD stockée sur l’ordinateur à l’adresse précisée PUBLIC : DTD publiée (par ex par le W3C), le processeur utilise le nom ou l’URI pour retrouver la DTD Exemple : <!DOCTYPE rapport SYSTEM "rapport.dtd"> Cette déclaration indique le document type, appelé DTD, que le structure xml doit respectée. Exemple : cette déclaration indique que le document qui la contient est de type rapport et qu'il se conforme à la structure type définie dans la source rapport.dtd. " Extensible Markup Language
24
Extensible Markup Language
3 - Présentation du XML 3.3 Commentaires Commentaires comme en HTML : < !-- commentaire --> Autorisés partout sauf dans le prologue et dans une balise <p < !-- balise ouvrante --> > est illégal Contient n’importe quel type de données sauf le -- <?xml version="1.0" encoding="ISO "?> <!-- ceci est correct --> <elt> un peu de texte <!-- ceci est correct --> </elt> Extensible Markup Language
25
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Introduction Document XML est une structure logique arborescente. Cette arborescence d'éléments comporte : une racine (unique) des branches et des feuilles. Éléments choisis en fonction du type de document Livre Cuisine, Plat, Recette, Ingrédient, Temps, Préparation, Étape, etc. Roman, Auteur, Titre, Année, etc. Donner un exemple de correspondance arbre et fichier xml. <?xml version="1.0" encoding="ISO "?> <biblio> <livre> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> </livre> <titre> L'Assommoir </titre> <auteur> Émile Zola </auteur> </biblio> Extensible Markup Language
26
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Introduction Contenu structuré en éléments qualifiés par des attributs avec des valeurs Élément : paire de balises (tags) et son contenu : <chapitre>... </chapitre> Les balises ouvrantes portent les attributs : <chapitre version="provisoire" date="16/06/03"> Eléments terminaux : vides ou chaînes de caractères L’imbrication et l’ordre des éléments reflètent la structure Chaque élément se compose d'un balise d'ouverture, d'un contenu d'élément, et d'une balise de clôture. Certains éléments peuvent avoir des attributs. Extensible Markup Language
27
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les éléments Elément racine : Base du document XML Unique et englobe tous les autres éléments Les éléments : Forment la structure du document « Éléments enfants » « élément parent » <?xml version="1.0" encoding="ISO "?> <biblio> <livre> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> </livre> <titre> L'Assommoir </titre> <auteur> Émile Zola </auteur> </biblio> Extensible Markup Language
28
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les éléments Elément sans contenu : Élément sans contenu = élément vide. Peut s’écrire avec une balise ouvrante terminée par la chaîne "/>" <achat date="08/06/2001"/> <?xml version="1.0" encoding="ISO "?> <biblio> <livre> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> </livre> <titre> L'Assommoir </titre> <auteur> Émile Zola </auteur> <couverture couleur="rouge" /> </biblio> Extensible Markup Language
29
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les attributs Un attribut : Sert à préciser l’élément et son contenu (langue,...) Possède un nom et une valeur obligatoirement spécifiée. Est porté par la balise ouvrante de l’élément Dans un élément 0 à n attributs non ordonnés Chaque attribut ne peut apparaître qu’une fois Certains attributs sont prédéfinis xml :lang, xml :space, xmlns <instrument type="vent"> Trompette </instrument> Extensible Markup Language
30
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les attributs particuliers Identificateurs et références Attribut prédéfinis permettant des relations non hiérarchiques dans la structure du document : ID : identificateur unique dans le document (ex : ref) IDREF : référence à un élément portant un attribut de type ID (ex : item) <Para> gna gna gna comme vous pouvez le voir <Livre item="MOL1999"/> en fin d'ouvrage ... gna gna gna </Para> ... <livre lang="en" ref="MOL1999"> <titre> Le titre </titre> <auteur> Émile Mol </auteur> <couverture couleur="rouge" /> </livre> Extensible Markup Language
31
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les entités Substituts pour des séquences d’information. Définies dans l’en-tête du document ou dans la DTD Peuvent être référencées à plusieurs reprises Appel avec la syntaxe &nom_entite ; Exemple : Il fait 25° ;C. Permet d’afficher 25 ̊C Caractères ambigus -> Entités prédéfinies : < ; pour le caractère < (lighter) > ; pour le caractère > (greater) & ; pour le caractère & (ampersand) " ; pour le caractère ” (quotation mark) &apos ; pour le caractère ’ (apostrophe) Extensible Markup Language
32
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les entités Substituts pour des séquences d’information. Définies dans l’en-tête du document ou dans la DTD Peuvent être référencées à plusieurs reprises Appel avec la syntaxe &nom_entite ; Exemple : Il fait 25° ;C. Permet d’afficher 25 ̊C Lettres accentuées et alphabets latins : entités numériques du type &#code_car ; (code_car = code ISO) Exemple : A ; code l’entité numérique pour le caractère A. 65 est le code ascii de A. Extensible Markup Language
33
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Les sections CDATA Section CDATA : < ![CDATA[ ... ]]> Données que le processeur XML n’interprétera pas. Contient toutes sortes de chaîne de caractères. Passer des caractères réservés à une application. Echapper un fragment de texte entier Exemple d'utilisation de CDATA : <instrument type="vent"> Trompette </instrument> <![CDATA[Une balise commence par un < et se termine par un >.]]> Extensible Markup Language
34
Extensible Markup Language
3 - Présentation du XML 3.4 Document XML : Règles de composition Balises ouvrante et fermante doivent correspondre : Imbrication correcte (pas de chevauchement) : Casse importante : <titre> différent de <TITRE> Nom d’élément : ne peut pas commencer par un chiffre Ne peut comporter que des chiffres, des lettres, des traits d’union, des points, des double points ou des soulignés. <titre> ... </titre> <livre> .. <titre> ... </titre> .. </livre> Extensible Markup Language
35
Extensible Markup Language
3 - Présentation du XML Exemple <?xml version="1.0" encoding="ISO "?> <biblio> <livre> <!-- Élément enfant titre --> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> <nb_tomes> 3 </nb_tomes> </livre> <titre> L'Assommoir </titre> <auteur> Émile Zola </auteur> <couverture couleur="rouge" /> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> <nb_tomes>3</nb_tomes> </biblio> Extensible Markup Language
36
Extensible Markup Language
Exercices Exercice 1 du TD1 Création d'un fichier XML 2 énoncés... Extensible Markup Language
37
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
38
Extensible Markup Language
4 - La galaxie XML 4.1 La galaxie XML XML n'est pas une fin mais un moyen. La galaxie XML correspond à tous les langages qui gravitent autour de l'XML Différents types de langage Orbite basse Dialectes XML Manipulation des documents XML Orbite éloignée CML : utilisé pour décrire des composés chimiques SVG : pour le dessin vectoriel en 2D. Extensible Markup Language
39
Extensible Markup Language
4 - La galaxie XML 4.1 La galaxie XML Langages à orbite basse : Manipulation de fichier XML DOM, SAX Transformation de fichier XML Xslt Décrire leur contenu DTD, schéma XML Mettre en forme CSS Extensible Markup Language
40
Extensible Markup Language
4 - La galaxie XML 4.2 Manipulation des documents XML Edition de fichier XML Notepad, vi, Xmlspy (Windows) Transformation XSL XSLT editor Vérification et validation de fichier XML rxp, xmlwf, xmlstarlet, libmxl2 et xmllint De nombreux outils sont installés en standard (serveurs Web de type Apache) Modules et bibliothèques sont disponibles pour java, perl et c++ Extensible Markup Language
41
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
42
5 - Document Type Definition
5.1 DTD : Introduction Les DTD et les schémas XML ont les mêmes buts : donner des règles d'écriture d'un document XML spécifique. Objectifs : Rajouter des contraintes sur les éléments autorisés, les valeurs possibles d'un attribut, leur ordre d'apparition. Exemple DTD de XHTML L'élément <ul> ne peut contenir que des <li> l'élement <title> ne peut se trouver qu'une fois dans <body> Extensible Markup Language
43
5 - Document Type Definition
5.1 DTD : Introduction Les DTD et les schémas XML ont les mêmes buts : donner des règles d'écriture d'un document XML spécifique. DTD : Document Type Definition pas assez puissant, ne gèrent pas les namespace (espaces de noms), Schémas XML plusieurs XML Schéma dont un promu par le W3C, permet le typage des données "la balise <age> doit être compris entre 0 et 123" la gestion des namespace Extensible Markup Language
44
5 - Document Type Definition
5.1 DTD : Introduction La DTD donne la grammaire de l’application XML et définit Les éléments types Les noms de balises autorisés L’ordre autorisé pour les balises Quels éléments peuvent contenir quels éléments Quels éléments sont optionnels les attributs pour chaque élément Noms des attributs autorisés, obligatoires / optionnels, leur type, valeur par défaut, etc. Extensible Markup Language
45
5 - Document Type Definition
5.1 DTD : Introduction La DTD donne la grammaire de l’application XML et définit les entités binaires ou textuelles pouvant être incluses dans un document (Par exemple les caractères non ASCII) les notations qui servent à identifier les types spécifiques de données externes binaires. Rappel DTD pas nécessaire pour afficher le document XML mais obligatoire pour l’interpréter. Extensible Markup Language
46
5 - Document Type Definition
5.2 DTD : Déclarations de DTD DTD Interne, incorporée au document XML DTD Externe, dans un autre fichier Privée/Système (accès en local vers un fichier .dtd) Publique (accès via une URI (Uniform Resource Identifier)) Combinaison Une partie de DTD interne et une partie SYSTEM Une partie de DTD interne et une partie PUBLIC <!DOCTYPE racine [...declaration...]> <!DOCTYPE racine SYSTEM "biblio.dtd" > <!DOCTYPE racine PUBLIC "nom_connu" "URL" > Extensible Markup Language
47
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (interne) Pas de recherche de DTD externe Déclaration de la DTDdans le prologue du fichier XML Déclarations spécifiques au document : Entités spécifiques graphiques, Attributs et entités supplémentaires servant uniquement au document le définissant. < ?xml version="1.0" standalone="yes"> < !DOCTYPE racine [<!-- sous-ensemble DTD internes -->]> <racine> ... </racine> Extensible Markup Language
48
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (interne) Pas de recherche de DTD externe Déclaration de la DTDdans le prologue du fichier XML Permet de modifier localement le document. Priorité sur le sous-ensemble externe, Pas d’effet sur les autres documents. < ?xml version="1.0" standalone="yes"> < !DOCTYPE racine [<!-- sous-ensemble DTD internes -->]> <racine> ... </racine> Extensible Markup Language
49
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (externe) La DTD n'est pas dans le fichier XML, soit Déclarations générales Majorité des déclarations des éléments, des attributs, Les déclarations d'entités dont chaque document peut avoir besoin. Appliquer à plusieurs documents 2 cas : DTD externe privée : mot-clef SYSTEM DTD externe public : mot-clef PUBLIC < ?xml version="1.0" standalone="no"> Extensible Markup Language
50
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (externe:SYSTEM) Le mot-clef SYSTEM est utilisé pour donner l’adresse du fichier qui contient la DTD. Exemple < !DOCTYPE racine SYSTEM "url"> <!DOCTYPE racine SYSTEM "http :// <!ELEMENT biblio (livre*)> <!ELEMENT livre (titre, auteur, nb_pages)> <!ATTLIST livre type (roman | nouvelles | poemes | théâtre) #IMPLIED lang CDATA "fr" > <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT nb_pages (#PCDATA)> Extensible Markup Language
51
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (externe:PUBLIC) Le mot-clef PUBLIC est utilisé pour donner l’adresse du fichier qui contient la DTD. DTD norme ou enregistrée comme norme ISO. identifiant_public : (var séparées par //) type_enregistrement : (selon la norme ISO 9070 (signe +) sinon (signe - ) car pas officiel propriétaire : nom du propriétaire langue : code de langue ISO 639. url non obligatoire mais conseillée. < !DOCTYPE racine PUBLIC "identifiant_public" "url"> Extensible Markup Language
52
5 - Document Type Definition
5.2 DTD : Déclarations de DTD (externe:PUBLIC) Le mot-clef PUBLIC est utilisé pour donner l’adresse du fichier qui contient la DTD. DTD norme ou enregistrée comme norme ISO. Exemple <!DOCTYPE racine PUBLIC "identifiant_public" "url"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " Extensible Markup Language
53
5 - Document Type Definition
5.3 DTD : Déclarations d'éléments Rappel : élément permet de structurer le document (par exemple livre est un élément d’un document bibliothèque). Une déclaration d'élément est de la forme : nom est le nom de l'élément type_element est le type auquel il est associé. Un élément peut être de type texte, vide, séquence ou choix d'élément. <!ELEMENT nom type_element> Extensible Markup Language
54
5 - Document Type Definition
5.3 DTD : Déclarations d'éléments Élément texte Un élément vide est un un élément qui n'a aucun contenu (comme les éléments MG, HR, BR de HTML) Un élément libre peut contenir tout élément déclaré dans la DTD et du texte. Contenu mixte. Il peut contenir aussi bien du texte que des éléments- enfants. <!ELEMENT elt (#PCDATA)> <!ELEMENT elt EMPTY> <!ELEMENT elt ANY> <!ELEMENT elt (#PCDATA | elt1> Extensible Markup Language
55
5 - Document Type Definition
5.3 DTD : Déclarations d'éléments Une séquence d'éléments est une liste ordonnée des éléments qui doivent apparaître en tant qu'éléments-enfants de l'élément que l'on est en train de définir. Exemples <!ELEMENT elt0 (elt1, elt2, elt3)> <elt0> <!-- OK --> <elt1> (...) </elt1> <elt2> (...) </elt2> <elt3> (...) </elt3> </elt0> <elt0> <!--non valide--> <elt1> (...) </elt1> <elt3> (...) </elt3> </elt0> <elt0> <!--non valide--> <elt1> (...) </elt1> <elt3> (...) </elt3> <elt2> (...) </elt2> </elt0> Extensible Markup Language
56
5 - Document Type Definition
5.3 DTD : Déclarations d'éléments Un choix d'élément donne... le choix dans une liste de plusieurs éléments possibles. Exemples du choix d'élément <!ELEMENT elt0 (elt1 | elt2 | elt3)> <elt0> <!--non valide--> <elt2> (...) </elt2> <elt3> (...) </elt3> </elt0> <elt0> <!-- OK --> <elt2> (...) </elt2> </elt0> Extensible Markup Language
57
5 - Document Type Definition
5.3 DTD : Déclarations d'éléments Indicateurs d'occurence. à chaque élément enfant peut être attribuée une indication d'occurence (?, + ou *) elt1 : aucune indication d'occurence. Il doit donc apparaître une seule et unique fois dans l'élément elt0, elt2? : l'élément doit apparaître au maximum une fois, voire pas du tout elt3+ : l'élément doit apparaître au moins une fois, elt4* : l'élément peut apparaître autant de fois que l'auteur le désire, voire pas du tout <!ELEMENT elt0 (elt1, elt2?, elt3+, elt4*)> Extensible Markup Language
58
5 - Document Type Definition
5.4 DTD : Déclarations d'attributs Naturellement, la DTD permet de définir des contraintes sur les attributs des éléments. déclarer et attacher à un élément donné chaque attribut séparément, les réunir sous la forme d'une liste (préférable car plus lisible). Chaque attribut défini dans la liste possède un nom et un type Possibilité de lui donner une valeur par défaut Ou spécifier l'attribut obligatoire Syntaxe <!ATTLIST elt_cible nom_attribut type_attribut valeur_par_defaut> Extensible Markup Language
59
5 - Document Type Definition
5.4 DTD : Déclarations d'attributs Un attribut possède Un nom, Un type, Une valeur par défaut (facultative) ou un mot clé de remplacement : #REQUIRED : valeur d’attribut doit être spécifiée #IMPLIED : valeur d’attribut peut rester non spécifiée #FIXED ’val’ : valeur de l’attribut fixée à "val" et non modifiable par l’utilisateur <!ATTLIST achat date CDATA "01/01/1900"> <!ATTLIST achat date CDATA #IMPLIED> Extensible Markup Language
60
5 - Document Type Definition
5.4 DTD : Déclarations d'attributs Extensible Markup Language
61
5 - Document Type Definition
5.4 DTD : Déclarations d'attributs CDATA : chaîne de caractère Enumérations de valeurs possibles ( séparation par | ) ID : Identificateur unique d'éléments. La valeur de l’attribut distingue l’élément de tous les autres dans le document XML courant. IDREF et IDREFS permet à une valeur d’attribut de faire référence à un ou plusieurs identificateurs (ID) d’un autre élément. <!ATTLIST achat lieu CDATA #IMPLIED> <!ATTLIST titre genre (SF | Historique | Enfants | Fantastique) #IMPLIED> <!ATTLIST elt nom ID> <!ATTLIST elt nom IDREF> <!ATTLIST elt nom IDREFS> Extensible Markup Language
62
5 - Document Type Definition
5.4 DTD : Déclarations d'attributs ENTITY & ENTITIES : noms d’entités (séparées par des blancs), déclarées dans la DTD. NMTOKEN et NMTOKENS : noms (listes de noms) symboliques tel qu’un format de date, un format de fichier ou encore une abréviationérations de valeurs possibles ( séparation par | ) NOTATION : l’attribut attend une notation qui apparaît dans la DTD dans une déclaration NOTATION [<!-- dans le XML -->] <album source ="image1 image2 imageN"> <!ENTITY img1 SYSTEM "http :// <!ENTITY img2 SYSTEM "http :// <!ENTITY imgN SYSTEM "http :// <!ATTLIST album source ENTITIES #REQUIRED> <!ATTLIST image type NOTATION(GIF | JPEG | PNG)"PNG"> Extensible Markup Language
63
5 - Document Type Definition
5.5 DTD : Les entités Entités permettent : De définir des alias D’utiliser des caractères réservés dans le document XML et dans la DTD. Il existe plusieurs formats d’entités : Générales, Paramétriques Caractères. Les entités peuvent être interne ou externe. La définition d’une entité peut éventuellement faire référence à d’autres entités la substitution s’effectue de proche en proche. Extensible Markup Language
64
5 - Document Type Definition
5.5 DTD : Les entités générales Entités générales internes sont des symboles utilisés comme raccourcis d’écriture Définis complètement dans la DTD et appelés uniquement dans le document XML L’appel de l’entité dans le document XML se fait par l’appel &nom ; Chaîne automatiquement remplacée lors du traitement par sa valeur "chaîne_de_remplacement". Entité général externe : le symbole est définit dans un autre fichier. Déclarées par le mot clef SYSTEM suivi de l’adresse du fichier contenant la déclaration d’entité. <!ENTITY nom "chaîne de remplacement"> <!ENTITY nom SYSTEM "URI"> Extensible Markup Language
65
5 - Document Type Definition
5.5 DTD : Les entités paramétriques Entités paramétriques internes sont des entités analysables Définies complètement dans la DTD et appelés uniquement dans la DTD, La déclaration se fait avec un % devant le nom, L’appel de l’entité dans le document XML se fait par l’appel %nom. Entité paramétrique externe : le symbole est définit dans un autre fichier. Permettent de construire une DTD complexe et volumineuse à partir de plusieurs autres DTD complémentaires. <!ENTITY % nom "chaîne de remplacement"> <!ENTITY % nom SYSTEM "URI"> Extensible Markup Language
66
5 - Document Type Definition
5.5 DTD : Les entités caractères Permettent de nommer facilement des caractères non représentables dans l’alphabet utilisé ou non disponibles au clavier Définies dans la DTD, Appelés dans le document XML par la notation &nom, Rappel : &, <, >, ”, ’, sont déjà prédéfinis dans la DTD. <!ENTITY eacute "é"> [<!-- permet d'écrire le caratère "é" via l'appel eacute -->] Extensible Markup Language
67
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
68
6 - Analyse des documents
6.1 Documents bien formés | valides Si un document n’a pas de DTD et qu’il suit les règles définies par XML il est bien formé. Si il est bien formé et qu’il fait référence à une DTD à laquelle il est conforme, il est dit valide. Dès qu’il rencontre une erreur, le processeur XML s’arrête Définit les éléments et les règles d’utilisation (noms des éléments, attributs possibles pour un élément, imbrications).. DTD Document Type Definition Extensible Markup Language
69
Extensible Markup Language
Exercices Exercice 2 du TD1 Manipulation des DTD Modificationd'une DTD Exercice 3 du TD1 Création d'une mise en page XSLT Modification de la mise en page Exercice 4 Extensible Markup Language
70
Plan du cours I. Introduction IV. La galaxie XML 1. Galaxie XML
2. Manipulation des doc. XML II. Origines du XML 1. Introduction 2. Norme SGML 3. Le HTML 4. De SGML vers XML V. Document Type Definition 1. Introduction 2. Déclaration de DTD 3. Déclaration d'élément 4. Déclaration d'attribut 5. Déclaration d'entité III. Présentation du XML 1. Généralités 2. Le prologue 3. Commentaires 4. Document XML (Règles) VI. Documents bien formés|valides
71
Extensible Markup Language
(2) Les origines du XML Version simplifiée SGML Standard Generalized Markup Language XML Extensible Markup Language Application Application expériences HTML HyperText Markup Language XHTML Extensible HyperText Markup Language Reformulation PHP Extensible Markup Language
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.