24
1 XML et l XML et l ’interopérabilité ’interopérabilité Emmanuel Emmanuel Nauer Nauer Orpailleur - LORIA Orpailleur - LORIA Séminaire QSL Séminaire QSL XML et ses technologies XML et ses technologies

XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

1

XML et l XML et l ’interopérabilité’interopérabilité

Emmanuel Emmanuel NauerNauer

Orpailleur - LORIAOrpailleur - LORIA

Séminaire QSLSéminaire QSL

XML et ses technologiesXML et ses technologies

Page 2: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

2

PlanPlan

XML pour la représentation des donnéesXML pour la représentation des données�Atouts de XML

�Prise en compte de données textuelles non XML

Rôle joué par XML dans l’exploitation des donnéesRôle joué par XML dans l’exploitation des données�Environnement XML : DOM, SAX, langages de requêtes

�Une approche modulaire exploitant du XML

�XML au cœur de l’intéropérabilité

Questions et discussionQuestions et discussion

Page 3: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

3

XMLXML

Atouts de XMLAtouts de XML

�Simple à lire, à comprendre, à utiliser

�Adapté à la description de données textuelles :

• structurées

• semi-structurées (structure irrégulière, implicite, partielle),

et notamment le WEB

�En passe de devenir un standard pour la représentation de

document

� Indépendant des plate-formes et logiciels

⇒ facilite l’interopérabilité

�Environnement (très) riche

Page 4: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

4

Adaptabilité de XML aux données textuellesAdaptabilité de XML aux données textuelles

Exemple d’une référence bibliographique PASCALExemple d’une référence bibliographique PASCALJob design and job stress in office workers

Auteur : CARAYON P

Adresse : Univ. Wisconsin-Madison, Madison WI 53706, USA

Source : Ergonomics; ISSN 0014-0139; DA. 1993; VOL. 36; PP. 463-477

Descripteurs : Psychological stress, Job satisfaction, Office work

Conversion XMLConversion XML

�Règles de réécriture

�Utilisation de LEX / YACC, ...

<Reference> <Titre>Job design and job stress in office workers</Titre>

<Auteur>CARAYON P</Auteur>

<Adresse>Univ. Wisconsin-Madison, Madison WI 53706, USA</Adresse>

<Source>Ergonomics; ISSN 0014-0139; DA. 1993; VOL. 36; PP. 463-477</Source>

<Descripteurs>Psychological stress, Job satisfaction, Office work</Descripteurs>

</Reference>

<Source>Ergonomics; ISSN 0014-0139; DA. 1993; VOL. 36; PP. 463-477</Source>

<Source>

<Revue>

<Nom>Ergonomics</Nom>

<ISSN>0014-0139<ISSN>

</Revue>

<DA>1993</DA>

<VOL>36</VOL>

<PP>463-477</PP>

</Source>

Page 5: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

5

Adaptabilité de XML aux formats existantsAdaptabilité de XML aux formats existants

Exemple d’une référence Exemple d’une référence BibTexBibTex@Book{michard99a,

author = {A. Michard},

title = {{XML - Langage et applications}},

publisher = {Eyrolles},

year = {1999}

}

<Reference type="Book" id="michard99a"> <author>A. Michard</author>

<title>XML - Langage et applications</title>

<publisher>Eyrolles</publisher>

<year>1999</year>

</Reference>

Conversion XMLConversion XML

Page 6: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

6

Adaptabilité de XML aux données relationnellesAdaptabilité de XML aux données relationnelles

Table MEMBRES_ORPAILLEURTable MEMBRES_ORPAILLEUR

Nom Prénom Bureau Poste...LieberNauerNapoli...

...JeanEmmanuelAmedeo...

...B128B127B208...

...20 8620 8820 68...

<Equipe Nom="Orpailleur"> ... <Membre> <Nom>Lieber</Nom><Prénom>Jean</Prénom><Bureau>B128</Bureau><Poste>20 68</Poste> </Membre> <Membre> <Nom>Nauer</Nom><Prénom>Emmanuel</Prénom><Bureau>B127</Bureau><Poste>20 88</Poste> </Membre> ...

</Reference>

Conversion XMLConversion XML

Page 7: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

7

XML : un standard pour laXML : un standard pour ladescription de données textuellesdescription de données textuelles

Domaines d’application extrêmement variésDomaines d’application extrêmement variés�CML : Chemical Markup Langage

�BIOML : BIOpolymer Markup Language

�BSML : Bioinformatic Sequence Markup Language

�FpML : Financial products Markup Language

�GAME : Genome Annotation Markup Elements

�OCKML : Ontology and Conceptual Knowledge Markup Languages

�MathML : Mathematical Markup language

�WeatherML : Weather Markup Language

� ...

Source : Source : httphttp://://wwwwww.oasis-open..oasis-open.orgorg//covercover

Page 8: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

8

XML : au centre de l’échange de donnéesXML : au centre de l’échange de données

Pascal

BibTex

MARC

Base de donnéesrelationnelle

Base de données

objets

HTML

XML

BibTeXML

XMarc

XPascal

XHTML

...

...

BiblioML

Format pivot

Hétérogénéité

Page 9: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

9

Les outils autour de XMLLes outils autour de XML

Infrastructure du W3C Infrastructure du W3C httphttp://://wwwwww.w3c..w3c.orgorg//� Importante communauté : MIT, INRIA, Université de Keio, de

nombreux industriels (IBM, Microsoft, Oracle, SUN, ...)

�Nombreux travaux (spécification + développement) :XML, Xpath, Xlink, Xpointer, XQL, SAX, DOM, ...

�Rapidité de publication des normes (contrairement à SGML)

�Nombreux outils, souvent gratuits

Différentes classes d’outilsDifférentes classes d’outils�Parsers (SAX, DOM, LEX, …)

�Langages de requêtes (XSL, Xquery, …)

�Utilisation de la DTD ou non ?• Existe-t-elle ? Faut-il la créer ?

• Est-elle indispensable ? utile ? inutile ?

Page 10: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

10

Les Les parsers parsers XMLXML

Qu’est-ce ?Qu’est-ce ?�Module qui réalise l’analyse syntaxique d’un document XML et

fournit des opérateurs pour le manipuler

ObjectifObjectif�Standardiser la manipulation de documents XML

⇒ API indépendante d’un langage ou d’une plate-forme

informatique

2 types d'approches2 types d'approches�Construction d’une représentation du document en mémoire

• XML → représentation arborescente

• exemple : DOM

�Pas de construction du document en mémoire• exemple : SAX... et LEX !

Page 11: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

11

SAX : Simple API for XMLSAX : Simple API for XMLhttphttp://://wwwwww..megginsonmegginson..comcom/SAX/SAX

Qu’est-ce ?Qu’est-ce ?�API basée sur l’exploitation d’événements apparaissant lors de

l’analyse d’un document XML :• détection de signaux d’ouverture/fermeture d'éléments,

• détection d’un contenu textuel,

• détection des propriétés (couples attribut-valeur d’un élément)

• …

Avantage / InconvénientAvantage / Inconvénient�Coût faible en ressource mémoire

�Possibilités limitées de manipulation

De nombreuses distributionsDe nombreuses distributions�En Java par exemple : IBM, Sun, Oracle, ...

Page 12: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

12

Utilisation d’un analyseur lexical (LEX)Utilisation d’un analyseur lexical (LEX)

PrincipesPrincipes�Règles de la forme : déclencheur - actions à déclenchées

�Possibilité de déclaration de contexte

%START AUTEUR

%%"<author>" BEGIN AUTEUR;. ;<AUTEUR>"and" putchar(‘\n’); <AUTEUR>"</author>" { putchar(‘\n’); BEGIN 0; }%%

Passage dans le contexte AUTEUR

Définition du contexte AUTEUR

Passage dans l ’état initial

Saut de lignes

<ref type="InProceedings" id="nauer00a"> <author>E. Nauer and R. Al Hulou and A. Napoli</author> <title>...</title> ...

Document XML

E. NauerR. Al HulouA. Napoli

Page 13: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

13

DOM : DocumentDOM : Document Object Object Model Model

Qu'est-ce ?Qu'est-ce ?�Un modèle objet du document XML

� Interface de manipulation de document XML (API)⇒ ensemble standard d'objets (modèles) pour

• représenter (représentation arborescente),

• combiner, accéder et manipuler des documents XML

Avantage / InconvénientAvantage / Inconvénient�Large possibilité de manipulation du document XML

�Coûteux en ressource mémoire (gros documents)

Des implémentationsDes implémentations�En Java, C++, ...

Page 14: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

14

DOM - Analyse syntaxique d’un document XMLDOM - Analyse syntaxique d’un document XML

<equipe> <nom>Orpailleur</nom> .... <membres> <chercheur id="napoli"> ... </chercheur> ... <doctorant id="nauer" directeur="napoli" interet="theme4, theme5">E. Nauer</doctorant> </membres></equipe>

Document XML

equipe

nom membres

id

napoli

nauer

directeur

interet theme4, theme5

doctorant

E. Nauer

id napoli

chercheur

...

Orpailleur

Interface DOM

Page 15: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

15

DOM - Un exemple d'interfaceDOM - Un exemple d'interface

interface Node { // NodeTypeconst unsigned short ELEMENT_NODE = 1;const unsigned short ATTRIBUTE_NODE = 2;const unsigned short TEXT_NODE = 3;const unsigned short CDATA_SECTION_NODE = 4;[...]readonly attribute DOMString nodeName;attribute DOMString nodeValue;readonly attribute unsigned short nodeType;readonly attribute NodeList childNodes;readonly attribute Node parentNode, firstChild, lastChild,

previousSibling, nextSibling;[...]Node insertBefore(in Node newChild, in Node refChild) raises(DOMException);Node replaceChild(in Node newChild, in Node oldChild) raises(DOMException);Node removeChild(in Node oldChild) raises(DOMException);Node appendChild(in Node newChild) raises(DOMException);boolean hasChildNodes();Node cloneNode(in boolean deep);

};

Page 16: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

16

DOM - Passage à une structure de donnéesDOM - Passage à une structure de données

equipe

nom membres

label

napoli

nauer

directeur

interet theme4, theme5

doctorant

E. Nauer

label napoli

chercheur

A. Napoli

Orpailleur

Interface DOM

Structure de données interne à une application

&equipe

&nauer &napoli

&theme5

&theme4

directeur

∈∈travaille sur

Intérêt pour

Page 17: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

17

XML et la programmation par objetsXML et la programmation par objets

ObjectifObjectif�Manipuler de vrais objets

Passage automatique de XML aux objets [Passage automatique de XML aux objets [ReinholdReinhold]]

XML-Schéma

Documents XML

Sui

vent

Compilation

PrincipesPrincipes�Création des classes à partir du schéma

Transformation en objets (entrée)

Transformation en XML (sortie)

�Création des méthodes d’entrée / sortie

Classes

Objets

Inst

ance

de

en Java

Page 18: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

18

Langages de requêtesLangages de requêtes

XSL : Extensible StyleXSL : Extensible Style Language Language

XML XML QueryQuery httphttp://://wwwwww.W3..W3.orgorg/XML//XML/QueryQuery�Recommandation pour un langage de requêtes

�Exemple de syntaxe :

<bib> { FOR $b IN document("http://www.bn.com")/bib/book WHERE $b/publisher = "Addison-Wesley" AND $b/@year > 1991 RETURN <book year={ $b/@year }> { $b/title } </book> }</bib>

Page 19: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

19

Approche modulaireApproche modulaire

Modularité par décomposition de programme [Meyer]Modularité par décomposition de programme [Meyer]�Décomposition modulaire :

• décomposition d’un problème en sous-problèmes indépendants

�Compréhensibilité modulaire• modules plus simples, plus compréhensibles

� Composition modulaire :• modules réutilisables

• assemblage de modules ⇒ nouveaux modules

Atouts pour le Atouts pour le prototypageprototypage�Evolutivité des applications :

• possibilité de créer et d’intercaler facilement des modulesmanquants pour adapter des applications existantes

Page 20: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

20

Exemple de résolution de problèmeExemple de résolution de problème

Extraire le nombre de publications de chaque auteur, dans un ensemble de références bibliographiques

Tri

Suite triée d’auteurs

A. Napoli A. Napoli E. NauerE. NauerE. NauerJ. Ducloy...

Dénombrement

Ensemble des auteurs avec leur fréquence

2 A. Napoli 3 E. Nauer1 J. Ducloy1 J.C. Lamirel1 R. Al Hulou

Ensemble de références

<ref type="InProceedings" id="nauer97b"> <author>E. Nauer and J. Ducloy and J.C Lamirel</author>

<ref type="InProceedings" id="alhulou00a"> <author>R. Al Hulou and E. Nauer and A. Napoli</author> <ref type="InProceedings" id="nauer00a"> <author>E. Nauer and R. Al Hulou and A. Napoli</author> ...

Suite d’auteurs

E. NauerJ. DucloyJ.C. LamirelR. Al HulouE. Nauer A. Napoli...

Extraction des auteurs

Page 21: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

21

Approche modulaireApproche modulaire

Contraintes techniquesContraintes techniques

E/S E/SEspacedisque

MN MN+1

�Lien efficace entre les modules : pas de stockage sur disque

E/S E/SBufferMN MN+1

�Système de pipeline UNIX

Page 22: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

22

Spécifications des interfacesSpécifications des interfaces

Forte spécification des interfaces entre MForte spécification des interfaces entre MNN et M et MN+1N+1

�Cas simple :• solutions simples, exemple : un mot par ligne

�Cas complexes :• échanges d’objets : utilisation de XML

Avantage de XMLAvantage de XML�Standardisation de la structure des données

+ standardisation de la désignation des éléments d’information⇒ modules paramétrables

E/S E/S?MN MN+1

Page 23: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

23

Approche modulaireApproche modulairepour le traitement de données XMLpour le traitement de données XML

Avantages de l’approche modulaireAvantages de l’approche modulaire�Possibilité de développer chaque module en utilisant les outils les

plus performants

�Utilisation de commandes standards UNIX :• sort (tri), wc (comptage), awk (traitement sur les lignes), ...

• transformation de données structurées : LEX / YACC

�Utilisation de différents langages de programmation

Forme séquentielle de XMLForme séquentielle de XML�Adaptée à la communication par flux de données

�Selon les besoins, le document XML est interprétable comme :• une suite de caractères

• un arbre XML

• un objet

Page 24: XML et l - LORIA · Environnement XML : DOM, SAX, langages de requêtes Une approche modulaire exploitant du XML XML au cœur de l’intéropérabilité Questions et discussion. 3

24

XML au cœur de l’interopérabilitéXML au cœur de l’interopérabilité

...

XSL XQuery

SAX DOM

Xpath

Xlink

Environnement

Xpointer

Outils graphiques

...Java C

Langages de programmation

...

Outils statistiques

Classification

Dénombrement

... LEX / YACC

Commandes UNIX

Outils standards

...

Moteurs d’indexationet de recherche

Outils documentaires

DILIB SGBD Treillis de

Galois ... Logiques de description

Systèmes de représentation des connaissances

...Vos outils

XML

Base1

WEB

Base2

BaseN

Données