II- Validation d'un document XML. Prof. M.D. RAHMANI Technologies XML Master IT 2013-2014 1



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

XML : documents et outils

<?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

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

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

Gestion Électronique de Documents et XML. Master 2 TSM

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

Outils logiciels pour l'ingénierie documentaire

Auguria_PCM Product & Combination Manager

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

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

BD et XML : Exercices

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

SYSTÈME ARIANE Gestion des données d identification de l élève

Master d Informatique Corrigé du partiel novembre 2010

Spécification de Harvard. Version française: Scriptol.fr

Les documents primaires / Les documents secondaires

Bases de Données. Plan

OASIS Date de publication

Systèmes d information et bases de données (niveau 1)

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

Configuration d'un annuaire LDAP

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Une fois votre tableau excel complet, cliquer sur fichier enregistrer sous type de fichier (menu déroulant) csv (séparateur : point virgule).

AdressePostale 1.2 Description d une adresse postale 16/01/2004

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

CxF - Color exchange Format - Format d'échange de teintes. Le langage universel pour communiquer les teintes de manière numérique.

Préparer la synchronisation d'annuaires

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

Réaliser une recherche avec le logiciel documentaire PMB

Le Registre national

4. SERVICES WEB REST 46

Les chaînes de caractères

L'essentiel de XML. Cours XML. Olivier Carton

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

1. Installation du Module

A. Définition et formalisme

Formation HTML / CSS. ar dionoea

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

GESTION D UNE BASE BIBLIOGRAPHIQUE


Didacticiel de mise à jour Web

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

BREVE PRESENTATION DU SERVICE «EDITEURS ACADEMIQUES ENLIGNE» ELISABETH DE PABLO (MSH- ESCOM, 1997)

Annexe C Spécification pour les fichiers importés en format XML

Utiliser Access ou Excel pour gérer vos données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Chapitre 2. Classes et objets

Import XML HAL et HAL- Inria

MEDLINE BANQUE DE DONNÉES EN MÉDECINE INTERFACE PUBMED INITIATION

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

Administration du site

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Programmation Web TP1 - HTML

Rapport de Stage. Environnements d édition de workflow

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

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

Développement Web - Object Relational Mapping and Hibernate

Système d Analyse des Commandes : Dispositif Technique

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

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

Algorithmique & programmation

Générer du code à partir d une description de haut niveau

COURS WINDEV NUMERO 3

Écriture de journal. (Virement de dépense)

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

LE MODELE CONCEPTUEL DE DONNEES

Manuel de mise en page de l intérieur de votre ouvrage

Protocoles DHCP et DNS

Les outils de création de sites web

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

Dévéloppement de Sites Web

Formation à l'administration de votre site E-commerce Page 1 sur 15

SEMANTIQUE DES MODELES D'ECHANGE DE DONNEES

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Outil de documentation sur la réduction D : Système d archivage de l analyse de la réduction

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

Vous écrivez un rapport de 100 pages, et vous souhaitez faire apparaître le logo de l'université en haut de chaque page. Comment procédez-vous?

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Module : Informatique Générale 1. Les commandes MS-DOS

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

v7.1 SP2 Guide des Nouveautés

PRESENTATION DES RECOMMANDATIONS DE VANCOUVER

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Tutoriel - flux de facturation

TP1 - Prise en main de l environnement Unix.

Créer et gérer des catégories sur votre site Magento

PHP 5. La base de données MySql. A. Belaïd 1

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

Excel 2007 Niveau 3 Page 1

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

MEGA Database Builder. Guide d utilisation

Transcription:

II- Validation d'un document XML DTD (Document Type Definition) 1

Validation d'un document XML par une DTD Document XML valide Types de DTD (interne, externe) Déclarations d'éléments Déclaration d'attributs Déclarations d'entités 2

Document XML valide, DTD Une DTD (définition du type de document) structure un document XML. On dit qu'elle valide un document XML. Dans un document XML valide apparaît une déclaration du type de document (DTD: définition du type de document). Cette déclaration définit: le nom des éléments, leur contenu, le nombre de fois et l'ordre d'apparition, les attributs éventuels et leurs valeurs par défaut, les noms des entités qui peuvent être utilisées. Les documents XML valides doivent respecter les règles données d'une DTD. 3

Types de DTD (interne, externe) La déclaration d'une DTD doit apparaître après la déclaration XML, mais avant l élément racine. <!xml version="1.0"...> <!DOCTYPE élément_racine...> La déclaration de la DTD peut contenir : la DTD elle-même à l'intérieur du fichier XML (DTD interne) ou une adresse URL qui indique le fichier contenant la DTD (DTD externe). En cas de conflit, les déclarations de la DTD interne prime. 4

Types de DTD (interne, externe) Une déclaration d une DTD commence par : <!DOCTYPE ElementRacine et se termine par > Si la DTD est interne elle est entre crochets après <!DOCTYPE [... ]> Si la DTD est externe, la déclaration XML doit fixer la valeur de l attribut standalone à la valeur "no" <?xml version = "1.0 " standalone= "no "?> 5

DTD externe DTD externe: 2 types 1- DTD privée: <!DOCTYPE ElementRacine SYSTEM "URLDeLaDTD"> exemples: <!DOCTYPE CATALOGUE SYSTEM "catcd.dtd"> <!DOCTYPE CATALOGUE SYSTEM "http://www.fsr.ac.ma/dtd/catcd.dtd"> 2- DTD publique: <!DOCTYPE ElementRacine PUBLIC "NomDeLaDTD" "URLDeLaDTD"> Le nom de la DTD appelée URN (Universal Ressource Name) doit avoir la forme: -//W3C//DTD catalogue //FR Le nom du propriétaire suivie du type de document, suivi de la langue 6

Exemples: association DTD/document XML Hello XML sans DTD <?xml version="1.0"standalone="yes"?> <hello> Hello XML! </hello> Hello XML avec DTD interne <?xml version="1.0"standalone="yes"?> <!DOCTYPE hello [ <!ELEMENT hello (#PCDATA)> ]> <hello> Hello XML! </hello> Hello XML avec DTD externe <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE hello SYSTEM "hello.dtd"> <hello> Hello XML! </hello> 7

DTD, Déclaration des éléments Une déclaration d un élément fournit le nom de l'élément et décrit son contenu. Le nom d'un élément utilisé dans le document XML doit être identique à celui déclaré dans la DTD. Un élément peut: contenir du texte, contenir d'autres éléments, contenir un mélange de texte et d'éléments (contenu mixte) être vide. 8

DTD, Déclaration des éléments Chaque type d élément doit être déclaré, cette déclaration respecte un des formats suivants: <!ELEMENT NOM (CONTENU)> <!ELEMENT NOM (CONTENU_MIXTE)*> <!ELEMENT NOM ANY> n'importe quelles données <!ELEMENT NOM EMPTY > élément vide (<NOM/>) Exemples: <!ELEMENT Nom (#PCDATA)> PCDATA: chaîne de caractères. <Nom>Victor Hugo</Nom> <!ELEMENT DATE (#PCDATA)> <DATE>26 Octobre 2010</DATE> <!ELEMENT BIBLIOTHEQUE (LIVRE)*> <!ELEMENT LIVRE (PREFACE, CHAPITRE+, INDEX?)> 9

Exemple DTD <!ELEMENT personne (nom, prenom+, tel?,email,adresse > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom(#pcdata) > <!ELEMENT tel (#PCDATA) > <!ELEMENT email (#PCDATA) > <!ELEMENT adresse (ANY) > Document XML associé <personne> <nom>bennani</nom> <prenom>mohammed</prenom> <prenom>ali</prenom> <tel>0683000000</tel> <email>bennani@fsr.ac.ma</email> <adresse><rue/><ville>rabat</ville></adresse> </personne> 10

DTD, Spécification du contenu d'un élément La spécification du contenu d'un élément précise: le genre d'informations que l'élément peut contenir (texte, sous éléments, mixte), les contraintes sur son contenu. 11

DTD, Spécification du contenu d'un élément Les mots clés de description du contenu sont: (#PCDATA): Parsed Character Data, du contenu littéral. (ELEMENT): le sous-élément ELEMENT. (ELEMENT1,ELEMENT2,...) : une liste d'éléments appelée séquence. L'ordre d'apparition des éléments doit être respecté dans le document XML. (ELEMENT1 ELEMENT2...) choix d'un sous-élément. ELEMENT? : zéro ou une fois. ELEMENT+ : une ou plusieurs fois. ELEMENT* : zéro ou plusieurs fois. 12

DTD, Spécification du contenu d'un élément Par exemple si on dit: qu'une liste de films lfilms contient des films, au moins un qu'un film contient un titre et zéro ou plusieurs acteurs (dans cet ordre), qu'un titre et un acteur sont des chaines de caractères PCDATA (Parsed Character Data) On écrira la DTD suivante : <!ELEMENT lfilms (film+)> <!ELEMENT film (titre, acteur*)> <!ELEMENT titre (#PCDATA)> <!ELEMENT acteur (#PCDATA)> 13

DTD, Spécification du contenu d'un élément D'autres exemples: (ELEMENT1 ELEMENT2...) exemple: <!ELEMENT PAIEMENT (CASH CB CHEQUE)> remarque: <!ELEMENT PAIEMENT (CASH CB CHEQUE)*> pas de contrainte sur l'ordre d'apparition et le nombre des éléments. ELEMENT? exemple: <!ELEMENT FILM(AFFICHE?)> ELEMENT+ exemple: <!ELEMENT LIVRE(CHAPITRE+)> 14

DTD interne (exemple 1) parents.xml <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!-- Comme on définit une DTD interne, le fichier est indépendant (standalone).--> <!DOCTYPE parents [ ]> <!ELEMENT parents (fille,garcon)> <!ELEMENT fille(#pcdata)> <!ELEMENT garcon (#PCDATA)> <parents> <fille>jalila</fille> <garcon>sami</garcon> </parents> 15

DTD interne (exemple 2) bibliotheque.xml <?xml version='1.0' encoding='iso-8859-1' standalone="yes"?> <!DOCTYPE BIBLIOTHEQUE [ <!ELEMENT BIBLIOTHEQUE (LIVRE)* > <!ELEMENT LIVRE (AUTEUR, TITRE, EDITEUR)> <!ELEMENT AUTEUR (PRENOM, NOM) > <!ELEMENT TITRE (#PCDATA) > <!ELEMENT EDITEUR (NOM, ANNEE) > <!ELEMENT PRENOM (#PCDATA) > <!ELEMENT NOM (#PCDATA) > <!ELEMENT ANNEE (#PCDATA) > ]> <BIBLIOTHEQUE> <LIVRE> <AUTEUR> <PRENOM>Rolf</PRENOM> <NOM> MAURERS</NOM> </AUTEUR> <TITRE>JAVA</TITRE> <EDITEUR> <NOM>Micro Application</NOM> <ANNEE> 1996</ANNEE> </EDITEUR> </LIVRE> </BIBLIOTHEQUE> 16

DTD, Spécification du contenu d'un élément Contenu mixte: Un élément peut contenir du texte et d'autres éléments. Pour un contenu mixte, ni le nombre, ni l'ordre des éléments ne peuvent être spécifiés explicitement et le mot clé #PCDATA doit être le premier. Exemple 1: Document DTD <!ELEMENT citation (#PCDATA auteur)*> <!ELEMENT auteur (#PCDATE)> Document XML valide: <citation> <auteur>william Shakespeare</auteur> la folie chez les grands ne doit pas aller sans surveillance. </citation> 17

DTD, Spécification du contenu d'un élément Exemple 2: <!ELEMENT DATE (#PCDATA DATEFR)*> <!ELEMENT DATEFR (JJ,MM,AA)> <!ELEMENT JJ (#PCDATA)> <!ELEMENT MM (#PCDATA)> <!ELEMENT AA (#PCDATA)> Voici des exemples de dates valides: 1- <DATE> 12 Novembre 1999 </DATE> 2- <DATE> 12 Novembre 1999 <DATEFR> <JJ>12</JJ> <MM>11</MM><AA>1999</AA> </DATEFR> </DATE> 18

Exercice 1: énoncé Ecrire une DTD biblio.dtd pour une bibliographie d'articles. Les informations associées à un article sont : son titre; les noms des auteurs ; ses références de publication: nom du journal, numéro des pages, année de publication et numéro du journal On réserve aussi un champ optionnel pour un avis personnel. Tester cette DTD avec un fichier XML. 19

Exercice 1: correction biblio.dtd <!ELEMENT article (titre, auteur+, journal, avis?)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT journal (nom_journal, page, num_journal, annee)> <!ELEMENT nom_journal (#PCDATA)> <!ELEMENT page (#PCDATA)> <!ELEMENT num_journal (#PCDATA)> <!ELEMENT annee (#PCDATA)> <!ELEMENT avis(#pcdata)> 20

Exercice 1: correction biblio.xml <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE article SYSTEM "biblio.dtd"> <article> <titre> A data-oriented survey of context models</titre> <auteur> Bolchini, C.</auteur> <auteur> Tanca, L.</auteur> <journal> <nom_journal> ACM Sigmod Record</nom_journal> </journal> <page>pp. 19-26</page> <num_journal>36</num_journal> <annee>2007</annee> <avis>un bon article</avis> </article> 21

DTD, Déclaration des attributs La description des attributs se fait par une déclaration d'une liste d'attributs (ATTLIST) La syntaxe est la suivante: avec ou ou <!ATTLIST Elément Attribut Type Valeur-par-défaut> <!ATTLIST Elément Attribut Type #FIXED Valeur> FIXED signifie que l'attribut a une valeur fixe <!ATTLIST Elément Attribut Type #REQUIRED> REQUIRED signifie que l'attribut est obligatoire et n'a pas de valeur par défaut <!ATTLIST Elément Attribut Type #IMPLIED> IMPLIED signifie que l'attribut n'est pas obligatoire et n'a pas de valeur par défaut 22

DTD, description des attributs Exemple 1: <!ELEMENT MESSAGE (#PCDATA)> <!ATTLIST MESSAGE LANGUE CDATA "Français"> L'élément MESSAGE contient des données textuelles et peut contenir un attribut nommé LANGUE, sa valeur par défaut est "Français". Remarque: - l'ordre des déclarations des attributs d'un élément n'a pas d'importance 23

DTD, description des attributs Exemple 2: On peut, dans une même déclaration ATTLIST, définir plusieurs attributs associés au même élément: <!ATTLIST IMG WITH CDATA "100"> <!ATTLIST IMG HEIGHT CDATA "100"> peuvent se résumer en une seule déclaration: <!ATTLIST IMG WIDTH CDATA "100" HEIGHT CDATA "100"> 24

DTD, Attributs: type énuméré Nous pouvons limiter la liste de valeurs possibles pour un attribut. On le définit comme un type énuméré. Exemple de déclaration d'une liste de choix d'attributs: <!ELEMENT img EMPTY> <!ATTLIST img format (GIF JPEG PNG) "GIF"> Nous déclarons un attribut format d'un élément img. Cet attribut peut prendre une valeur parmi GIF, JPEG et PNG. La valeur par défaut est GIF. Remarque: ne pas mettre des guillemets dans la liste des valeurs possibles. 25

Exemples <!ELEMENT personne (nom, prenom+, tel?, email,adresse > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT tel (#PCDATA) > <!ELEMENT email (#PCDATA) > <!ELEMENT adresse ANY> <! ATTLIST personne age CDATA #IMPLIED genre (Masculin Feminin ) #REQUIRED >... <!ELEMENT auteur (#PCDATA) > <!ATTLIST auteur genre (Masculin Feminin ) #REQUIRED ville CDATA #IMPLIED> <!ELEMENT editeur (#PCDATA) > <!ATTLIST editeur ville CDATA #FIXED "Rabat"> 26

Exercice 2: énoncé Modifier la DTD biblio.dtd précédente: en faisant de l'élément nom_journal un attribut de l'élément journal et en lui donnant comme valeur par défaut ACM ; en faisant de l'élément annee un attribut de type énuméré, prenant comme valeurs possibles 2012, 2013, 2014, "avant_2012" et proposant comme valeur par défaut "avant_2012". Utiliser cette DTD pour créer un fichier XML valide. 27

Exercice 2: correction biblio2.dtd <!ELEMENT article (titre, auteur+, journal, avis?)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT journal (page, num_journal)> <!ATTLIST journal nom_journal CDATA "ACM" annee (2012 2013 2014 avant_2012) "avant_2012" > <!ELEMENT page (#PCDATA)> <!ELEMENT num_journal (#PCDATA)> <!ELEMENT avis (#PCDATA)> 28

Attributs ID et IDREF Ce type sert à indiquer que l'attribut concerné peut servir d'identifiant dans un fichier XML. <?xml version="1.0" standalone="yes"?> <!DOCTYPE Document [ ]> <!ELEMENT Document (Personne*)> <!ELEMENT Personne (#PCDATA)> <!ATTLIST Personne PNum ID #REQUIRED> <!ATTLIST Personne Mere IDREF #IMPLIED> <!ATTLIST Personne Pere IDREF #IMPLIED> < Document > < Personne PNum = "P1">Latifa<//Personne> < Personne PNum = "P2">Rachid</Personne> < Personne PNum = "P3" Mere ="P1" Pere ="P2">Ali</Personne> < Personne PNum = "P4" Mere ="P1" Pere ="P2">Samia</Personne> </Document > 29

Exercice Donner une DTD qui valide des documents sous forme de carnets d adresses. Un carnet d'adresse a la forme suivante: la personne possède un identifiant unique (obligatoire), un nom, un prénom on veut connaître le sexe de la personne (attribut optionnel) on veut connaître son email (optionnel) 30

Solution exercice Un carnet d adresses: la personne possède un identifiant unique (obligatoire), un nom, un prénom on veut connaître le sexe de la personne (attribut optionnel) on veut connaître son email (optionnel) <!ELEMENT carnetadresses (personne)+> <!ELEMENT personne (nom,email*)> <!ATTLIST personne id ID #REQUIRED> <!ATTLIST personne sexe (masculin feminin) #IMPLIED> <!ELEMENT nom (#PCDATA famille prenom)*> <!ELEMENT famille (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT email (#PCDATA)> 31

Les entités XML Un document XML est composé d'un prologue et d'un élément racine contenant tous les autres éléments. Les différents éléments contenus dans la racine peuvent provenir de différentes sources (fichier, SGBD,...) Les unités de stockage des composants d'un document sont appelées des entités. Les entités peuvent être de deux types: internes: définies dans l'entité document elle-même, externes: dépendent d'une source externe au document XML. 32

Utilité des entités: Les entités XML la définition de caractères difficiles (nationaux, graphiques,..) la définition de notations raccourcies pour des suites de caractères saisies fréquemment. Ce mécanisme s'apparente aux macros. L'inclusion de fichiers externes 33

Définition d'une entité interne: Les entités XML Une entité interne correspond à une version abrégée d'un texte long ou difficile à saisir. Une entité interne est définie à l'intérieur d'une DTD: <!ENTITY nom "texte associé"> nom est le nom de l'entité, Exemples de définiton d'une entité: <!DOCTYPE CATALOGUE [ ]> <!ENTITY copyright "Copyright 2013, Eyrolles"> <!ENTITY email "info@fsr.ac.ma"> 34

Définition d'une entité interne: Les entités XML La référence à une entité se fait en préfixant son nom avec & et à la fin un ; exemple: &copyright; toute référence à l'entité copyright dans le document XML utilisant une DTD, sera remplacé par le texte correspondant. Exemple: entite1.xml <!DOCTYPE exemple[ ]> <!ELEMENT exemple (#PCDATA)> <!ENTITY DTD "Définition d'un Type de Documents (DTD)"> <exemple> Une &DTD; est une grammaire pour valider un type de documents XML </exemple> 35

Définition d'une entité interne: Les entités XML <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE LIVRE [ <!ENTITY copyright "Copyright 2013, Eyrolles"> <!ENTITY email "info@fsr.ac.ma"> ]> <LIVRE>...... <DROITS>&copyright;</DROITS> <ADRESSE>&email;</ADRESSE> </LIVRE> 36

Définition d'entité externe: Les entités XML L'entité externe est définie à l'intérieur de la DTD: <!ENTITY nom SYSTEM "URI"> Soit l'exemple du document XML (livre.xml): <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE LIVRE [ ]> <LIVRE>...... &legal; </LIVRE> <!ENTITY legal SYSTEM "legal.xml"> 37

Définition d'entité externe: Les entités XML Si le fichier legal.xml est le suivant: <?xml version="1.0" encoding="iso-8859-1"?> <LEGAL> <AUTEUR>Olivier Daudel</AUTEUR> <DATE>1991</DATE> <DROITS>Copyright 1991</DROITS> </LEGAL> 38

Les entités XML Définition d'entité externe: à tester Tout se passe comme si le document XML livre.xml est: <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE LIVRE [ ]> <LIVRE> <LEGAL> </LEGAL> </LIVRE> <!ENTITY legal SYSTEM "legal.xml"> <AUTEUR>Olivier Daudel</AUTEUR> <DATE>1991</DATE> <DROITS>Copyright 1991</DROITS> 39