XML. Nicolas Singer. Maître de conférence, université Champollion



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

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

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

XML : documents et outils

SII Stage d informatique pour l ingénieur

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

Gestion Électronique de Documents et XML. Master 2 TSM

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

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

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

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

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

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

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

Les outils de création de sites web

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

Programmation Internet Cours 4

Master d Informatique Corrigé du partiel novembre 2010

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

Formation HTML / CSS. ar dionoea

OASIS Date de publication

Document Object Model (DOM)

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

Les services usuels de l Internet

! Text Encoding Initiative

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

Auguria_PCM Product & Combination Manager

4. SERVICES WEB REST 46

Manuel d intégration API FTP SMS ALLMYSMS.COM

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

«Expertise de ressources «pour l édition de revues numériques

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

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

Intégrateur Web HTML5 CSS3

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

HTML. Notions générales

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

Installation de DocBook sur un système Linux

Comment récupérer un document OOo corrompu. Distribué par Le projet OpenOffice.org

Module http MMS AllMySMS.com Manuel d intégration

Bernard Lecomte. Débuter avec HTML

XML et recherche d information

< Atelier 1 /> Démarrer une application web

Outils logiciels pour l'ingénierie documentaire

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

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

Sana Sellami. Licence Professionnelle SIL

L'essentiel de XML. Cours XML. Olivier Carton

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

Fichiers, dossiers, enregistrer et arborescence

News - Letter, comment ça marche? Agen, 03 décembre D'après un powerpoint du Pôle Normand des Echanges Electroniques. avec sa newsletter

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Voici les objectifs de la séance d'aujourd'hui :

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

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

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

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

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

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

Séance 1 Introduction aux bases de données

Votre site Internet avec FrontPage Express en 1 heure chrono

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

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

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

LAB-Multimedia CMS. Guide d'auto-formation. Copyright by LAB-Multimedia 1/22

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

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

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

Quelques formats de fichiers courants

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Etapes de création d une revue électronique

MobiTicket: une application mobile de ventes aux enchères de billets de spectacles

creer votre site internet en html/css

Programmation Web. Madalina Croitoru IUT Montpellier

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Petite définition : Présentation :

Les architectures 3-tiers Partie I : les applications WEB

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

C r é a t i o n D e S i t e s. P o l C R O V A T T O

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

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

Dévéloppement de Sites Web

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

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

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

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

1 Comment faire un document Open Office /writer de façon intelligente?

Foire aux questions. C est un programme d exploitation et de recherche sur le Web. Exemple : Internet Explorer, Firefox, Opera et Netscape.

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

La Gestion Électronique de Documents spécialement conçue pour les Experts Comptables

Transcription:

XML Nicolas Singer Maître de conférence, université Champollion

XML? Langage de description de documents électroniques : Pour stocker et échanger des documents Par extension, pour représenter tout type d information numérique Et donc pour écrire des applications informatiques

D où vient XML? Du SGML Standard Generalized Markup Language langage de balisage standard généralisé Standard de 1986 pour les documents électroniques quelconques complexe à apprendre et à utiliser quotidiennement.

D où vient XML? Du HTML (1991) Hypertext Markup Language langage de balisage hypertexte Dérivé du SGML pour la publication de documents Web Retour vers SGML avec le XHTML Champ d action limité car dédié au Web. Surtout basé sur la présentation (peu de description du contenu)

Pourquoi XML? exemple HTML <H1> Slogan </H1> <H3> François Jacques </H3> <IMG SRC= "photojacques.jpg"> <P> Vers un avenir meilleur porteur d espoir </P> <P align="center"> Votez pour moi </P>

Naissance d XML XML (1998) Dérivé du SGML qui tente de se servir des principes de simplicité du HTML et de la souplesse SGML. Mise en forme des données totalement séparée des données elles-mêmes. tout document XML peut être basé sur une DTD ou un schéma.

Exemple XML <?xml version="1.0" encoding="iso-8859-1"?> <slogan> <auteur> François Jacques </auteur> <photo> photojacques.jpg </photo> <message> Vers un avenir meilleur porteur d espoir </message> <intention> Votez pour moi </intention> </slogan>

Principe de XML Séparation forme et fond. Pour afficher un document XML, il faut donc Un fichier contenant les données à mettre en forme (XML). Un fichier informant sur la mise en forme souhaitée (XSL). Optionnel : un fichier peut définir les balises auxquelles le document XML pourra avoir recours. C est la DTD (Document Type Definition)

Principe de XML Un document XML est bien formé s'il respecte les règles syntaxiques du XML Un document XML est valide s'il est bien formé et respecte la structure définie dans sa DTD Un document XML sans DTD est dit "standalone" On ne précise donc pas quels sont les balises qui peuvent y figurer et leur imbrication Il n'y a donc pas de notion de validité pour un tel document.

Structure XML Dans un document XML on trouve : Un prologue Déclaration XML Des éléments optionnels Déclaration de type de document (DTD) Déclaration de traitement (feuilles de style, etc.) Un élément racine Un arbre d éléments

Structure XML <?xml version="1.0" encoding="iso-8859-1"?> <biblio> <livre> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> <nb_tomes> 3 </nb_tomes> </livre> <livre> <titre> L'Assomoir </titre> <auteur> Émile Zola </auteur> </livre> <livre lang="en"> <titre> David Copperfield </titre> <auteur> Charles Dickens </auteur> <nb_tomes> 3 </nb_tomes> </livre> </biblio>

Décodage de l exemple <?xml version="1.0" encoding="iso-8859-1"?> Cette déclaration nous indique la version du XML, et l encodage des caractères <biblio>. </biblio> Constitue l élément racine du document <titre> Les Misérables </titre> Ici l élément titre contient du texte <livre> <titre> L'Assomoir </titre> <auteur> Émile Zola </auteur> </livre> Ici l élément livre contient d autres éléments.

Décodage de l exemple Un élément est constitué d'une balise ouvrante et fermante <livre>. </livre> Si le contenu de l'élément est vide, on peut écrire : <livre> </livre> ou <livre />

Décodage de l exemple <livre lang="en"> L élément livre contient un attribut lang dont la valeur est "en". Les attributs ne peuvent être présents que dans la balise ouvrante d'un élément. La valeur des attributs est toujours entre guillemets. On ne peux pas avoir deux fois le même attribut mais on peut avoir plusieurs attributs différents. <img src="ours.gif" alt="gros ours" width="56" />

Structure XML (suite) Un document XML peut contenir des entités Il s'agit de notations qui sont remplacées par leur valeur lors de l'analyse du document Elle peuvent être prédéfinie par le standard XML Elles peuvent être définies dans la DTD Elles s'utilisent encadrées par les caractères & et ; Par exemple voici quelques entités: < correspond à < " correspond à " &aquot; correspond à ' é correspond à é

Structure XML (suite) Cet élément n'est pas bien formé en XML <equation> 2x + 3 < 2x (équation &1) </equation> Il doit être remplacé par : <equation> 2x + 3 < 2x (équation &1) </equation>

Structure XML (suite) Un document XML peut contenir des sections littérales Il s'agit d'une section qui débute par la notation <![CDATA[ et qui se termine par ]]> Par exemple : <![CDATA[Une balise commence par un < et se termine par un >.]]> Le contenu d'une section CDATA n'est pas analysé par le parseur XML

Structure XML (suite) Un document XML peut contenir des commentaires Ils suivent la même syntaxe qu'en HTML <!-- Commentaire -->

Écrire du XML Comment utiliser éléments et attributs? Exemple : Un document listant les étudiants de licence avec leur groupe, sous-groupe, nom, et prénom

Les DTDs Elles permettent de spécifier (et d'imposer) la structure d'un document XML Elles peuvent définir des entités Un document XML qui est bien formé et respecte sa DTD est dit valide.

Les DTDs Elle se déclare en utilisant : <!DOCTYPE element. " " " "> où element désigne la racine du document auquel cette DTD s'applique. Une DTD peut être stockée dans le document lui-même ou dans un fichier externe

Les DTDs DTD externe locale : <!DOCTYPE element SYSTEM "bibliographie.dtd"> DTD externe publique : <!DOCTYPE element PUBLIC "-//singer//madtd//fr" "http://monsite/biblio.dtd">

Les DTDs DTD interne : <!DOCTYPE biblio[ <!ELEMENT biblio (livre)*> <!ELEMENT livre (titre, auteur, nb_pages)> <!ATTLIST livre type (roman nouvelles théâtre) #IMPLIED lang CDATA "fr" > <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT nb_pages (#PCDATA)> ]>

Les DTDs Dans une DTD on trouve : Des déclarations d'éléments Des déclarations d'attributs (d'éléments) Des déclarations d'entités

Les DTDs : éléments Une déclaration d'éléments est de la forme : <!ELEMENT nom type_element> où nom est le nom de l'élément et type_element son type : Texte : (#PCDATA) Vide : EMPTY Séquence : (elt1,elt2,elt3, ) Choix : (elt1 elt2 elt3 ) Quelconque : ANY

Les DTDs : éléments Les éléments texte : <!ELEMENT exemple (#PCDATA)> Utilisation : <exemple> n'importe quel texte peut venir ici </exemple>

Les DTDs : éléments Les éléments vides : <!ELEMENT exemple EMPTY> Utilisation : <exemple /> ou <exemple> </exemple>

Les DTDs : éléments Les éléments séquence : <!ELEMENT exemple (ex1,ex2,ex3) > Utilisation : <exemple> <ex1> </ex1> <ex2> </ex2> <ex3> </ex3> </exemple> Mais pas : <exemple> <ex1> </ex1> <ex3> </ex3> </exemple>

Les DTDs : éléments Les éléments choix : <!ELEMENT exemple (ex1 ex2 ex3) > Utilisation : <exemple> <ex1> </ex1> </exemple> Ou encore : <exemple> <ex1> </ex1> <ex3> </ex3> </exemple>

Les DTDs : éléments Les modificateurs d'occurrence : Lors de la déclaration de séquence ou de choix d'éléments, à chaque élément enfant peut être attribuée une indication d'occurrence (?, + ou *).? Signifie au maximum une fois + signifie au moins une fois * signifie zéro fois ou plus

Les DTDs : éléments Les modificateurs d'occurrence : exemple: <!ELEMENT exemple (ex1, ex2?, ex3+, ex4*)> ex1 doit apparaître une fois et une seule ex2 peut apparaître une seule fois ex3 doit apparaître au moins une fois ex4 peut apparaître zéro ou plusieurs fois

Les DTDs : éléments Les modificateurs d'occurrence : En choisissant bien ses modificateurs, on peut créer des éléments à contenu mixte. Par exemple : <!ELEMENT exemple (#PCDATA auteur)* > Utilisation : <exemple> Un peu de texte <auteur> Nicolas </auteur> </exemple>

Les DTDs : éléments Les éléments quelconques : <!ELEMENT exemple ANY > Utilisation : <exemple>. <!-- tout et n'importe quoi, y compris rien --> </exemple>

Les DTDs : attributs Les attributs se déclarent avec la syntaxe : <!ATTLIST nom_element nom_attribut1 type_attribut1 déclaration_défaut1 nom_attribut2 type_attribut2 déclaration_défaut2 > Où nom_element désigne l'élément auquel s'applique l'attribut nom_attribut défini le nom de l'attribut type_attribut défini quelles valeurs peut prendre l'attribut déclaration_défaut défini la valeur par défaut de l'attribut On peut préciser autant d'attribut que l'on veut dans une ATTLIST

Les DTDs : attributs Chaque attribut peut être requis, optionnel ou fixe et avoir une valeur par défaut. Déclaration d'un attribut avec une valeur par défaut : <!ELEMENT elt (...)> <!ATTLIST elt attr CDATA "valeur"> Déclaration d'un attribut requis : <!ELEMENT elt (...)> <!ATTLIST elt attr CDATA #REQUIRED> Déclaration d'un attribut optionnel : <!ELEMENT elt...)> <!ATTLIST elt attr CDATA #IMPLIED> Déclaration d'un attribut avec une valeur fixe : <!ELEMENT elt (...)> <!ATTLIST elt attr CDATA #FIXED "valeur">

Les DTDs : attributs Les types possibles pour un attribut Type chaîne de caractères (CDATA) <!ELEMENT elt (...)> <!ATTLIST elt attr CDATA #IMPLIED> Type Identifiant Unique (ID) <!ELEMENT elt (...)> <!ATTLIST elt attr ID #IMPLIED> Type énuméré ( ) <!ATTLIST img format (BMP GIF JPEG) "JPEG">

Les DTDs : entités Les entités internes. Symboles définis dans une DTD et utilisés dans un document XML comme raccourcis d'écritur <!ENTITY ADN "Acide désoxyribonucléique"> Dans le fichier XML, l'appel à &ADN; sera remplacé par "Acide désoxyribonucléique".

Les DTDs : entités Les entités externes Il s'agit de symboles définis dans un autre fichier, mais pouvant être utilisés dans un document XML. <!ENTITY Inclusion SYSTEM "toto.xml"> Dans le fichier XML, le contenu du fichier toto.xml sera inséré à l'appel de l'entité &Inclusion;