Résumé DTD. A- Définir des éléments complexes ( = éléments possédant des éléments fils)



Documents pareils
Master d Informatique Corrigé du partiel novembre 2010

XML : documents et outils

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

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

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

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

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

Préparation d'un fichier XML pour le reporting des activités avec l'étranger concernant les services, les transferts et les marchandises. Ed.

Web Application Models

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

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

L architecture des services Web

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

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

Les architectures 3-tiers Partie I : les applications WEB

BD et XML : Exercices

HTML. Notions générales

4. SERVICES WEB REST 46

Cúram JMX - Guide de configuration

XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail

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

< Atelier 1 /> Démarrer une application web


Programmation des Applications Réparties. Parsers XML DOM et SAX

Outils logiciels pour l'ingénierie documentaire

Gestion Électronique de Documents et XML. Master 2 TSM

Formation HTML / CSS. ar dionoea

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

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

Les Services Web. Jean-Pierre BORG EFORT

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

Présentation du Framework BootstrapTwitter

TP1. Outils Java Eléments de correction

Développement Web - Object Relational Mapping and Hibernate

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

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

Programme. Matière : RECHERCHE D INFORMATION Crédit : 4 Cours : 1h30 TD : 1h30 Semestre : S1 du M1 Assuré par: Herzallah Abdelkarim

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

L'essentiel de XML. Cours XML. Olivier Carton

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

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

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

SII Stage d informatique pour l ingénieur

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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Rapport de Stage. Environnements d édition de workflow

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

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

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Projet Java EE Approfondi

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

Notes pour l utilisation d Expression Web

Créer une base de données vidéo sans programmation (avec Drupal)

Système d Analyse des Commandes : Dispositif Technique

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Compte Rendu d intégration d application

SEMANTIQUE DES MODELES D'ECHANGE DE DONNEES

1. Installation du Module

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

DITA XML Olivier Carrère -

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Architectures Web Services RESTful

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

WebSSO, synchronisation et contrôle des accès via LDAP

XMLInvoice Standard de facturation dans le domaine de la santé publique suisse

Tsoft et Groupe Eyrolles, 2005, ISBN :

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

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

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

Point sur les solutions de développement d apps pour les périphériques mobiles

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

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

TP1 - Prise en main de l environnement Unix.

Systèmes d'informations historique et mutations

Optimiser pour les appareils mobiles

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

ech-0148 Motifs d annonce Entreprises - taxes de domaine

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

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

Méthode de préparation du fichier texte d import depuis Excel, via Access jusqu à Drupal.

Programmation Internet Cours 4

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

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

Auguria_PCM Product & Combination Manager

Production de documents avec XSLT. Production de documents p.1/??

Tutoriel d installation de Hibernate avec Eclipse

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Document Object Model (DOM)

A. Architecture du serveur Tomcat 6

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

DOM - Document Object Model

Transcription:

DTD, Document Type Definition 1-Utilité de la DTD La DTD permet la définition de la STRUCTURE d un type de documents. C est une forme de grammaire qui va servir à spécifier les noms des éléments et la structure d un document exprimé dans un langage à balise (SMGL, HTML, XML). Chaque dialecte de XML (SMIL, SVF, XHTML, etc.) doit donc faire référence à une description de document type (DTD) pour permettre la validation de sa structure. 2-Syntaxe DTD A- Définir des éléments complexes ( = éléments possédant des éléments fils) La description d un élément complexe nomme cet élément et énumère la liste des éléments qui le composent (ses éléments fils), dans l ordre où ils doivent apparaître : <!ELEMENT element (composant1, composant2, composant3, ) > Ici composant1, composant2 et composant3 doivent être présent 1 et 1 seule fois : ils sont uniques et obligatoires dans la composition de element et doivent être présents dans cet ordre. Associé aux éléments qui le composent, on peut associer le nombre de fois que l on va trouver chacun de ces éléments grâce à un code : <!ELEMENT element (composant1?, composant2*, composant+, ) > composant1? : on trouvera composant1 : 0 ou 1 fois composant2* : on trouvera composant2 : 0 à n fois composant3+ : on trouvera composant3 : 1 à n fois (au moins une fois) On peut également décrire la présence d éléments alternatifs (soit un élément soit un autre) : <!ELEMENT element (adresse, (departement etat ), pays, ) > adresse sera présent 1 fois et une seule (obligatoire) ensuite on trouvera soit un élément departement soit un élément etat, soit pays sera présent 1 fois et une seule (obligatoire) B- Définir des éléments simples ( = pas d élément fils) La description d un élément simple nomme cet élément et caractérise son contenu. #PCDATA signifie que le contenu représente une chaîne de caractères quelconque (Parsed Caracter Data) qui sera analysée par le parser : <!ELEMENT nom_element (#PCDATA) > Un élément peut aussi contenir des caractères qu on ne souhaite pas parser : <!ELEMENT nom_element (#CDATA)> Un élément peut aussi contenir n importe quelle suite de caractères (chaînes de caractères et autres éléments dont on ne veut pas tenir compte) : Resume_DTD_1.doc Page 1 / 5

<!ELEMENT nom_element ANY > Résumé DTD On peut déclarer certains éléments comme étant vides (en HTML, par exemple : br, hr sont des éléments vides, sans contenu) : <!ELEMENT nom_element EMPTY > Ces éléments peuvent néanmoins contenir des attributs. C- Définir la liste des attributs associés à un élément La définition des attributs identifie l élément auquel ils s appliquent, puis énumère pour chaque attribut, son nom, son contenu et éventuellement des contraintes qu ilui sont affectées : <!ATTLIST element attribut1 contenu1 contrainte1 attributn contenun contrainten > element : représente le nom de l élément concerné attribut1, attributn : les noms des attributs contenu1, contenun : le type de contenu : o CDATA : chaîne de caractère quelconque, o NMTOKEN : chaîne de caractère sans espace, ni caractères spéciaux (comme un nom d élément XML) o ID : attribut dont la valeur sera un identifiant unique o IDREF : attribut dont la valeur sera l identifiant d un autre élément contrainte1, contrainten : optionnel, détermine le type de contrainte associée à cet attribut : soit o #DEFAULT valeur : définit la valeur par défaut o #REQUIRED : valeur d attribut obligatoire dans le document XML, o #IMPLIED : valeur d attribut facultative dans le document XML o #FIXED "valeur" : valeur fixe o (valeur1 valeur2 ) «valeur1» : valeur parmi une liste de valeur autorisées o "valeur par défaut" : une valeur par défaut si l attribut n est pas présent D- Définir des entités L entité définir un contenu qui pourra être inséré dans le document XML : <!ENTITY nom_entité "contenu qui va remplacer nom_entité dans le document XML " > Pour remplacer une entité par son contenu dans un document XML, on devra l encadrer par les caractères & et ;. Par exemple : <!ENTITY eau "Bouteille d eau minérale" > Le contenu de l entité eau sera inséré (autant de fois qu on le souhaite) dans la document XML grâce à &eau;. Quelques entités sont prédéfinies : < < tt = less than = plus petit que, inférieur > > gt = greater than= plus grand que, supérieur & & ampersand = perluète " «quotation mark = guillemet Resume_DTD_1.doc Page 2 / 5

&apos; apostrophe = apostrophe 3-Déclaration de DTD dans un document XML Un document XML va soit inclure la DTD, soit faire le lien avec une description externe de la DTD. A- La DTD au sein du document XML La DTD peut être incluse directement dans le document XML : l avantage est que l on n a pas besoin d aller voir dans un autre fichier pour obtenir la description. Le document XML est donc autonome (anglais : standalone) : <?xml version="1.0" standalone="yes"?> <!DOCTYPE element_racine [ <!ELEMENT element_racine (cd*)> ]> <element_racine> le contenu XML de l élément racine </element_racine> B-La DTD dans un fichier séparé La DTD peut être définie dans un fichier séparé : l avantage est que l on peut partager un même fichier DTD entre plusieurs documents XML. Un lien est réalisé dans le document XML vers le fichier contenant la DTD. Le document XML n est donc plus autonome : <?xml version="1.0" standalone="no"?> <!DOCTYPE element_racine SYSTEM "ma_dtd.dtd"> <element_racine> </element_racine> Le document DTD ma_dtd.dtd contient alors : <!ELEMENT element_racine (cd*)> 6-Validation d un document XML grâce à sa DTD Les navigateurs (et les parsers qui y sont intégrés), ne valident pas toujours les documents XML. Ils s assurent seulement que le document chargé soit bien formé. Pour valider un document XML, il faudra faire appel à des applications particulières. Ces services de validation sont offerts, par exemple, au travers d API (Application Programme Interface : services offerts pour les applications développées) mises à disposition dans des framework associés à des langages comme Java ou C# (le framework, correspond à Resume_DTD_1.doc Page 3 / 5

l ensemble des classes et outils fournis autour de ces langages pour developper des applications). 7-Evolution : de la DTD au XSD (XML Schema Definition) La syntaxe DTD est simple et rapide à mettre en œuvre. Elle est cependant exprimée dans un langage particulier et des extensions nécessiteraient de définir de nouveaux mots-clefs de syntaxe. La DTD est encore très utilisée mais elle a tendance à être remplacée par la syntaxe XSD (XML Schema Definition), c'est-à-dire la définition de schéma XML grâce à une syntaxe XML. La syntaxe XSD, grâce à son expression dans le langage XML, permet l ajout d attributs supplémentaires pour contrôler plus précisément les données à transporter. Exemple de syntaxe DTD : <!ELEMENT compilation (cd*)> <!ELEMENT cd (titre, auteur*)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ATTLIST cd duree NMTOKEN> Exemple de syntaxe XML Schéma : <?xml version="1.0" encoding="iso-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/xmlschema"> <xsd:element name="titre" type="xsd:string" /> <xsd:element name="auteur" type="xsd:string" /> <xsd:attribute name="duree" type="xsd:integer" /> <xsd:element name="cd"> <xsd:complextype> <xsd:sequence> <xsd:element ref="titre" /> <xsd:element ref="auteur" minoccurs="0" maxoccurs="9"> </xsd:sequence> <xsd:attribute ref="duree" /> </xsd:complextype> </xsd:element> <xsd:element name="compilation"> <xsd:complextype> <xsd:sequence> <xsd:element ref="cd" minoccurs="1" maxoccurs="unbounded"> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema> Exemple de document XML (liens vers DTD ou XSD): Resume_DTD_1.doc Page 4 / 5

<?xml version="1.0" encoding="iso-8859-1"?> si DTD : <!DOCTYPE element_racine SYSTEM "ma_dtd.dtd"> si XSD : <compilation xmlns:xsi="http://www.w3.org/2000/10/xmlschemainstance" xsi:nonamespaceschemalocation="file:mon_xsd.xsd"/> Si DTD : <compilation> <cd duree="4"><titre>ecoutez moi</titre><auteur>prof</auteur></cd> </compilation> Resume_DTD_1.doc Page 5 / 5