Master IT 2013/2014. Prof. M.D. RAHMANI



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

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

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

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

SII Stage d informatique pour l ingénieur

XML : documents et outils

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

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

Gestion Électronique de Documents et XML. Master 2 TSM

Programmation Internet Cours 4

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

Gestion documentaire (Extraits du CCI version 1.2)

L'essentiel de XML. Cours XML. Olivier Carton

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

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

Petite définition : Présentation :

Systèmes d'informations historique et mutations

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

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

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

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

Quelques formats de fichiers courants

Les types de fichiers

Les services usuels de l Internet

Manuel d intégration API FTP SMS ALLMYSMS.COM

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

Formation : WEbMaster

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

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

Théorie : internet, comment ça marche?

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

7.0 Guide de la solution Portable sans fil

Configuration Interface for MEssage ROuting

Formation HTML / CSS. ar dionoea

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

ECLIPSE ET PDT (Php development tools)

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

A. Architecture du serveur Tomcat 6

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

Module http MMS AllMySMS.com Manuel d intégration

Outils logiciels pour l'ingénierie documentaire

Introduction à Microsoft InfoPath 2010

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

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

Adobe Technical Communication Suite 5

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

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?

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

Chapitre 3 : outil «Documents»

Groupe Eyrolles, 2004 ISBN :

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

Architectures web/bases de données

La base de données XML exist. A. Belaïd

!" #$%&'(&)'*'+,--./&0'1&23,+2.)$4$%52'&%'6.%&2'

Programmation Internet

Par Daniel FAIVRE WebMapper ... Publication de cartes pour Internet avec ArcGis

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

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Hébergement de site web Damien Nouvel

Pelleas : Le projet XML pour le systeme d information documentaire du polytechnicum de Marne- la Vallée

Système de gestion de contenu

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

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

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

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

XML et recherche d information

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

L architecture des services Web

Notes pour l utilisation d Expression Web

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

HTML. Notions générales

4. SERVICES WEB REST 46

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Module BD et sites WEB

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

Groupe Eyrolles, 2003, ISBN : X

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

< Atelier 1 /> Démarrer une application web

Partie publique / Partie privée. Site statique site dynamique. Base de données.

Joomla! Création et administration d'un site web - Version numérique

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation Web. Madalina Croitoru IUT Montpellier

BIRT (Business Intelligence and Reporting Tools)

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Introduction à. Oracle Application Express

CHAPITRE I INTRODUCTION CHAPITRE I E-COMMERCE. PLAN 1. Commerce électronique 2. Méthodologie de développement 3. Création de trafic

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

LE CONCEPT DU CMS CHAPITRE 1

Introduction aux concepts d ez Publish

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

Sage CRM. Sage CRM 7.3 Guide du portable

Bibliothèque numérique de l enssib

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

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

Programmation Web Avancée Introduction aux services Web

Transcription:

TECHNOLOGIES XML Master IT 2013/2014 Prof. M.D. RAHMANI 1

PLAN Les bases de XML Syntaxe, éléments, attributs, arbres, document bien formé, Espace de noms Les Grammaires XML Document XML valide (DTD, XML Schéma) XML: recherches et transformation XPath, XSLT Programmation XML DOM, SAX 2

BIBLIOGRAPHIE J.C.Bernadac, F. Knab, Construire une application XML, Ed. Eyrolles(1999). A. Michard, XML, Langage et Applications, Ed. Eyrolles (1999). S. Lecompte,T. Boulager,, XML par la pratique (2 ème edition), Ed. ENI 3

- Tous les liens sur XML et SGML: http://www.oasis-open.org/cover WEBOGRAPHIE - Les recommandations W3C : la page XML http://www.w3.org/xml la recommandation XML http://www.w3.org/tr/rec-xml - Cours XML : - Olivier carton http://www.liafa.jussieu.fr/~carton/enseignement/xml/cours/support.pdf - Cours et tutoriels: http:/xml.developpez.com/cours - Cours XML université Pierre et marie curie: http://www.gchagnon.fr/cours/xml - Université Aix-Marseille http://www.dil.univ-mrs.fr/~tichit/java/coursxml_1_xml.pdf - Cours CNAM: http://www.infres.enst.fr/~talel/cours/bda/enst-xml-xpath-xslt-t3-02-03.pdf 4

Définitions XML est un méta-langage qui permet de créer des langages de balisage adaptés aux types d informations à décrire XML est un langage de description de document. 5

Historique 1986: SGML (Standard Generalized e la structure d un document. Il propose à la fois une approchemarkup Language) fut adopté par l ISO pour normaliser la description d générale et ouverte, mais assez complexe à mettre en œuvre. ( 20 % seulement de la fonctionnalité de SGML était utilisée). 1990 marque la naissance de HTML (Hypertext Markup Language) Le nouveau langage rendit nécessaire la création d un nouveau protocole destiné au transfert des données HTML, c est la naissance du HTTP (Hypertext Transfert Protocol ). Les serveurs http mettent les pages HTML à la disposition de l utilisateur, les documents sont lus à l aide des navigateurs. 6

Historique 1993 apparut MOSAIC, le premier navigateur WEB avec interface graphique. A l origine était sous UNIX, puis sous Windows, son concepteur Marc Anderesen est le fondateur de la société NETSCAPE. 1996: Le consortium W3C (Word Wide Web Consortium) et les grandes entreprises des logiciels se sont mis d accord pour définir un langage de balisage normalisé. 1998: La 1 ère version 1.0 des spécifications de XML (extensible Markup Language ou langage de balisage extensible) a fait l objet d une recommandation XML 1.0. 7

Caractéristiques de XML Tout comme son parent SGML, XML est un méta-langage. XML permet la définition d un langage pour décrire la structure de l information associée à un type de document donné. Le mot markup rend compte du fait que XML permet d identifier les différents éléments d un document au moyen de balises HTML n est qu une application de SGML avec une syntaxe figée et non extensible. XML est extensible: on peut créer autant de balises que l on souhaite. Les balises HTML servent à formater les informations. Les balises XML ne servent qu à structurer les documents. Remarque: Un document XML ne possède aucune information sur la manière dont il doit être affiché sur un écran d ordinateur. 8

Editeurs XML Notepad++: http://notepad-plus-plus.org/fr/ jedit: http://www.jedit.org/ XMLWriter: http://xmlwriter.net/ Eclipse: https://www.eclipse.org/ Editix XML Editor: http://www.editix.com/ Oxygen XML Editor: http://www.oxygenxml.com/ 9

Exemple d'un document XML demo.xml 1- <?xml version="1.0"?> 2- <demoxml> 3- <message>voici du XML</message> 4- </demoxml> Explication: 1- prologue: déclaration du type de document. 2- la balise ouvrante de l'élément racine du document 3-un sous élément avec un contenu 4- la balise fermante de l'élément racine du document 10

Exemple: demo1.xml 1. PROLOGUE <?xml version='1.0' encoding='iso-8859-1'?> déclaration, encodage ISO-Latin <!-- fichier demo.xml --> commentaire la DTD, s'il y a, est dans le prologue 2. ARBRE d'elements <demoxml> élément racine du document <message>voici du XML</message> élément = balise d'ouverture + contenu + balise de fermeture balise d'ouverture peut contenir des attributs </demoxml> 11

LE DOCUMENT XML I- Le prologue: 1- Une déclaration qui annonce qu il s agit d un document XML. <?xml version="1.0" [encoding="chaine"] [standalone="yes no"]?> <?xml?> est une déclaration - l'attribut encoding précise l'encodage des caractères du document : "UTF-8", "UTF-16", "US-ASCII" l'ascii sans caractère accentué, "ISO-8859-1" français. - standalone précise si le document est seul (sans DTD) ou non (auquel cas une instruction <!DOCTYPE... est nécessaire) 12

LE DOCUMENT XML 2- instructions de traitement : <?application argument1 arg2... argn?>, qui ne font pas parties du document au sens XML. Ce sont des instructions au processeur XML. Exemple: <?stylesheet TYPE="text/css" HREF="feuille.css"?> Il s'agit dans ce cas d'associer une feuille de style CSS au document XML 3- commentaire <!-- commentaire --> 13

II- Arbre d'éléments: LE DOCUMENT XML Le contenu est structuré en éléments qualifiés par des attributs avec des valeurs Un élémentest représenté par une paire de balises et son contenu Les balises décrivent la structure du texte, pas sa présentation Les balises ouvrantes peuvent porter zéro, un ou plusieurs attributs qui donnent des précisions sur les éléments et leur contenu Un attributa un nomet une valeur Elémentset attributsne sont pas prédéfinis, mais choisis en fonction du type de document à représenter Le balisage est indépendant du système où il est créé et des traitements à effectuer 14

LE DOCUMENT XML Arbre d'éléments: - un seul élément racine du document, - les balises doivent être correctement emboîtées, - les noms des éléments et attributs suivent la spécification des "namespaces", espaces de noms. - <texte/> élément vide est équivalent à <texte></texte> - <payement devise='dirham' mode="cb"> balise d'ouverture avec attribut(s) : couple nom='valeur', - les valeurs d'attribut sont entre " ou entre ' 15

LE DOCUMENT XML Attributs prédéfinis : xml:lang="fr" indication de la langue xml:space="default preserve" indique au processeur XML ce qu'il faut faire des "blancs" (espace, tabulation, nouvelle ligne) les supprimer ou les sauvegarder. 16

Les entités: LE DOCUMENT XML Une entité est une chaîne de caractères commençant par & et se terminant par ; Elle s'apparente à une macro Référence à une entité prédéfinie : < référence l'entité prédéfinie < > pour > & pour & " pour " &apos; pour ' &#valeur; code un caractère, par exemple pour l'espace 17

La section CDATA: LE DOCUMENT XML Une section CDATA (Character Data) contient une chaîne de caractères qui n'est pas analysée par le processeur XML Exemple: demo2.xml <texte> le code que vous devez saisir est : <![CDATA[a<b et b>c]]> pour entrer </texte> a<b et b>c est une section littérale (constante), donc elle n'est pas "interprétée". 18

Attribut or pas? La construction: Définition d attributs <replique> <personnage attitude='assis souriant' geste='un dollar entre les mains'>jordan Belfort</personnage> <texte ton='long' >Je m appelle Jordan Belfort. L année de mes 26 ans, à la tête de ma propre firme de courtage, je me suis fait 49 millions de dollars, ce qui m énerva vraiment car ça faisait à peine un million par semaine.</texte> </replique> pourrait être remplacée par : <replique> <personnage>jordan Belfort</personnage> <attitude>assis souriant</attitude> <geste>un dollar entre les mains</geste> <ton>long</ton> <texte>je m appelle Jordan Belfort. L année de mes 26 ans, à la tête de ma propre firme de courtage, je me suis fait 49 millions de dollars, ce qui m énerva vraiment car ça faisait à peine un million par semaine.</ texte> </replique> Jordan Belfort (Leonardo DiCaprio) dans Le Loup de Wall Street de Martin Scorsese, 2013 19

Il faut plutôt utiliser un élément Attributs ou éléments lorsque l ordre est important (l ordre des attributs est au hasard) lorsqu on veut réutiliser un élément plusieurs fois (avec le même parent) lorsqu on veut (dans le futur) avoir des descendants / une structure interne pour représenter un type de données (objet) plutôt que son usage, autrement dit: une "chose" est un élément et ses propriétés sont des "attributs" Il faut plutôt utiliser un attribut lorsqu on désire faire référence à un autre élément pour indiquer l usage/type/etc. d un élément <adresse usage="prof">... </adresse> lorsqu'on veut imposer des valeurs par défaut dans la DTD 20

Documents bien formés Un document XML est bien formé (well-formed) s il respecte les règles de la syntaxe XML : Un document possède une racine et une seule Tout élément a une balise ouvrante et une fermante : <n>...</n> Eléments vides : <b></b> ou <b/> Les paires de balises ouvrantes/fermantes sont imbriquées <a>...<b>...</b>...</a> <a>...<b>...</a>...</b> pas de chevauchement Chaque attribut doit avoir une valeur Un attribut ne peut apparaître qu une fois pour un même élément Un processeur XML doit s arrêter lorsqu il rencontre une erreur 21

Arbres XML Un document bien formé peut être considéré et traité comme un arbre <a> <a> </a> <c/> </a> <b>bla</b> <c> </c> <a><b/>...</a> L imbrication et l ordre des éléments reflètent la structure arborescente et ordonnée Les éléments terminaux sont des éléments vides ou des chaînes de caractères Particularité : les attributs d un même élément n ont pas d ordre 22

CSS: Formatage d un document XML - CSS1 et CSS2 (Cascading Style Sheets) sont des feuilles de style dédiées à la présentation visuelle de documents XML. XSL: Le langage XSL (Extensible Stylesheet Language), se compose de deux sous langages: 1- XSLT: un langage permettant d effectuer des transformations sur un document XML API: 2- XSLFO: un langage permettant le formatage de documents XML. Une autre façon de formater un document consiste à modifier son contenu par un programme (Java, C++, PERL, ), pour aboutir à un document HTML ou un format de sortie recherchée. Les deux principales catégories d API sont (SAX et DOM) 23

Définition: Espaces de noms XML Un espace de noms permet de garantir l unicité des noms d éléments et d attributs. On attache une information unique à un nom de balise. Cette information est une URL(Uniform Ressource Locator). Déclaration: xmlns:reseau="http://www.fsr.ac.ma/reseau" 24

Espaces de noms XML Soit un document qui donne la position géographique d un parc d ordinateurs: <machines>. <machine> <nom>unix1</nom> <adresse> <batiment>12</batiment> <bureau>r-09</bureau> </adresse> </machine> </machines> Un document qui donne les adresses réseau d un parc d ordinateurs: <reseau> <equipement> <adresse> <IP>212.140.115.10</IP> <nom>unix1.fsr.ac.ma</nom> </adresse> </equipement>. </reseau> Remarque: la même balise adresse n a pas le même sens dans les deux cas. 25

Espaces de noms XML Si on fusionne les 2 documents, la signification de la balise adresse devient ambigüe: <machines> <machine> <nom>unix1</nom> <adresse> <batiment>12</batiment> <bureau>r-09</bureau> </adresse> <adresse> <IP>212.140.115.10</IP> <nom>unix1.fsr.ac.ma</nom> </adresse> </machine>. </machines> 26

Espaces de noms XML La solution est d associer un espace de noms et un préfixequi qualifie les noms des éléments et des attributs de cet espace. <?xml version="1.0" encoding="iso-8859-1"?> <machines> <machine> <nom>unix1</nom> <adresse> <batiment>12</batiment> <bureau>r-09</bureau> </adresse> <reseau:adresse xmlns:reseau="http://www.fsr.ac.ma/reseau" > <reseau:ip>212.140.115.10</reseau:ip> <reseau:nom>unix1.fsr.ac.ma</reseau:nom> </reseau:adresse> </machine>. </machines> 27

Espaces de noms XML Plusieurs espaces de noms peuvent être utilsés. <?xml version="1.0" encoding="iso-8859-1"?> <local:machines xmlns:reseau="http://www.fsr.ac.ma/reseau" xmlns:local="http://www.fsr.ac.ma/localisation"> <local:machine> <local:nom>unix1</local:nom> <local:adresse> <local:batiment>12</local:batiment> <local:bureau>r-09</local:bureau> </local:adresse> <reseau:adresse> <reseau:ip>212.140.115.10</reseau:ip> <reseau:nom>unix1.fsr.ac.ma</reseau:nom> </reseau:adresse> </local:machine>. </local:machines> 28

Espaces de noms XML Espace de noms et attribut: Les attributs peuvent également bénéficier des espaces de noms Exemple: Soit: Devient: <produit monnaie="dirhams"> </produit> <prix>140<prix> <com:produitxmlns:com='http://www.societe.com/commercial' com:monnaie= 'Dirhams'> <com:prix> 150</com:prix> </com:produit> 29

Dialectes, extensions et applications XLink et XPointer: Liens entre documents XPath: Sous-ensemble d'un document XQuery: Requêtes de base de données XSL: Transformation de documents Schémas XML: Modèles de documents RSS : (Really Simple Syndication) Flux de données XUL : (XML-based User interface Language) Langage de description d'interfaces graphiques SVG : (Scalable Vector Graphics) Dessin vectoriel SMIL: (Synchronized Multimedia Integration Language) Multimédia MusicML: partition musicale CML: description des molécules chimiques en 3D MathML: l'équivalent du TEX (formules mathématiques) 30

La galaxie XML 31