Module BD et Sites Web. Cours 4 XML

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

XML : documents et outils

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

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

SII Stage d informatique pour l ingénieur

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

Module BD et sites WEB

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

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

Programmation Internet Cours 4

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

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

Introduction à Microsoft InfoPath 2010

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

Gestion Électronique de Documents et XML. Master 2 TSM

Les outils de création de sites web

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

L'essentiel de XML. Cours XML. Olivier Carton

Petite définition : Présentation :

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

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

Formation : WEbMaster

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

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

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

Titres de créances NégOciables Refonte Informatique et organisationnelle

Bibliothèque numérique de l enssib

UML (Paquetage) Unified Modeling Language

Information utiles. webpage : Google+ : digiusto/

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

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

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

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)

! Text Encoding Initiative

Les architectures 3-tiers Partie I : les applications WEB

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Systèmes d'informations historique et mutations

Livre Blanc WebSphere Transcoding Publisher

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

Formation HTML / CSS. ar dionoea

Le codage informatique

Installation de DocBook sur un système Linux

Manuel d'utilisation du navigateur WAP Palm

< Atelier 1 /> Démarrer une application web

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

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

XML et travail collaboratif : vers un Web sémantique

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

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

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Module http MMS AllMySMS.com Manuel d intégration

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

Les services usuels de l Internet

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

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

Présentation du PL/SQL

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

SECTION 5 BANQUE DE PROJETS


armasuisse Office fédéral de topographie swisstopo Cours geocat.ch 28 avril 2014

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

en 16 différences

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

4. SERVICES WEB REST 46

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

Quelques formats de fichiers courants

Préambule. Sommaire. Ouverture de votre Service Client. Configuration de La Solution Crypto. Activation. Paramètres PagesIMMO

v7.1 SP2 Guide des Nouveautés

Programmation Web. Madalina Croitoru IUT Montpellier

Système de gestion de contenu

Gestion Electronique de Document (ECM/GED)

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Web Application Models

Introduction aux concepts d ez Publish

Learning Object Metadata

Access 2007 FF Access FR FR Base

Compte Rendu d intégration d application

Conception des bases de données : Modèle Entité-Association

plateforme de partage de documents gestion de documents avancée administration conviviale SOLUTIONS LOGICIELLES

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

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

1 Introduction au codage

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

La Clé informatique. Formation Excel XP Aide-mémoire

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

Adobe Technical Communication Suite 5

Gestion documentaire (Extraits du CCI version 1.2)

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

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

creer votre site internet en html/css

SQL Server 2012 et SQL Server 2014

Infrastructure de Données Spatiales

Stocker des données sur Amazon S3

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Document Object Model (DOM)

XML et recherche d information

Séance 1 Introduction aux bases de données

Transcription:

Module BD et Sites Web Cours 4 XML 1

Constat Les données du Web sont très hétérogènes (HTML, Word, pdf, données multimedia, données structurées, etc.) Interopérabilité des données? Les mêmes données sont souvent publiées sous des formats différents (Web, Palm, Wap, papier, ) Duplication de données, difficile à gérer Les données des sites Web sont souvent extraites des BD. PHP, JSP, ASP pour générer des pages HTML Pas toujours simple, parfois lourd à gérer 2

Echange et Publication de données XML Echange et interopérabilité de données Représentation uniforme des données XSLT : permet d obtenir des formats différents à partir d un même contenu Publication de données sur différents supports Dissocie contenu et présentation PHP Accès aux données contenues dans les BD. 3

Plan XML et DTD Document XML DTD Elément Attribut 4

XML Extensible Markup Language Format/langage standard pour la publication et l échange de documents sur le Web - Consortium W3C (Oracle, IBM, MS, MIT, INRIA.) 1996 - Version 1.0 en 1998, nombreux développements depuis. Origine: Successeur de HTML, héritier de SGML : HTML est une grammaire particulière de SGML XML est aussi général que SGML, mais simplifié 5

XML Objectif Echange, partage, diffusion et publication de documents Recherche d information : moteurs de recherche généralisée, portails spécialisés Commerce électronique Principes Balisage structurel (SGML) Balisage défini par les auteurs : souplesse Séparer la structure logique des données de leur présentation feuille de style XSL : ensemble de règles (XSLT) pour la réalisation sur un médium particulier 6

Structuration des données En XML, les informations sont représentées sous forme d une chaîne de caractères, structurées à l aide de balises : <restaurant> <nom> Bel Canto </nom> <adresse> Rue de la Tombe-Issoire </adresse> <telephone> 01 45 46 47 48 </telephone> </restaurant> Une paire de balises (ouvrante, fermante), et ce qui est à l intérieur, constitue un élément XML 7

Document XML Un document XML peut se représenter sous deux formes: La forme sérialisée est la forme courante (contenu marqué par des balises). Elle est utilisée pour Stocker un document dans un fichier Echanger des documents La forme arborescente met en évidence la structure du document (facilite la conception des traitements). Elle permet de situer la place de l élément dans la hiérarchie Elle permet de spécifier des manipulations de données XML 8

Exemple <restaurant> <nom>bel Canto </nom> <adresse> Rue de la Tombe-Issoire </adresse> <telephone> 01 45 46 47 48 </telephone> </restaurant> Bel Canto restaurant nom adresse telephone Rue de la Tombe Issoire 01 45 46 47 48 La structure des documents est définie par le Document Object Model (DOM) L arbre n est pas forcément un arbre équilibré 9

Forme sérialisée Un document XML est découpé en éléments structurés hiérarchiquement. Un document a un élément racine appelé élément du document. Un élément est composé : d un nom qui spécifie son type, d attributs, d un contenu formé d éléments ou de textes. Un texte est une chaîne de caractères. Un attribut a un nom et une valeur qui est une chaîne de caractères. Syntaxiquement, les éléments d un document XML sont marqués dans le document lui-même par des paires de balises ouvrantes et fermantes. 10

Structure d un document Un document est composé d un prologue (facultatif) d un arbre d éléments (obligatoire : décrit le contenu) de commentaires et instructions de traitement (facultatif) Exemple : <?xml version="1.0" encoding='iso-8859-1' standalone='yes'> <personne> <nom>martin</nom> <prenom>jean</prenom> <adresse> <rue>rue du Bac</rue> <ville>paris</ville> </adresse> <! - pas d autre information disponible --> </personne> 11

Prologue Déclaration XML (indications au processeur) <? xml version= 1.0 encoding= ISO-8859-1 standalone= yes?> xml version= 1.0 : décrit la version utilisée encoding= ISO-8859-1 : codage de caractères utilisés dans le document standalone= yes : existence de déclarations extérieures (yes = toutes les déclarations nécessaires au document sont incluses) 12

Arbre d éléments <nom>contenu</nom> Un document est formé d une hiérarchie d éléments dénotant la structure sémantique du contenu. Tout élément fils est complètement inclus dans son père. L élément racine est unique et contient tous les autres éléments. Un élément peut contenir d autres éléments, des données, des références à des entités, des sections littérales, des instructions de traitement. Il peut aussi être vide. Le nom de l élément peut éventuellement être suivi d attributs, qui décrivent des propriétés de l élément. Chaque attribut a une valeur unique. Un document XML est bien formé s il respecte ces principes. 13

Structures types de documents DTD (Document Type Definition) Les éléments qui décrivent un document peuvent être décrits dans une DTD (Déclaration de type de document) : <!DOCTYPE undocument SYSTEM externe.dtd [décl. internes]> - undocument : nom du document (doit être le nom du nœud racine) - externe.dtd : source extérieure contenant la DTD - [décl. internes]> : déclarations locales, principalement pour les entités La DTD est facultative : si absente, la structure est implicite grâce au balisage, si présente, elle doit être respectée par le document (validation). Un document est valide s il est conforme à une DTD 14

DTD La DTD peut être - incluse dans le document (standalone = yes ). - externe (standalone = no ). Elle contient des déclarations pour tous les éléments, attributs, entités, notations utilisés dans le document. Elle peut aussi contenir des commentaires 15

Rôles des DTD Modèle selon une organisation hiérarchique (définition des éléments, attributs, contenus) Spécifie la structure des instances de documents : cet élément contient ces éléments, ces attributs, etc. Spécifie le type de données de chaque élément et attribut Définition d entités : mécanisme d inclusion (interne, externe, paramètre) utile pour les opérations de modularisation et de réutilisation. (Un document peut être découpé en entités enregistrées dans un ou plusieurs fichiers.) 16

Noms de balise Les noms de balise sont libres et peuvent comprendre : Des lettres de l alphabet (y compris les lettres accentuées) Des chiffres Les caractères et _ Ils ne doivent pas contenir d espace, et ne peuvent pas commencer par un chiffre. Les majuscules sont distinguées des minuscules 17

Elément Un élément est composé : d une balise de début qui contient le nom de l élément et éventuellement ses attributs, d un contenu, d une balise de fin. Par exemple : <rapport langue="français">présentation d XML </rapport> balise de début : <rapport langue="française"> nom : rapport attribut : langue="française" contenu : présentation d XML balise de fin : </rapport> 18

Contenu d un élément Définition d un élément dans une DTD : <!ELEMENT nom modeledecontenu> Le contenu d un élément peut être Vide (EMPTY) Du texte simple (#PCDATA) Composé d éléments Mixte : mélange de texte et d éléments Libre (ANY) 19

Modèle de contenu (1) Modèle de contenu vide EMPTY Obligatoirement vide (infos uniquement dans attributs) Ne peut pas être composé (pas d éléments fils) Ex : <!ELEMENT note EMPTY > Texte simple : #PCDATA Parsed Character Data (pas d éléments fils) - Ex: <!ELEMENT titre (#PCDATA)> 20

Modèle de contenu (2) Composé d éléments: Décrit l'organisation des sous-éléments directs (ie. les fils) Deux organisations possibles : - la séquence (fils1, fils2, ) : fils1 est suivi de fils2 qui est suivi de... - le choix (fils1 fils2 ) : fils 1 ou fils2 ou... On peut décrire l'organisation par morceaux: blocs entre parenthèses Ex: <!ELEMENT chapitre (titre, intro, (texte-long résumé))> 21

Indicateur d occurrence * : nombre quelconque + : 1 ou plusieurs fois? : 0 ou 1 fois rien : exactement une fois L'indicateur d'occurrence s'applique à un élément ou un bloc Ex1 : <!ELEMENT chapitre (titre, intro?, paragraphe+)> Ex2 : <!ELEMENT forum (titre, intro?, (question, réponse*)+)> 22

Modèle de contenu (3) Modèle de contenu mixte (#PCDATA élément 1 élément 2 élément n )* Mêler données et éléments Ex : <!ELEMENT paragraphe (#PCDATA em exp ind)*> <paragraphe> Du texte <em> en évidence </em>, 9 = 3<exp>2</exp> </paragraphe> Modèle de contenu libre ANY Contenu quelconque (autres éléments et données) Sert à prototyper des DTD complexes 23

Attributs d un élément Les attributs sont un autre moyen de représenter l information <rapport langue= français date= 2010 > L ordre des attributs n est pas important. Un attribut doit toujours avoir une valeur, encadrée par des apostrophes simples ou doubles. Il ne peut pas y avoir deux attributs de même nom dans un élément. Les attributs ne sont pas ordonnés alors que les éléments le sont (on accède à un attribut par son nom, et pas par sa position dans la balise) 24

Attributs d un élément Déclaration dans la DTD : <!ATTLIST nom-élément nom-attribut type-attribut mode-défault> On peut grouper la déclaration des attributs d un même élément Type-attribut : CDATA : la valeur de l attribut est une chaîne de caractères ID : identificateur d élément, IDREF : renvoi vers un ID existant IDREFS : renvoi vers un ensemble d'id existants NMTOKEN(S) : un ou des noms symboliques (sans blanc) (a b c ) : type énuméré. ENTITY : entités externes non XML Mode : Valeur par défault Obligatoire : #REQUIRED Facultatif : #IMPLIED Constante : #FIXED 25

Exemples d attributs Dans la DTD <!ELEMENT date (#PCDATA)> <!ATTLIST date format (ANSI ISO FR) #REQUIRED> Dans le document <date format= FR >9 mars 2012 </date> <date format= ISO >2012-3-9 </date> 26

Exemple <!ELEMENT bibliothèque (personne+, livre+)> <!ELEMENT personne (nom)> <!ATTLIST personne num ID #REQUIRED> <!ELEMENT livre (titre, auteur+)> <!ELEMENT auteur EMPTY> <!ATTLIST auteur ref IDREF #REQUIRED> <!ELEMENT nom (#PCDATA) > <!ELEMENT titre (#PCDATA) > ---------------------------------------------------------- ----------------------------------- <bibliothèque> <personne num="p1"><nom>toto</nom></personne> <personne num="p2"><nom>titi</nom></personne> <livre> <titre>xml en 2 jours </titre> <auteur ref="p1"/> <auteur ref="p2"/> </livre> </bibliothèque> 27

Attribut de type IDREFS <!ELEMENT bibliothèque (personne+, livre+)> <!ELEMENT personne (nom)> <!ATTLIST personne num ID #REQUIRED> <!ELEMENT livre (titre, auteurs)> <!ELEMENT auteurs EMPTY> <!ATTLIST auteurs ref IDREFS #REQUIRED> <!ELEMENT nom (#PCDATA) > ---------------------------------------------------------- ----------------------------------- <bibliothèque> <personne num="p1"><nom>toto</nom></personne> <personne num="p2"><nom>titi</nom></personne> <livre> <titre>xml en 2 jours </titre> <auteurs ref="p1 p2"/> liste de valeurs existantes séparées par un espace </livre> </bibliothèque> Un seul élément auteurs par livre, pour représenter une association N-M entre livres et auteurs 28

Entités Caractère, chaînes de caractères, fichier externe, fragment, Déclarée par un nom nom-entité, et une valeur val Appelée dans le document par &nom-entité; Interprétation : remplacer &nom-entité dans le document par val. Permet de réutiliser quelque chose défini ailleurs (ressemble à une macro, un raccourci) 29

Entités Entités internes : définies localement, comme une chaîne de caractères Entités externes : font référence à des fichiers externes Entités prédéfinies et entités caractères : référencent des caractères réservés en XML et des caractères qui ne sont pas sur le clavier 30

Entités prédéfinies amp (&) apos ( ) quot ( ) gt (>) lt (<) #code-unicode 31

Entités internes Définies par l utilisateur Dans la DTD <!ENTITY nom-entité valeur > Exemple : <!DOCTYPE mon-document [ <!ENTITY copyright Banania corp. > ]> Dans la chaîne de caractères valeur de l entité copyright, on trouve &#x00a9, appel à une entité prédéfinie. <mon-document> &copyright </mon-document> Produira : Banania corp. 32

Entités externes xml Déclaration et appel <!ENTITY carte-de-visite SYSTEM cdv.xml > <message> &carte-de-visite; </message> Les entités externes doivent être des fragments XML bien formés On peut donc réutiliser des fragments XML poru construire un nouveau document Rappel : un document xml est bien formé si : ses éléments sont correctement imbriqués (pas de chevauchement) chaque attribut a une valeur unique En d autres termes, un document xml est bien formé s il représente un arbre étiqueté. NE PAS CONFONDRE : document bien formé (/xml) et document valide (/DTD) 33

Notations et entités non-xml Déclaration : <!NOTATION gif SYSTEM /usr/bin/xv > <!ENTITY maphoto SYSTEM./mesphotos/mapomme.gif NDATA gif> <photo img= maphoto > Uniquement appel dans un attribut (pas besoin de &) La déclaration de notation associée au NDATA indique que xml ne traitera pas cette entité. La notation indique de plus quelle application utiliser (xv) 34

Entité paramètre Une entité paramètre est une entité déclarée dans une DTD pour être utilisée dans cette DTD. Permet la réutilisation de fragments de DTD dans la définition d une autre DTD Déclarée dans la partie interne (dans la partie DOCTYPE) Ex : <!ENTITY % nom-entite "valeur entite" > La référence à l entité (dans la DTD) se fait par %nom-entité. 35

Exemple <!-- Dans la DTD -- > <!ENTITY % pub "Éditions ToutSavoir" > <!ENTITY rights "Tous droits réservés" > <!ENTITY book "J.Martin. Les BD en s amusant, %pub. &rights">... <!-- Dans le document -- > <p> &book </p> On obtient : J. Martin. Les BD en s amusant, Éditions ToutSavoir. Tous droits réservés. 36