La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

eXtensible Markup Language

Présentations similaires


Présentation au sujet: "eXtensible Markup Language"— Transcription de la présentation:

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&deg ;C. Permet d’afficher 25 ̊C Caractères ambigus -> Entités prédéfinies : &lt ; pour le caractère < (lighter) &gt ; pour le caractère > (greater) &amp ; pour le caractère & (ampersand) &quot ; 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&deg ;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 : &#65 ; 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 "&#233"> [<!-- 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


Télécharger ppt "eXtensible Markup Language"

Présentations similaires


Annonces Google