CHAPITRE 4 DE BD AVANCÉES XML -DTD

Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Gestion Électronique de Documents et XML. Master 2 TSM

XML : documents et outils

SII Stage d informatique pour l ingénieur

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

<?xml version="1.0" encoding="iso " standalone="yes"?>

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

L'essentiel de XML. Cours XML. Olivier Carton

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Programmation Web TP1 - HTML

NFE204 Bases de données avancées

Les outils de création de sites web

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

XML et Bases de données. Les bases de données XML natives.

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Programmation Internet Cours 4

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Spécifications techniques et fonctionnelles du multi-années pour les noms de domaine en.fr

v7.1 SP2 Guide des Nouveautés

Document Object Model (DOM)

Formation : WEbMaster

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

XML et recherche d information

BD et XML : Exercices

Bases de Données. Plan

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Rappel sur les bases de données

Les architectures 3-tiers Partie I : les applications WEB

Formation HTML / CSS. ar dionoea

Master I Génie Logiciel

les techniques d'extraction, les formulaires et intégration dans un site WEB

XML et Java Vue Balisée en XML. Programmation avancée NFP 121. XML pourquoi faire? Structuration des données. Titre Auteur Section Paragraphe

Adobe Technical Communication Suite 5

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Systèmes d'informations historique et mutations

Couches 4 à 7 : Traitement des données

Tutoriel : Feuille de style externe

02/02/2011. test 1. Communication visuelle & web. Pao. Principes fondamentaux. Les six principes de base. La mise en page. Module sur trois journées

Informatique : Création de site Web Master 2 ANI TP 1

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

BASE DE DONNÉES XML NATIVE

XML et travail collaboratif : vers un Web sémantique

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Master Technologies numériques appliquées à l'histoire Deuxième année

PROJET Site Drupal Informationsgeographiques.onema.fr

Bases de données - Modèle relationnel

Bibliothèque numérique de l enssib

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

OASIS Date de publication

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Projet Gestion des Formats de Fichier

Liste des Technologies

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Optimiser moteur recherche

BES WEBDEVELOPER ACTIVITÉ RÔLE

Information utiles. webpage : Google+ : digiusto/

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Module http MMS AllMySMS.com Manuel d intégration

Initiation à html et à la création d'un site web

7.0 Guide de la solution Portable sans fil

SQL Parser XML Xquery : Approche de détection des injections SQL

Les services usuels de l Internet

Module : programmation site Web dynamique Naviguer entre les pages via site map

Installation de DocBook sur un système Linux

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Bernard Lecomte. Débuter avec HTML

From supply chain to demand chain

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Petite définition : Présentation :

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Les types de fichiers

STID 2ème année : TP Web/PHP

Pack Fifty+ Normes Techniques 2013

Devenez un véritable développeur web en 3 mois!

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Fichiers, dossiers, enregistrer et arborescence

Les bases de données

Bases de données avancées Introduction

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

PROSOP : un système de gestion de bases de données prosopographiques

BASE DE DONNÉES XML NATIVE

HTML/CSS - Travaux Pratiques 2

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Module BD et sites WEB

Mercredi 15 Janvier 2014

Transcription:

CHAPITRE 4 DE BD AVANCÉES XML -DTD IUT Dijon IQ S3 2016/2017

1. Introduction 2 XML - Extensible Markup Language est une norme pour représenter et échanger des données est un document texte avec des balises peut être vu comme un modèle de données, i.e. une alternative au modèle relationnel Intérêts d'xml documents XML faciles à créer et compléter, il suffit d'un éditeur texte structure du document flexible standard ouvert, utilisé dans de nombreux domaines : Édition (DocBook), Graphisme (SVG), Mathématiques (MathML), Musique (partition MusicML), etc...

1. Introduction 3 Structure d'un document XML <?xml version="1.0" encoding="utf-8"?> <!--Exemple CM5 sans DTD--> <Bibliotheque> <Livre ISBN="ISBN-2212135602" Prix="32"> <Titre>Les bases de données NoSQL</Titre> <Auteurs> <Auteur> <Prenom>Rudi</Prenom> <Nom>Bruchez</Nom> </Auteur> </Auteurs> </Livre> <Livre ISBN="ISBN-2711786749" Prix="169" Editeur="Vuibert"> <Remarque> Prix liés à la rareté du livre - vendeur professionel </Remarque> <Titre>Ingénierie des systèmes d'information Merise </Titre> <Auteurs> <Auteur> <Prenom>Dominique</Prenom> <Nom>Nanci</Nom> </Auteur> <Auteur> <Prenom>Bernard</Prenom> <Nom>Espinasse</Nom> </Auteur> </Auteurs> </Livre> </Bibliotheque> Un doc. XML est composé de un prologue commentaires ensemble d'éléments imbriqués Éléments (balises) Attributs Texte

1. Introduction 4 Points communs entre XML et HTML 2 langages issus de SGML (StandardizedGeneralisedMarkupLanguage) utilisé pour la gestion électronique des documents Mode texte, indépendant de la plateforme et fonctionnent avec des balises [Markup Language] Différences entre XML et HTML Contrairement à XML, les balises sont prédéfinies et donc figées en HTML XML décrit le contenu des données vs HTML décrit la présentation des données <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!--Exemple CM5 sans DTD--> <Bibliotheque> <Livre ISBN="ISBN-2212135602" Prix="32"> <Titre> Les bases de données NoSQL </Titre> <Auteurs> <Auteur> <Prenom>Rudi</Prenom> <Nom>Bruchez</Nom> </Auteur> </Auteurs> </Livre> </Bibliotheque> <html> <head><title>livres</title></head> <body> <h1> Livre </h1> <em>les bases de données NoSQL</em> <b>rudi Bruchez</b> <br/> </body> </html>

1. Introduction 5 Modèle relationnel vs. XML Lorsqu'on conçoit une application qui gère des données persistantes, on peut choisir d'utiliser une BD relationnelle ou des fichiers XML. Modèle relationnel XML Structure Tables Hiérarchie - Arbre

1. Introduction 6 Modèle relationnel vs. XML Lorsqu'on conçoit une application qui gère des données persistantes, on peut choisir d'utiliser une BD relationnelle ou des fichiers XML. Modèle relationnel XML Structure Tables Hiérarchie - Arbre Schéma Fixé lors de la conception Flexible T_PERSONNE(Nom, Age, Sexe) T_PIZZERIA(Pizzeria, Ville) T_CATEGORIE(CodeCategorie, Categorie) T_PIZZA(Pizza, #CodeCategorie) T_FREQUENTE(#Nom, #Pizzeria) T_MANGE(#Nom, #Pizza) T_SERT(#Pizzeria, #Pizza, Prix) <Book ISBN="ISBN-2212135602" Price="32"> <Author> Bruchez </Author> </Book> <Book ISBN="ISBN-2711786749" Price="169" Editor="Vuibert"> <Remark> Prix liés à la rareté du livre </Remark> <Author> Nanci </Author> <Author> Espinasse </Author> </Book> Livre 2 n'a pas d'attribut Editor Livre 1 n'a pas de balise Remark Livre 2 a deux auteurs

1. Introduction 7 Modèle relationnel vs. XML Lorsqu'on conçoit une application qui gère des données persistantes, on peut choisir d'utiliser une BD relationnelle ou des fichiers XML. Modèle relationnel XML Structure Tables Hiérarchie - Arbre Introduction Schéma Fixé lors de la conception Flexible Requêtes SQL : Simple, puissant, basé sur l algèbre relationnelle XPath, XQuery, etc. : moins efficace et plus complexe à mettre en œuvre

1. Introduction 8 Modèle relationnel vs. XML Lorsqu'on conçoit une application qui gère des données persistantes, on peut choisir d'utiliser une BD relationnelle ou des fichiers XML. Modèle relationnel XML Structure Tables Hiérarchie - Arbre Schéma Fixé lors de la conception Flexible Requêtes Ordre SQL : Simple, puissant, basé sur l algèbre relationnelle Modèle ensembliste : pas d'ordre (même si ~ ORDER BY) XPath, XQuery, etc. : moins efficace et plus complexe à mettre en oeuvre Ordre implicite <Book ISBN="ISBN-2212135602" Price="32"> <Author> Bruchez </Author> </Book> <Book ISBN="ISBN-2711786749" Price="169" Editor="Vuibert"> <Remark> Prix liés à la rareté du livre </Remark> <Author> Nanci </Author> <Author> Espinasse </Author> </Book> L'auteur Nanci arrive avant Espinasse dans le document XML

1. Introduction 9 Modèle relationnel vs. XML Exemple 1 : Vous concevez une BD pour l'iut de Dijon : liste d'étudiants, de cours, notes, enseignants, etc... XML ou modèle relationnel? Structure simple, fixée en avance modèle relagonnel bien adapté Exemple 2 : Vous concevez une BD pour contenir les infos pour le site web de l'iut de Dijon : news, admissions, événements. XML ou modèle relationnel? La BD a une structure complexe, dynamique et imprévisible XML bien adapté Exemple 3 : Vous concevez une BD pour contenir l'arbre généalogique de la famille royale du Royaume-Uni. XML ou modèle relationnel? BD a une structure fixe modèle relagonnel BD a une structure hiérarchique XML.

1. Introduction 10 Affichage d'un document XML Texte brut Utilisation de langages basés sur des règles pour traduire les doc XML en HTML. Cascading StyleSheets(CSS) Ou Extensible StyleSheet Language(XSL) XML XSL / CSS <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!--Exemple CM5 sans DTD--> <Bibliotheque> <Livre ISBN="ISBN-2212135602" Prix="32"> <Titre> Les bases de données NoSQL </Titre> <Auteurs> <Auteur> <Prenom>Rudi</Prenom> <Nom>Bruchez</Nom> </Auteur> </Auteurs> </Livre> </Bibliotheque> Interpréteur XSL / CSS HTML

2.XML bien formé et valide 11 Un document XML est bien formé si : Une seule balise racine Les attributs des balises sont uniques Par exemple <balise attr="val"> Les guillemets sont obligatoires, les attributs ne sont pas répétés dans la balise fermante. Toutes les balises ouvertes doivent être fermées et imbrication correcte. Par exemple <balise>contenu</balise>; ou <balise /> L'ordre de fermeture des balises est important : la première ouverte est toujours la dernière fermée.

2.XML bien formé et valide 12 Un document XML est bien formé si : Une seule balise racine Les attributs des balises sont uniques Toutes les balises ouvertes doivent être fermées et imbrication correcte. Un ParserXML permet de parcourir un doc XML et de vérifier s'il est bien formé. Parser = Parseur = Analyseur syntaxique Document XML Parser XML Parsed XML Doc n est pas bien formé

2.XML bien formé et valide 13 Un document XML est validesi Il est bien formé (structure du document) Il respecte des spécifications sur son contenu Document Type Descriptor(DTD) XML Schema(XSD) DTD ou XSD Document XML Parser XML Parsed XML Doc n est pas valide

3. Document Type Descriptor(DTD) 14 DTD est un langage qui permet de spécifier les balises requises, les attributs des balises, l'imbrication des balises, l'ordre des éléments, le nombre d'occurrence des éléments... des attributs spéciaux : ID et IDRef. <!ELEMENT Bookstore (Book Magazine)*> <!ELEMENT Book (Title, Authors, Remark?)> <!ATTLIST Book ISBN CDATA #REQUIRED Price CDATA #REQUIRED Editor CDATA #IMPLIED> <!ELEMENT Magazine (Title)> <!ATTLIST Magazine Month CDATA #REQUIRED Year CDATA #REQUIRED> <!ELEMENT Title (#PCDATA)> <!ELEMENT Authors (Author+)> <!ELEMENT Remark (#PCDATA)> <!ELEMENT Author (First_Name, Last_Name)> <!ELEMENT First_Name (#PCDATA)> <!ELEMENT Last_Name (#PCDATA)>

3. Document Type Descriptor(DTD) 15 Avantages d'utiliser DTD/XSD Les programmes utilisant le doc XML connaissent la structure du document (plus simple à coder) CSS/XSL connaissent la structure du document (règles plus simples) Peut être utilisé comme une spécification pour échanger des données Avantages de pas utiliser DTD/XSD Flexibilité, plus facile de mettre à jour Un peu laborieux d'écrire DTD/XSD

3. Document Type Descriptor(DTD) 16 Lier un fichier XML à une DTD DTD interne La DTD est inclue au début du fichier XML <?xml version="1.0" encoding="utf-8"?> <!--Exemple de fichier XML avec une DTD interne--> <!DOCTYPE Bookstore [... ]> <Bookstore> <!--... --> </Bookstore> DTD externe On fait référence à un fichier qui contient la DTD dans le fichier XML <?xml version="1.0" encoding="utf-8" standalone="no"?> <!--Exemple de fichier XML avec une DTD externe--> <!DOCTYPE Bookstore SYSTEM "nomfichierdtd.dtd" > <Bookstore> <!--... --> </Bookstore>

3. Document Type Descriptor(DTD) 17 Définition des éléments (balises) et de leurs contenus <!ELEMENT nombalise desccontenu> Le nom des éléments doivent être des noms XML : le premier caractère est une lettre quelconque ou un «_» Balise avec du texte : <!ELEMENT elt0 (#PCDATA)> Balise avec des sous-éléments : <!ELEMENT elt0 (elt1,elt2, elt3)> L'ordre est important <elt0> <elt1> ( ) </elt1> <elt2> ( ) </elt2> <elt3> ( ) </elt3> </elt0> <elt0> <elt1> ( ) </elt1> <elt3> ( ) </elt3> <elt2> ( ) </elt2> </elt0> <elt0> <elt1> ( ) </elt1> <elt2> ( ) </elt2> </elt0> Il est possible de moduler le nombre d'apparitions des sous-éléments avec "?": 0 ou 1 fois ;"*": 0, 1 ou plus ;"+": 1 ou plus. <!ELEMENT elt0 (elt1+)> <!ELEMENT elt0 (elt1+,elt2?,elt3)> Balise avec des alternatives : <!ELEMENT elt0 (elt1 elt2)> <!ELEMENT elt0 (elt1 elt2)*>

3. Document Type Descriptor(DTD) 18 Définition des éléments (balises) et de leurs contenus Exemple <!ELEMENT elt0 (elt1* elt2* elt3*)> <elt0> <elt2> ( ) </elt2> <elt2> ( ) </elt2> </elt0> <elt0> <elt3> ( ) </elt3> <elt2> ( ) </elt2> </elt0> <!ELEMENT elt0 (elt1 elt2 elt3)*> <elt0> <elt2> ( ) </elt2> <elt3> ( ) </elt3> <elt1> ( ) </elt1> </elt0> Balise avec des contenus mixtes : <!ELEMENT elt0 (#PCDATA elt1 elt2)*> Balise sans contenu : <!ELEMENT mabalisevide EMPTY> Balise avec éléments quelconques : <!ELEMENT mabalise ANY> <elt0> Blabla <elt1> Texte </elt1> Blabla <elt2> Texte </elt2> </elt0>

3. Document Type Descriptor(DTD) 19 Définition des attributs <!ATTLIST nom_balise attribut1 CDATA #REQUIRED attribut2 CDATA #IMPLIED > Le nom des attributs doivent être des noms XML : le premier caractère est une lettre quelconque ou un "_" attribut1 est obligatoire (#REQUIRED ) alors que attribut2 est optionnel (#IMPLIED). Les attributs peuvent avoir plusieurs types, le plus courant est CDATA On peut déclarer un attribut avec une valeur par défaut <!ATTLIST elt attr CDATA "valeur"> Exemple <!ATTLIST Book ISBN CDATA #REQUIRED Price CDATA "0" Editor CDATA #IMPLIED>

3. Document Type Descriptor(DTD) 20 Définition des attributs Les types des attributs CDATA : Chaîne de caractères NMTOKEN : un nom XML mais sans restriction sur le premier caractère. Il ne peut pas contenir d'espace. <!ATTLIST ville nom CDATA #REQUIRED code NMTOKEN #REQUIRED> NMTOKENS : Une suite de NMTOKEN, séparés par des espaces Enumération : On peut définir une liste de valeurs possibles pour un attribut <!ATTLIST img format (GIF JPEG PNG) "PNG">

3. Document Type Descriptor(DTD) 21 Définition des attributs Les types des attributs ID :nom XML qui identifie de manière unique l'élément. Notion similaire à une clé primaire dans le modèle relationnel. L'ID ne peut être un nombre car c'est un nom XML. IDREF : Contient un ID. IDREFS : Une suite de IDREF séparée par des espaces. <!ELEMENT book (section)*> <!ELEMENT section (#PCDATA ref)*> <!ATTLIST section att_id ID #IMPLIED> <!ELEMENT ref EMPTY> <!ATTLIST ref att_idref IDREF #REQUIRED> <book> <section att_id="sec0"> Une référence <ref att_idref="sec1"/> à une section </section> <section att_id="sec1"> Du texte sans référence </section> <section att_id="sec2"> Une référence <ref att_idref ="sec2"/></section> </book>

3. Document Type Descriptor(DTD) 22 Exemple de DTD avec le fichier XML correspondant <?xml version="1.0" encoding="utf-8" standalone="no"?> <!--Exemple CM DTD--> <!DOCTYPE Bookstore SYSTEM "Exemple1_CMDTD.dtd" > <Bookstore> <Book ISBN="ISBN-2212135602" Price="32"> <Title> Les bases de données NoSQL </Title> <Authors> <Author> <First_Name>Rudi</First_Name> <Last_Name>Bruchez</Last_Name> </Author> </Authors> </Book> <Book ISBN="ISBN-2711786749" Price="169" Editor="Vuibert"> <Title>Ingénierie des systèmes d'information Merise </Title> <Authors> <Author> <First_Name>Dominique</First_Name> <Last_Name>Nanci</Last_Name> </Author> <Author> <First_Name>Bernard</First_Name> <Last_Name>Espinasse</Last_Name> </Author> </Authors> <Remark> Prix liés à la rareté du livre - vendeur professionel </Remark> </Book> </Bookstore> <!ELEMENT Bookstore (Book)*> <!ELEMENT Book (Title, Authors, Remark?)> <!ATTLIST Book ISBN CDATA #REQUIRED Price CDATA #REQUIRED Editor CDATA #IMPLIED> <!ELEMENT Title (#PCDATA)> <!ELEMENT Authors (Author+)> <!ELEMENT Remark (#PCDATA)> <!ELEMENT Author (First_Name, Last_Name)> <!ELEMENT First_Name (#PCDATA)> <!ELEMENT Last_Name (#PCDATA)> Exemple1_CMDTD.dtd Exemple1_CMDTD.xml

3. Document Type Descriptor(DTD) 23 Exemple de DTD avec utilisation des ID et IDREFs <?xml version="1.0" encoding="utf-8" standalone="no"?> <!--Exemple CM DTD--> <!DOCTYPE Bookstore SYSTEM "ExempleCM5DTD.dtd" > <Bookstore> <Book ISBN="ISBN-2212135602" Price="32" Authors="RB"> <Title>Les bases de données NoSQL</Title> </Book> <Book ISBN="ISBN-2711786749" Price="169" Authors="DN BE" Editor="Vuibert"> <Title>Ingénierie des systèmes d'information Merise</Title> <Remark> Amazon.com says: Buy this book bundled with <BookRef book="isbn-2212135602" /> - a great deal! </Remark> </Book> <Author Ident="RB"> <First_Name>Rudi</First_Name> <Last_Name>Bruchez</Last_Name> </Author> <Author Ident="DN"> <First_Name>Dominique</First_Name> <Last_Name>Nanci</Last_Name> </Author> <Author Ident="BE"> <First_Name>Bernard</First_Name> <Last_Name>Espinasse</Last_Name> </Author> </Bookstore> <!DOCTYPE Bookstore [ <!ELEMENT Bookstore (Book*, Author*)> <!ELEMENT Book (Title, Remark?)> <!ATTLIST Book ISBN ID #REQUIRED Price CDATA #REQUIRED Authors IDREFS #REQUIRED Editor CDATA #IMPLIED> <!ELEMENT Title (#PCDATA)> <!ELEMENT Remark (#PCDATA BookRef)*> <!ELEMENT BookRef EMPTY> <!ATTLIST BookRef book IDREF #REQUIRED> <!ELEMENT Author (First_Name, Last_Name)> <!ATTLIST Author Ident ID #REQUIRED> <!ELEMENT First_Name (#PCDATA)> <!ELEMENT Last_Name (#PCDATA)> ]> Exemple2_CMDTD.dtd Exemple2_CMDTD.xml

3. Document Type Descriptor(DTD) 24 Les entités Définies dans la DTD du document Permettent de définir des alias ou d'utiliser des caractères inaccessibles dans le jeu de caractères sélectionné Les entités générales (ou entités) sont utilisées dans le doc XML <!DOCTYPE elt[ <!ENTITY ADN "Acide désoxyribonucléique"> ]> <elt>l'&adn; est une molécule complexe. </elt> Pour référencer l'entité, on encadre son nom par les caractères &' et ';' Les entités paramétrées sont utilisées dans la DTD. <!ENTITY % heading "H1 H2 H3 H4 H5 H6"> Ici toute occurrence de %heading; doit être remplacée par H1 H2 H3 H4 H5 H6 dans la DTD. Pour référencer l'entité, on encadre son nom par les caractères '%' et ';' <!ENTITY % heading "H1 H2 H3 H4 H5 H6"> <!ELEMENT %heading; (#PCDATA %fontstyle; %phrase; )* >