53
Echange et publication d’information sur l’Internet Une étude de cas avec XML Introduction à XML – p.1/53

Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Echange et publication d’information surl’Internet

Une étude de cas avec XML

Introduction à XML – p.1/53

Page 2: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Ce qu’on ne sait pas faire avec leWeb

Le principal langage du Web est HTML

HTML est un langage pour présenter desinformations à l’écran.

il ne permet pas d’échanger des donnéesil ne permet pas un traitement des données autreque l’affichage

On ne sait pas interpréter des données fournies en HTML

Introduction à XML – p.2/53

Page 3: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Nouvelles utilisations du Web

Quelques applications :

Commerce électronique : les entreprises veulentéchanger des informations (pas pour les afficher !)

Moteur de recherche : si je sais interpréter lesdonnées transmises, je peux les indexer efficacement

Services en ligne : je peux envoyer mes données àun serveur pour leur appliquer un traitement donné(ex : publication)

Introduction à XML – p.3/53

Page 4: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Nouveaux besoins

Mots clés : échange et publication de données.

Le réseau est hétérogène : les données doivent êtrereprésentées indépendamment d’une machinedonnée.

Les applications sont variées : les données doiventêtre représentées indépendamment d’une application.

Une application = un format de données : il fautpouvoir transformer facilement les données d’unformat à un autre.

Introduction à XML – p.4/53

Page 5: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Pourquoi XML ?

Le langage XML est une réponse à ces besoins :

Un document XML est au format ASCII : il voyage(relativement) facilement

XML n’est pas lié à un mode d’utilisation : chacunpeut se définir son propre « langage », (SMIL, SVG,WML, etc)

Beaucoup d’outils de manipulation : DOM, SAX,XSLT, XPath, XQuery, etc

Introduction à XML – p.5/53

Page 6: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Une étude de cas XML

Une présentation, basée sur une étude de cas, desapports de XML :

XML, format universel

Publication avec XSLT

Échange et intégration de données

XML et bases de données

Les questions : XML, c’est quoi, et pour quoi faire

Introduction à XML – p.6/53

Page 7: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

L’étude de cas

L’Officiel des spectacles !

Une base de données avec des films

Des salles de cinéma, avec des séances deprojection de films

Des cinémas, qui diffusent leur programme sur leWeb, sur le WAP, sur des tracts et des affiches...

Un moteur de recherche pour chercher des séances,des films, des horaires

Introduction à XML – p.7/53

Page 8: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Echange et publication des données

Les donnéesLes sallesLes horairesLes films(en XML)

Publication

Echange

Site Wap(WML)

Site web(HTML)

Document papier

(XSL−FO)

rechercheMoteur de

Introduction à XML – p.8/53

Page 9: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

L’architecture du site

BD

HTML

WML

PDF

Tomcat8080

SQL

Sources de données

SGBD(ORACLE)

SQL

DocumentsXML

Programmes XSLT

Servlet

MAJ

Pages HTML

XSQL

Introduction à XML – p.9/53

Page 10: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le programme de L’Epée de Bois

sur son site web

sur son site WAP

sous forme tract PDF

dans le moteur de recherche SallesEnLigne.com

L’information ?

c’est la même, sous des formes différentes

elle est échangée entre plusieurs acteurs

Introduction à XML – p.10/53

Page 11: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Les problèmes ?

Je voudrais :

... éviter de gérer � fois le programme de moncinéma, sous � formats différents (BD, fichier,traitement de texte, tableur)...

... rendre mon programme disponible sous plusieursformes (sans trop d’effort...)

... récupérer l’information existante chez d’autres

... donner mes informations à ceux qui peuvent luiapporter une valeur ajoutée

Introduction à XML – p.11/53

Page 12: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Les solutions XML ?

Format universel :

� représentation la plus simple possible (chaîne decaractères) d’un contenu

� indépendant de toute application

Publier l’information

� outils de transformation simples pour convertir uncontenu XML

Échanger et intégrer l’information

� assembler des contenus XML, ou au contraire enextraire des informations

Introduction à XML – p.12/53

Page 13: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

XML, format universel

Introduction à XML – p.13/53

Page 14: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

XML, c’est quoi ?

XML = rendre un contenu accessible à toute application.Le contenu :L’Epée de bois, 100 rue Mouffetard, métro

Censier-DaubentonLe même, en XML :

<?xml version="1.0" encoding="ISO-8859-1"?><CINEMA><NOM>Epée de Bois</NOM><ADRESSE>100,rue Mouffetard</ADRESSE><METRO>Censier-Daubenton</METRO></CINEMA>

Introduction à XML – p.14/53

Page 15: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le même, mieux présenté

Présentation courante : avec indentation

<?xml version="1.0" encoding="ISO-8859-1"?><CINEMA>

<NOM>Epée de Bois

</NOM><ADRESSE>

100, rue Mouffetard</ADRESSE>

<METRO>Censier-Daubenton

</METRO></CINEMA>

NB : il y a des espaces et des sauts de ligne

Introduction à XML – p.15/53

Page 16: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Encore mieux : sous forme d’arbre

CINEMA

NOM

Épée de bois

ADRESSE

100, rue Mouffetard

METRO

Censier-Daubenton

Traiter un document XML = extraire des informations d’un

arbre.

Introduction à XML – p.16/53

Page 17: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Un exemple plus complet, avecattributs

<?xml version="1.0" encoding="ISO-8859-1"?><CINEMA>

<NOM>Epée de bois</NOM><ADRESSE>100, rue Mouffetard</ADRESSE><METRO>Censier-Daubenton</METRO>

<SALLE NO=’1’ PLACES=’320’><TITRE>Alien</TITRE><REMARQUE>Reservation conseillée</REMARQUE><SEANCES>

<SEANCE>15:00</SEANCE><SEANCE>18:00</SEANCE><SEANCE>21:00</SEANCE>

</SEANCES></SALLE>

</CINEMA>

Introduction à XML – p.17/53

Page 18: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Sous forme d’arbre

CINEMA

METROADRESSENOM SALLE

TITRE REMARQUE SEANCES

SEANCE SEANCE SEANCE

SALLE

TITRE SEANCES

SEANCE

Epée de bois 100, rueMouffetard

Censier

Alien Réservationconseillée

15:00 18:00 21:00

Vertigo

22:00

NO=1 NO=2PLACES=320 PLACES=120

Introduction à XML – p.18/53

Page 19: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Documents XML

Qu’est-ce qu’un document XML ?

C’est un contenu alphanumérique

Il est structuré avec des balises

Indépendant de la représentation physique

Un fichier ?

Un message ?

Un extrait d’une base de données ?

Tout ça à la fois ...

Introduction à XML – p.19/53

Page 20: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Origine d’un document XML

XML permet d’intégrer des contenus provenant d’originesdiverses

D’un traitement de texte

d’un site web

d’une base de données

d’un fichier...

Encore la même idée : rendre le contenu indépendant de

l’application

Introduction à XML – p.20/53

Page 21: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Intégration : les salles

<?xml version="1.0" encoding="ISO-8859-1"?>

<SALLE NO=’2’ PLACES=’120’><FILM><TITRE>Vertigo</TITRE><AUTEUR>Alfred Hitchcock</AUTEUR><ANNEE>1958</ANNEE><GENRE>Drame</GENRE><PAYS>Etats Unis</PAYS><RESUME>Scottie Ferguson, ancien inspecteur

de police, est sujet au vertige depuisqu’il a vu mourir son collègue....

</RESUME></FILM><SEANCES>

<SEANCE>22:00</SEANCE></SEANCES>

</SALLE>

Introduction à XML – p.21/53

Page 22: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Sous forme d’arbre

TITRE AUTEUR ANNEE GENRE PAYS RESUME

SEANCESFILM

SALLE

SEANCE

Salle2.xml:/

22:00

Vertigo 1958Hitchcock Scotty...USA1958

NO=2PLACES=120

Introduction à XML – p.22/53

Page 23: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le cinéma : intégration des salles

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE CINEMA [<!ENTITY salle1 SYSTEM "Salle1.xml"><!ENTITY salle2 SYSTEM "Salle2.xml">

]>

<CINEMA><NOM>Epée de bois</NOM><ADRESSE>100, rue Mouffetard</ADRESSE><METRO>Censier-Daubenton</METRO>

&salle1;

&salle2;</CINEMA>

Introduction à XML – p.23/53

Page 24: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Premier bilan

Disposer d’une et une seule représentation

J’utilise un traitement de texte ? je suis prisonnier duformat

Je stocke dans une base de données ? idem

Créer un langage pour décrire nos données

Ne pas utiliser HTML, dédié à la présentation dans unnavigateur

= � utiliser XML, et convertir vers HTML

Introduction à XML – p.24/53

Page 25: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Publication de donnéesavec XSLT

Introduction à XML – p.25/53

Page 26: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

XSLT : pour quoi faire

Séparer la gestion du contenu de la présentation

Gestion du contenu = � décrire nos informations, avecun vocabulaire XML

Présentation = � mettre en forme nos documents pourune application particulière

XSLT permet d’écrire des programmes de conversions, très

adaptés au traitement de documents XML

Introduction à XML – p.26/53

Page 27: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Application

Nous avons décrit notre cinéma avec notre proprelangage. XSLT va permettre de traduire ce langage vers 3langages XML spécialisés :

HTML, pour la présentation de documents web

WML pour la présentation de documents WAP

XSL-FO pour la production de documents papier

Introduction à XML – p.27/53

Page 28: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Version HTML

HTML revisité :

Un document HTML est un document XML

Le vocabulaire est fixé, ainsi que la syntaxe

Chaque balise a une signification bien définie

HTML a été normalisé comme « dialecte » XML

= � c’est XHTML

Introduction à XML – p.28/53

Page 29: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Ce qu’on veut obtenir (démo)

<html><head><title>Film: Vertigo</title></head><body bgcolor="white">

<p><img SRC="Vertigo.png"><h1><i>Vertigo</i></h1>Drame, <i>Etats Unis</i>, 1958

</p><p>Mis en scène par <b>Alfred Hitchcock</b><h3>Résumé</h3>Scottie Ferguson,ancien inspecteur de police, est sujetau vertige depuis qu’il a vu mourir son

collègue...</p>

</body></html>

Introduction à XML – p.29/53

Page 30: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

HTML, sous forme d’arbre

"Film: "

...

<TITRE>

<TITRE> <GENRE> <PAYS>

Marquage HTML

Eléments XML

html

head

title

body

img

p

h1

i

i

Introduction à XML – p.30/53

Page 31: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le rôle de XSLT

XSLT doit nous permettre :

De prendre en entrée un document XML source

De produire en sortie un autre arbre XML

D’insérer dans le document en sortie des fragmentsdu document source

Donc bien adapté à une transformation XML - � HTML

Introduction à XML – p.31/53

Page 32: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

WML, autre dialecte de XML

Document WML : marqué par la balise �

wml

Il est divisé en cartes, unité d’affichage sur le mobile( �

card

� )

Elements principaux :

� des balises simples de mise en forme ( �

b

� , �

i

� )

� des ancres pour passer d’une carte à une autre

Introduction à XML – p.32/53

Page 33: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Exemple d’une carte WML

<?xml version="1.0"encoding="iso-8859-1"?>

<wml><card>

<p><b>

Alien</b>, 1979, Ridley Scott

<br/>Près d&apos;un vaisseau spatialéchoué sur une lointaineplanète, ..

</p></card>

</wml>

Introduction à XML – p.33/53

Page 34: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Création d’un site WAP

On envoie un ensemble de cartes :

Dotées d’une identité :

card id="Alien"

... suite de la carte

/card

Référençant d’autres cartes :

a href="#Alien"�

lien vers la carteAlien

/a

Les cartes sont « compilées » et transmises par le réseau

sans fil.

Introduction à XML – p.34/53

Page 35: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Arbre XML du site

card card

pp

a

a

card card card

p p p

wml

a a

id=index id=S1

href=S1

href=S2

id=S2 id=Alien id=Vertigo

href=Vertigohref=Alien

Introduction à XML – p.35/53

Page 36: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le document

<wml><card id="index" title="Programme">

...<a href="#S1"> Salle 1: </a>...

</card>

<card id="S1">S&#xE9;ances salle 1 <p><a href="#Alien"> Film : Alien</a>

...</card>

<card id="Alien">...

</card></wml>

Introduction à XML – p.36/53

Page 37: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Version XSL-FO

Introduction à XML – p.37/53

Page 38: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

XSL-FO

Langage de description de documents avec XML.

On indique les paramètres de mise en page (marges,taille des polices...)

On place le contenu entre des balises de formatage

= � un processeur se charge de produire le document

Introduction à XML – p.38/53

Page 39: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Transformation, et mise en forme

Document XSL-FO Document PDFDocument XML

Transformation Mise en Forme

Introduction à XML – p.39/53

Page 40: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Exemples d’un document XSL-FO

<?xml version="1.0" encoding="iso-8859-1"?><fo:root>

<fo:layout-master-set><fo:simple-page-master master-name="page"

page-height="29.7cm" page-width="21cm"/></fo:layout-master-set>

<fo:page-sequence master-name=’simple’><fo:flow font-size="20pt">

<fo:block>Ceci est le premier paragraphe,

</fo:block></fo:flow>

</fo:page-sequence></fo:root>

Démo ! Le programme !Introduction à XML – p.40/53

Page 41: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

L’approche XSL-FO

Traitement de texte WYSIWYG :

On indique le contenu et la mise en forme

Pbs :

� Pas facile d’être expert en conenu et en mise enforme

� Pas commode de penser aux deux à la fois

= � très difficile de faire de beaux documents (etimpossible d’intégrer des contenus hétégorènes)

Introduction à XML – p.41/53

Page 42: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Quelques principes originaux

Avec XSL-FO :

Un responsable pour le contenu (XML)

� provenant de n’importe où (BD, sites, ...)

Un responsable pour la mise en forme (XSL-FO)

� décide de la présentation

Un processeur pour produire le résultat

= � pas commode à apprendre ...

Introduction à XML – p.42/53

Page 43: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Échanges et intégration de données

Introduction à XML – p.43/53

Page 44: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Exemple : moteur de recherche

réponse

requête

www.sallesenligne.fr

www.cine-marseille.fr

www.epee-de-bois.fr

Introduction à XML – p.44/53

Page 45: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Quelques idées

J’ai mes données

Je leur ai défini une représentation

Je leur applique des traitements (publication ou autre)

Je peux les transmettre à quelqu’un d’autre (tout oupartie)

= � un service externe m’apporte une valeur ajoutée

Introduction à XML – p.45/53

Page 46: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Quel format ?

Mon problème :

J’ai décrit mes données avec mon langage XML

L’application attend des données dans son langage

Il faut :

Décrire formellement les deux langages

Faire une traduction de l’un à l’autre

Introduction à XML – p.46/53

Page 47: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Les DTD

Document Type Definition

Pour définir la structure d’une classe de documents(d’un langage)

Exemple : un élément de type texte :

!ELEMENT TITRE ( #PCDATA )

Exemple : un élément constitué d’une liste

!ELEMENT FILM (TITRE, CINEMA, VILLE,URL?, HEURE+)

Introduction à XML – p.47/53

Page 48: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

La DTD du moteur de recherche

Un fichier auquel on peut faire référence dans undocument :

<!ELEMENT FILM ( TITRE, CINEMA, VILLE, URL?, HEURE+ ) ><!ELEMENT TITRE ( #PCDATA ) ><!ELEMENT CINEMA ( #PCDATA ) ><!ELEMENT VILLE ( #PCDATA ) ><!ELEMENT URL ( #PCDATA ) ><!ELEMENT HEURE ( #PCDATA ) >

Document valide : conforme à une DTD.

Introduction à XML – p.48/53

Page 49: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Architecture (Démo)

XSLT

XSLT

Clientweb

Clientweb

ClientwebFlux XML

DocumentsXML

DTD 1

DTD 2

Intégration

BD

Moteurde recherche

Recherche

SQL

Introduction à XML – p.49/53

Page 50: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Le document intégrateur

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE MOTEUR [<!ENTITY EpeeDeBois

SYSTEM "http://epee-de-bois.fr/EDB.xml"><!ENTITY CineMarseille

SYSTEM "http://cine-marseille.fr/CM.xml">]>

<MOTEUR><CINEMA>

&EpeeDeBois;</CINEMA>

<CINEMA>&CineMarseille;

</CINEMA></MOTEUR>

Introduction à XML – p.50/53

Page 51: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Gestion de l’information avec XML

TransformationXSLT Document XML

Document XML

application XMLapplication web application WAPapplication édition

formatéPage XHTML

Contenu Page WML

présentationtransform

ationcontenu

Echange/intégration

Données statiques Données dynamiques

Application

XSLT

XSLTXSLT XSLT

XSLT

Base de données

MessageXML

FichiersRésultat

Introduction à XML – p.51/53

Page 52: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Récapitulons !

XML = format d’échange de données entre application

Permet de définir des « langages » pour décrire desdonnées (« méta-langage »)

De nombreux outils d’analyse, parsing, interrogation,...

Transformation d’un langage à un autre avec XSLT

= � Bien adapté au web.

Introduction à XML – p.52/53

Page 53: Echange et publication d’information sur l’Internet …benzaken/GII/DOCS/slintroxml.pdfVertigo 22:00 NO=1 NO=2 PLACES=320 PLACES=120 Introduction à XML – p.18/53 Documents XML

Ce qu’on apprend dans le cours

À l’issue des cours+TD+projet, vous devriez savoir :

Comment créer un (ou des) document(s) XMLcorrects pour structurer de l’information, textuelle ouissue d’une BD.

Analyser ou mettre à jour ces documents avec les APIDOM, SAX et le langage XPath.

Effectuer des transformations avec XSLT.

Introduction à XML – p.53/53