Université de Reims Champagne-Ardenne XML. DTD : Document Type Definition. F. Nolot Licence professionnelle CMSII 2004-2005 1



Documents pareils
Auguria_PCM Product & Combination Manager

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>

XML : documents et outils

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

Préparer la synchronisation d'annuaires

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

v7.1 SP2 Guide des Nouveautés

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

Didacticiel de mise à jour Web

inviu routes Installation et création d'un ENAiKOON ID

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Gérer ses impressions en ligne

Gestion Électronique de Documents et XML. Master 2 TSM

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

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

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

DECOUVERTE DE LA MESSAGERIE GMAIL

Diagramme de classes

Réaliser une recherche avec le logiciel documentaire PMB

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

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

Les ACL Cisco. F. Nolot Master 2 Professionnel STIC-Informatique 1

SOMMAIRE. Travailler avec les requêtes... 3

Importer un fichier CSV

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

CommandCenter Génération 4

Le stockage local de données en HTML5

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

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Installation et configuration de Vulture Lundi 2 février 2009

Import XML HAL et HAL- Inria

FileMaker Server 13. Guide de configuration de l'installation réseau

Configuration d'un annuaire LDAP

1. Installation du Module

OASIS Date de publication

PROCEDURE D'APPEL DU WEBSERVICE PERMETTANT DE CONTROLER LES FICHIERS XML-SANDRE Version 4

MODE D'EMPLOI. La gestion des versions permettra de compléter et de faire évoluer les fiches dans le temps. NOM DE LA RESSOURCE CONTACT FOURNISSEUR

Sage CRM. 7.2 Guide de Portail Client

Compte-rendu de projet de Système de gestion de base de données

Guide d'utilisation de WebEx Meeting Center avec les Salles de réunion de collaboration (Collaboration Meeting Rooms / Nuage CMR)

Acronis Backup & Recovery 10 Server for Windows Acronis Backup & Recovery 10 Workstation. Guide de démarrage rapide

Créer une base de données

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

DIASER Pôle Assistance Rectorat

Utilisation du module Scribe IMPORTATION DES COMPTES

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

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

Septembre 2012 Document rédigé avec epsilonwriter

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Microsoft Windows NT Server

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

Bases de Données. Plan

OpenOffice.org Présentation - Débuter. Distribué par Le projet OpenOffice.org

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

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

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

Service d'authentification LDAP et SSO avec CAS

Fonctions pour la Belgique

Manuel d'utilisation d'apimail V3

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

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

Parcours FOAD Formation EXCEL 2010

Domaine 1 : S approprier un environnement informatique de travail. Domaine 3 : Créer, produire, traiter et exploiter des données.

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

Documentation utilisateur du front-office de Géo-IDE Catalogue

CRÉATION d une ASSOCIATION

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Créer un sondage en ligne

HANSAWORLD UNIVERSITY. Standard Facturation Version 6.3 HansaWorld Ltd.

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

Importer les fichiers élèves - professeurs du secrétariat

Travail collaboratif avec OpenOffice Texte (Writer)

Guide d'installation. Release Management pour Visual Studio 2013

Guide pas à pas pour l'utilisation de la Console de gestion des stratégies de groupe

l'ordinateur les bases

Fonctions pour la Suisse

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

EXCEL PERFECTIONNEMENT CALCULS AVANCES

Guide d'utilisation. Repérez plus d'information avec nos nouvelles options de recherche plus puissantes!

Paramétrages de base de la plateforme

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Ingénierie des Modèles. Méta-modélisation

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

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

Master d Informatique Corrigé du partiel novembre 2010

Le générateur d'activités

37 13 Courrier indésirable Appeler plusieurs comptes de messagerie Sélectionner un compte de messagerie

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

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

Novell. NetWare 6. GUIDE D'ADMINISTRATION DE NETDRIVE

Installation et Réinstallation de Windows XP

Transcription:

Université de Reims Champagne-Ardenne XML DTD : Document Type Definition F. Nolot Licence professionnelle CMSII 2004-2005 1

Qu'est qu'une DTD? Permet de vérifier qu'un document XML est conforme à une syntaxe donnée (à une grammaire) La vérification de la conformité d'un document XML se fait dans une DTD (Document Type Definition) La norme XML n'impose pas l'utilisation de DTD mais elle impose le respect exact des règles de base de la norme XML On distingue 2 types de conformité Les documents valides : les documents XML avec une DTD Les documents bien formés : les documents XML ne comportant pas de DTD mais répondant aux règles de base du XML Une DTD peut être définie de 2 façons Sous forme interne, incluant la grammaire dans le document Sous forme externe, soit en appelant un fichier contenant la grammaire à partir d'un fichier local ou bien en y accédant par son URL F. Nolot Licence professionnelle CMSII 2004-2005 2

Exemple de DTD Définissons la conformité d'un fichier XML qui contient des informations concernant une personne Nécessaire d'avoir au moins les 3 informations suivantes dans un élément personne: Nom Prénom Téléphone L'élément email est optionnel <!ELEMENT personne (nom,prenom,telephone),email? > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT telephone (#PCDATA) > <!ELEMENT email (#PCDATA) > F. Nolot Licence professionnelle CMSII 2004-2005 3

Explication de la syntaxe Déclaration d'un élément <! ELEMENT nom modèle> Le paramètre modèle représente soit un type de données prédéfinies, soit une règle d'utilisation de l'élément Les types prédéfinis utilisables sont les suivants : ANY : l'élément peut contenir tout type de données. A utiliser avec précaution car il supprime quasiment tout contrôle de validité EMPTY : l'élément ne contient pas de données spécifiques #PCDATA : l'élément doit contenir une chaîne de caractère Un élément dont son nom est «produit» et qui ne doit contenir que du #PCDATA, sera définit de la façon suivante : <!ELEMENT produit (#PCDATA)> F. Nolot Licence professionnelle CMSII 2004-2005 4

Règles d'utilisation d'un élément Un élément doit ou peut contenir du #PCDATA. Cette capacité s'exprime avec les notations spécifiques suivantes : A+ : au moins un élément A A* : l'élément A peut être présent plusieurs fois ou aucune A? : au plus un élément A A B : l'élément A ou l'élément B peuvent être présent A,B : l'élément A doit être présent et suivi de l'élément B ( ) : permet de regrouper des éléments pour leur appliquer le même opérateur Exemple : (A,B)+ l'élément A puis B doivent être présent au moins une fois, : les éléments enfants doivent figurer dans l'ordre spécifié F. Nolot Licence professionnelle CMSII 2004-2005 5

Contenu mixte Si un élément peut contenir à la fois du #PCDATA et d'autres éléments Le mot-clé #PCDATA doit être en début de la liste des éléments <!ELEMENT personne (#PCDATA,nom,prenom,telephone)> Les modèles de contenu mixte n'accepte ni de suites d'éléments enfants, ni de choix d'opérateurs de cardinalité. L'ordre utilisé n'a donc pas d'importance sur les éléments suivants #PCDATA F. Nolot Licence professionnelle CMSII 2004-2005 6

Exemple Un élément NomPersonne est composé Soit d'un sigle M, Mme, Mlle D'un prénom D'un 2ième prénom Et d'un nom de famille Ce qui donne <!ELEMENT NomPersonne ( (M Mme Mlle), Prenom, Prenom2, Nom ) > <!ELEMENT M EMPTY> <!ELEMENT Mme EMPTY> <!ELEMENT Mlle EMPTY> <!ELEMENT prenom (#PCDATA) > <!ELEMENT prenom2 (#PCDATA) > <!ELEMENT nom (#PCDATA) > Le document suivant est donc conforme <NomPersonne> <M/> <Prenom>John</Prenom> <Prenom2>Edouard</Prenom2> <Nom>Martin</Nom> </NomPersonne> F. Nolot Licence professionnelle CMSII 2004-2005 7

Exercice On impose maintenant que l'élément Prenom2 soit optionnel, que l'on puisse en avoir plusieurs et qu'au plus un élément M, Mme ou bien Mlle soient présents (solution Fichier Exo1.dtd) Rédiger une DTD pour une bibliographie (Solution Exo2.dtd). Cette bibliographie : contient des livres et des articles les informations nécessaires pour un livre sont : son titre général les noms des auteurs ses tomes et pour chaque tome, leur nombre de pages des informations générales sur son édition comme par exemple le nom de l'éditeur, le lieu d'édition, le lieu d'impression, son numéro ISBN les informations nécessaires pour 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éservera aussi un champ optionnel pour un avis personnel. F. Nolot Licence professionnelle CMSII 2004-2005 8

Déclarations d'attributs (1) La DTD permette de déclarer des attributs à des éléments On utilise pour cela une déclaration de liste d'attributs <!ATTLIST nomelement nomattr typeattr attrpardéfaut valeurpardéfaut> nomelement désigne le nom de l'élément auquel l'attribut de nom nomattr doit être associé TypeAttr défini les types d'attribut qui sont au nombre de 10 dans la recommandation XML 1.0. Les principaux types d'attribut sont CDATA pour des données textuelles Valeur énumérée, liste de choix. Exemple (M Mme Mlle) ID sert d'identifiant unique pour cette instance d'élément. 2 attributs de type ID ne peuvent donc pas avoir la même valeur dans un même document XML F. Nolot Licence professionnelle CMSII 2004-2005 9

Déclarations d'attributs (2) Le paramètre attrpardéfaut définit le comportement par défaut du parseur. Il indique si la présence de l'attribut est obligatoire, optionnelle et comment il faut réagir en fonction de l'absence de l'attribut #REQUIRED : l'attribut doit figurer dans chaque instance de l'élément <!ATTLIST Livre titre #REQUIRED > #IMPLIED : l'attribut est facultatif <!ATTLIST Article avis CDATA #IMPLIED > #FIXED "valeur par défaut" : l'attribut peut figurer ou non dans le document. S'il est présent, il doit alors avoir la valeur "toto" sinon le parseur peut fournir la valeur par défaut <!ATTLIST Livre editeur #FIXED "Edit-Corp"> Une valeur par défaut : l'attribut peut apparaître ou non dans le document. S'il est absent, le parseur peut fournir la valeur par défaut. Si une valeur est définie, il peut être n'importe quelle valeur figurant dans la liste ATTLIST F. Nolot Licence professionnelle CMSII 2004-2005 10

Exercice Modifier la DTD précédente... (solution : Exo3.dtd) en ajoutant un attribut optionnel soustitre à l'élément titre ; en faisant de l'élément tome un élément vide et en lui ajoutant un attribut requis nb_pages et un attribut optionnel soustitre ; en faisant de l'élément nom_journal un attribut de l'élément journal et en lui donnant comme valeur par défaut Feuille de Chou ; en faisant de l'élément annee un attribut de type énuméré, prenant comme valeurs possibles 2002, 2003, 2004, "avant_2002" et "inconnue" et proposant comme valeur par défaut inconnue. F. Nolot Licence professionnelle CMSII 2004-2005 11

Déclarations d'entités (1) Permet de disposer de l'équivalent de raccourcis clavier et de caractères à priori non accessibles par le jeu de caractères sélectionné Entités paramétriques Définit des symboles qui seront utilisés ailleurs dans la DTD <!ENTITY %heading "H1 H2 H3 H4 H5 H6"> Entités analysables externes Permet d'enregistrer dans un fichier texte externe les références <!ENTITY texte SYSTEM "file:///chemin/fichier.txt"> Inclusion de fichier dans le document XML en utilisant la référence &texte dans notre exemple F. Nolot Licence professionnelle CMSII 2004-2005 12

Déclarations d'entités (2) Entités analysables internes Donne un nom facilement lisible à des caractères ne figurant pas dans notre alphabet <!ENTITY nbsp " "> <!ENTITY eacute "é"> Ils peuvent être utilisées dans un document XML référençant cette DTD à l'aide de la notation &NomEntité <!ENTITY copyright " "> <!ENTITY copy "copyright &copyright; 2004 Edit-Corp, Tous droits réservés"> F. Nolot Licence professionnelle CMSII 2004-2005 13

Déclaration d'une DTD Dans un document XML, dans le cas de l'utilisation d'une DTD externe, on doit alors avoir : standalone="no" Puis l'élément <!DOCTYPE elt_racine SYSTEM "filename.dtd"> <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!DOCTYPE carnet SYSTEM "../Cours5-Solution/Exo1.dtd"> <carnet> <NomPersonne> <M/> <Prenom>George</Prenom> <Nom>FILOCHE</Nom> </NomPersonne> <NomPersonne> <Mlle/> <Prenom>Martine</Prenom> <Prenom2>Yvonne</Prenom2> <Nom>GETUDAVE</Nom> </NomPersonne> </carnet> F. Nolot Licence professionnelle CMSII 2004-2005 14

Déclaration d'une DTD (2) <!DOCTYPE elt_racine SYSTEM PUCLIC emplacement1 emplacement2> SYSTEM s'utilise avec une DTD externe dont l'emplacement est Soit une URL http://www... Ne pas utiliser le caractère # dans une URL Soit une URI (Uniform ressource Identifier) file:///home/user/dtd/... PUBLIC permet l'utilisation d'une référence générique à la DTD par l'intermédiaire d'un URI, voire un second URI Plutôt utiliser avec des DTD normalisées disponibles au public Exemple : validité d'un document HTML4 <!doctype html public '-//W3C//DTD HTML 4.0//EN' 'http://www.w3.org/tr/rec-html40/strict.dtd'> F. Nolot Licence professionnelle CMSII 2004-2005 15