Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format...

62
1 Introduction XML Taha Zerrouki Taha_zerrouki@Gmail,com

Transcript of Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format...

Page 1: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

1

Introduction XML

Taha ZerroukiTaha_zerrouki@Gmail,com

Page 2: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

2

A la découverte de XML

Page 3: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 3

XML – eXtensible Markup Language

Un format universel pour les documents et données (semi-) structurés sur le Web

Un modèle de données fondé sur des arbres et un langage de représentation basé sur le balisage.

Page 4: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 4

XML – eXtensible Markup Language

Une version simplifiée de SGML (ISO 8879) Le langage universel du Web qui va remplacer

HTMLUne famille de standards en train de naître

XLink, XPointer, XSchema, DOM, SAX, Xpath, XSL, XQuery, SOAP, …

Page 5: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 5

Exemple

<fiche><nom>

<fn>Ahmed</fn><ln>Faci</ln>

</nom><job nature=“recherche">

INI<adresse><ville>Boumedès</ville><zip>35000</zip></adresse>

<email>[email protected]</email>

</job><mission>vulgarisation de

l’informatique </mission></fiche>

La structure est dans les bannièresLa sémantique aussi <a>…</a>

fiche

nom job

fn ln adresse email

ville zipAhmed Faci

Boumerdès 35000

[email protected]

INI Vulgarisation de l’informatique

missionnature

recherche

ÉlémentsAttributs

Données

fn

fn

nature

35000

Syntaxe

Page 6: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 6

Le format XML

Données hiérarchiques (arbre)Élément/Attribut/Texte

<zoo> <description> My favorite Zoo </description> <monkeys> <monkey name=‘roger’/> <monkey name=‘mike’/> </monkeys> <lion teeth=‘2’/></zoo>

Attribut

Élément

Élément

Texte

zoo

monkeys

monkeyname=roger

monkeyname=mike

lionteeth=2

descriptionMy Favorite Zoo

Page 7: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 7

Typage du XMLUne DTD ou un Schéma défini la

grammaire d’un fichier XML

<zoo> <description> My favorite Zoo </description> <monkeys> <monkey name=‘roger’/> <monkey name=‘mike’/> </monkeys> <lion teeth=‘2’/></zoo>

<!DOCTYPE zoo [ <!ELEMENT zoo (description,monkeys,lion)> <!ELEMENT description (#PCDATA)> <!ELEMENT monkeys (monkey+)> <!ELEMENT monkey EMPTY> <!ATTLIST monkey name CDATA #REQUIRED> <!ELEMENT lion EMPTY> <!ATTLIST lion teeth CDATA> ]>

<xs:element name=‘zoo' type=‘zoo'/><xs:complexType name=‘zoo'> <xs:sequence> <xs:element name=‘monkeys‘ type=‘monkeys'/> <xs:element name=‘lion' type=‘lion'/> </xs:sequence></xs:complexType>

fichier XML

DTD

schéma XML

Page 8: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 8

Remarques

XML fournit une syntaxe, pas de sémantique « a priori »

Les balises n'ont pas de présentation ou de signification définie par le langage mais elles peuvent bien sûr avoir un sens pour les applications <nom>Ahmed</nom><matière>Math</matière>

XML ne définit que la structure et le contenu d'un document, pas son comportement ni son traitement

Page 9: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 9

Remarques

Développement et promotion par W3CIndustriels: tous les poids lourds, notamment Oracle,

IBM, Compaq, Xerox, Microsoft, etc..Laboratoires de recherche: MIT (représentant les US),

INRIA (Europe), université Keio au Japon (Asie)

Sur Internet: publication et échange d’information

SimplicitéProductionLecture, analyse syntaxique, compréhension

Les mêmes données (avec différentes feuilles de style) disponibles pour de nombreux supports (pc, pda…) et de nombreuses applications

Page 10: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 10

XML est un univers impitoyableLes standards naissent et meurentXML: données[DTD],Xschema: typage

Les documents doivent être bien formés mais le typage (« valide ») n’est pas obligatoire

XSL/T, [Xquery]: transformation et requêtesXPATH: cheminsXLink: liens entre documentsDOM: Application programing interfaceSOAP: distributed computing[WebDAV]: distributed authoring and

versioningPlus des tas d’autres et de logiciels

Page 11: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

11

Héritage et principes fondamentaux

Page 12: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 12

XML : « successeur » de HTML

HTML Hypertext Markup Language.Un ensemble prédéfini et limité de balises

surtout de présentation, défini par une norme (HTML 2.0, 3.2, 4.0).

Sémantiques des balises :h1,..,h6, title, address, … donnent des

indications structurellescenter,hr,b,i,big,small,… ne servent qu'à

décrire une mise en page

Page 13: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 13

Exemple de html

Page 14: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 14

Problèmes liés à HTML

L'affichage d'un document est fortement dépendant de l'interprétation qu'en fait le navigateur

Il est nécessaire de disposer de plusieurs versions du document en fonction du média de rendu

L'indexation de documents ne peut se faire que sur la partie textuelle

Document et pas donnée

Page 15: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 15

SGML et le balisage structurel

Il fallait passer d’un de balisage de présentation à un BALISAGE STRUCTUREL

XML comme SGML dont il est un descendant utilisent un balisage structurel

SGML : Standardized Generalized Markup LanguageTrès utilisé en documentation techniqueLa doc doit être précise et non ambiguëSGML + vocabulaire contrôlé: ontologie

Ce sont des métalangages de description et d’échange de documents structurés Métalangage: possibilité de définir des « dialectes »

dans des domaines particuliers

Page 16: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 16

XML contre SGML

SGML norme ISO 8879:1986 Très utilisé dans l'industrie pour de

grandes documentations techniques.Trop complexe pour une utilisation

« grand public » ou dans des domaines moins exigeants sur la précision

SGML: trop de trucs compliqués et inutiles

XML utilise 10% de SGML pour représenter efficacement la plupart des besoins des applications

Page 17: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

Exemple de document

Saint Pétaouchnoque,Le 30 nivose 2004

Editions Duschmol,12 rue SchmurzYT123 Rapis

WindStar 2000Les rosières en bugetAB562 Saint Pétaouchnoque

Tel: 012133564Fax: 879765426

Objet: ben quoi?

Monsieur,

Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v

Veuillez agréer patati patata vachement sincères.

signature

Pied de page

Logo

Date

Destinataire

Corps

Pied de page

En-tête

Objet

Salutation

Formule depolitesse

Signature

Page 18: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

Représentation XML…<date> 30 Nivose 2004 </date>

<salutation> Monsieur, </salutation>

<corps> <para> Ici le premier paragraphe </para> <para> et là le deuxième </para></corps>

</lettre>

<lettre><entete> <logo loc="logo-graph.vml"/> <adresse> &abrev-adresse; </adresse></entete><destinataire> <nom> Mr Schnock </nom> <adresse> <rue> rue des églantiers </rue> <ville> Saint Glin </ville> </adresse></destinataire><objet> bla bla </objet>…

Page 19: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 19

Points importants

La représentation de cette lettre en XML ne comporte aucune indication sur sa mise en pageLes aspects graphiques ou typographiques

sont absentes du source XML Ces aspects seront définis par l'intermédiaire

d'une feuille de style

Une feuille de style est un ensemble de règles pour spécifier la réalisation concrète d'un document sur un média particulier

Page 20: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

Saint Pétaouchnoque,Le 30 nivose 2004

Editions Duschmol,12 rue SchmurzYT123 Rapis

WindStar 2000Les rosières en bugetAB562 Saint Pétaouchnoque

Tel: 012133564Fax: 879765426

Objet: ben quoi?

Monsieur,Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v

Veuillez agréer patati patata vachement sincères.

signature

Pied de page

<lettre> <entete> . . . </entete>

<corps> . . . </corps></lettre>

Si lettre alors enfantsSi entete alors …Si corps alors

enfants paraSi para alors

Police new roman,taille 12, décaler première ligne

Si … alors …

Principe de fonctionnement des feuilles de style

Page 21: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

21

Exemples d’applications

Page 22: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 22

Principe général

Pour une application particulièreOn se définit une syntaxe: un dialecte XMLOn définit la sémantique de ce dialecte

Pour me demander un rendez-vous, il faut m’envoyer le document xml-rdv du type suivant<rdv><d><n>$x</n><p>$y</p></d>

<h232>$z</h232><p>$p</p></rdv>Où $x est votre nom, $y votre prénom, $z la date

et l’heure du rdv au format ISO… et $p optionnel, un lieu de rdv.

Page 23: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 23

Exemples de dialectes XML

XHTMLMathMLSVGODF

Page 24: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 24

XHTML = HTML avec un syntaxe XML

Reformulation de HTML en tant qu'application XML

En gros: on ferme ce qu’on a ouvert…

Intérêt

Syntaxe plus rigoureuse

Importation de fragments de documents d'autres domaines nominaux

Possibilité d'utiliser les applications XML standard

Page 25: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 25

MathML : les maths en XMLPermettre l'échange et le traitement

d'expressions mathématiques sur le Web

Insertion aisée d'expressions mathématiques dans des documents HTML ou XML

Communication d'expressions entre applications au plan sémantique

Page 26: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 26

MathML : les maths en XML

Page 27: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 27

SVG : le graphique 2D en XMLLangage de description de graphiques 2D

Graphiques vectoriels

Interactifs et dynamiques Animations déclaratives Programmation ECMAScript

Recommandation du 04/09/2001

Page 28: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 28

SVG : le graphique 2D en XMLGraphiques vectoriels

Page 29: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 29

SVG : le graphique 2D en XML

Page 30: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 30

SVG : le graphique 2D en XML

Page 31: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 31

Logiciels pour SVG

Page 32: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 32

Open document

OpenDocument est : un format ouvert de données pour les

applications bureautiques : traitements de texte Tableurs / Présentations Diagrammes / dessins base de données bureautique.

OpenDoucment est une norme de OpenDocuemtn Fundation ODF

Page 33: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 33

Open document

Utilisé par Koffice LibreOffice Apache OpenOffice IBM: Notes, Workplace, Lotus Symphony.

peut importer/exporter : Mac OS X v10.5 : TextEdit Microsoft Office 2007 SP2

Page 34: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 34

Open document

Page 35: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 35

Office Open XML

Office Open XML est une norme ISO/CEI 29500 créée par Microsoft,

destinée à répondre à la demande d’interopérabilité dans les environnements de bureautique

concurrencer OpenDocument

Page 36: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 36

Open Office XML

Page 37: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 37

Flux RSS

«Rich Site Summary») est une famille de formats de données utilisés pour la syndication de contenu Web.

Page 38: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 38

Flux RSS

Un produit RSS est une ressource du Web dont le contenu est produit automatiquement en fonction des mises à jour d’un site Web.

Les flux RSS sont des fichiers XML qui sont souvent utilisés par les sites

d'actualité et les blogs pour présenter les titres des dernières informations consultables.

Page 39: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 39

RSS

Trois formats de données peuvent être désignés par ces initiales :

Rich Site Summary (RSS 0.91) sorti en 1999 ; RDF Site Summary (RSS 0.90 et 1.0) sorti en

2000 ; Really Simple Syndication (RSS 2.0) sorti en

2002.

Page 40: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

40

Avantages de XML

Page 41: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 41

Echange et partage d’information

En XML, une communauté d'auteurs invente librement les balises qui lui paraissent utiles pour représenter les informations qu’ils comptent échanger ou partager

Exemple: diverses façons de représenter une date<date> 5 Janvier 2000 </date><date> <a>2000</a><m>01</m><j>05</j> </date><date format='ISO-8601'> 2000-01-05 </date>

ExemplesCommandes en commerce électronique ou toute

transactionPublication et recherche d’information dans un

domaine industriel comme l’industrie des biotechnologies

Page 42: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 42

Interopérabilité des outils de traitement

Existence d’outils pour données XMLParseurs, éditeurs, browser…

Conséquences:Un serveur de documents XML est

susceptible de répondre à l'ensemble des besoins d'une organisation.

Un seul éditeur permet de traiter l'ensemble des données d'une organisation.

Page 43: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 43

Modularité et réutilisation

Chaque utilisateur est libre de définir ses propres structures de document

Il peut aussi se conformer à des structures types, appelées DTD

Chaque communauté peut ainsi proposer des structures normalisées

La conformité à une DTD permet l'automatisation des traitements et assure une possibilité de contrôle de validité

Page 44: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 44

Accès à des sources d'information hétérogènes

L'interrogation et l'échange de données entre systèmes d'information hétérogènes est souvent complexe

XML contribue à résoudre ce problèmeformat d'échange normalisé indépendant de toute

plateforme

L'indexation et l'interrogation de grosses bases documentaires informations structurelles en plus d'informations

textuelles.

Page 45: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

45

Zoom sur le langage

Page 46: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 46

Exemples de documents XML

<?xml version="1.0" standalone="yes" ?> <document> <salutation> Bonjour! </salutation> </document>

<document> <salutation> Bonjour! </salutation> </document>

<document> </document>

<document/>

<document> Bonjour! </document>

Page 47: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 47

Structure d'un élément

Un élément est de la forme:<nom attr='valeur'> contenu </nom>

<nom> est la balise d'ouverture</nom> est la balise de fermeture[ éléments vides, indifféremment <nom> </nom> ou </nom> ]

contenu est le contenu d'un élément composé d’une liste (peut-être vide) de texte, d'autres

éléments, d'instructions de traitement et de commentaires

attr='valeur' représente un ensemble éventuellement vide d'attributs, c'est à dire de paires (nom,valeur). Un élément ne peut posséder qu'un seul attribut de nom donné

XML 1.0

Page 48: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 48

Exemples d’éléments

<a></a> </a><a>Bonjour comment va?</a><a><b>…</b><b>…</b><a>…

</a></a><a><b>…</b>Bonjour<b>…

</b>Salut</a>

Contenu d’un élément = Forêt d’éléments ou de texte

Texte UNICODE: peut représenter n’importe quel alphabet (russe, hébreu, arabe, japonais, chinois…)

Page 49: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 49

Contrainte sur les noms (détail)Un nom d'élément ou d’attribut est une suite non vide de

caractères pris parmi les caractères alphanumériques; le tiret-souligné (undescore); le

signe moins; le point; le caractère deux-points (:) sens particulier

qui doit satisfaire les contraintes suivantesle premier caractère doit être alphabétique ou un tiret-soulignéles trois premiers caractères ne doivent pas former une chaîne

dont la représentation en lettres minuscules est "xml".Exemples de noms d'éléments

1998-catalogueXmlSpécifificationnom société

_totoNom_sociétéxsl:ruleX.11

incorrectscorrects

XML 1.0

Page 50: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 50

Syntaxe des attributs Un attribut est une paire nom='valeur' qui

permet de caractériser un élément. Un élément peut avoir plusieurs attributs. Dans ce cas, les paires nom='valeur' seront séparées par un espace.<rapport langue='fr' dern-modif='08/07/99'><annuaire generator='SQL2XML V2.0'

update='07.08.99'>

La valeur d'un attribut est une chaîne encadrée par des guillemets (") ou des apostrophes simples ('). Une valeur d'attribut ne doit pas contenir les caractères ^, % et &.

Un élément a un ensemble d ’attributs (ordre n’a pas de sémantique pour les attributs)

XML 1.0

Page 51: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 51

Document bien formé

Un document XML doit représenter un arbre d'élémentsIl existe dans un document un et un seul

élément père qui contient tous les autres. C'est la racine du document.

Un élément distinct de la racine est totalement inclus dans son père<p> <b> bla bla </p> bla </b> NON!

On dit qu’un document XML doit être bien formé

XML 1.0

Page 52: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

52

Quelques gadgets importants autour de XML

DOMXPathXlinkXSLTXQuery

Page 53: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 53

DOM

Document Object Model – DOM modèle de documentinterface de programmation indépendante du

langage et des plates-formes

Permet d'accéderla structure des documents (HTML et XML) le contenu des documents Exemple: Premier-Enfant, Premier-

Enfant(Section)Suivant, Parent, Attribut(ID)…

API définie pour trois langages OMG IDL, Java, ECMAScript

Page 54: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 54

XPath

Langage d'expressions de cheminadresser des parties de documents XML

Une expression élémentaire XPath contientun axe qui spécifie la relation structurale : fils,

descendants, ancêtres, frères, attributs,... un test qui spécifie le type de noeud des prédicats pour raffiner la sélection

Brique de base d'autres applications XMLXlink, XSLT, Xquery, …

Page 55: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 55

XLink

XML Linking LanguageHypertexte avancépermet d'insérer dans les documents XML de

quoi décrire les liens entre ressources Web

Liens simples unidirectionnels à la HTML Liens hors document Liens multidirectionnels Comportement des liens XLink utilise XPath pour adresser

l'intérieur des structures XML

Page 56: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

56

personne

nom prénom

adam

père

personne

nom prénom

eve

époux

personne

nom prénom

filsdadam cain

filsde

personne

nom prénom

filsdadam abel

filsde

époux

Si on ajoute des références: cela devient un graphe

Page 57: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 57

Transformation de documentsLe Web présente de multiples cas de

transformationFormatage Réutilisation de document Adaptation aux outils de présentation Conversion de format, par exemple XML vers

HTML

Trois approchesDes programmes utilisant le DOM Les feuilles de transformation XSLT Le langage de requêtes XQuery

Page 58: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 58

XSLT

Langage de transformation« le Perl de XML »

Une feuille de transformation XSLT contient un ensemble de règles pattern/template

Pattern Contexte structurel dans l'arbre source Expression XPath

Template Un fragment du résultat à produire pour le pattern

correspondant

PrincipeQuand le pattern est reconnu dans le document source,

le template correspondant est engendré dans le document résultat

Page 59: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 59

XQuery

« le SQL de XML »Pas complètement fixé Les requêtes XQuery

Peuvent sélectionner des documents entiers ou des sous-arbres qui répondent à la requête

Peuvent construire des documents nouveaux fondés sur ce qui est sélectionné

Page 60: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 60

Exemple de XQuery

FLWR prononcer "flower"Dans le style du SFW de SQL

ExempleFOR $p IN document("bib.xml")//publisher LET $b := document("bib.xml)//book[publisher

= $p] WHERE count($b) > 100 RETURN $p

$p : parcourt la séquence des éléments publisher$b : contient la séquence des book associés à $pWHERE filtre la liste des tuples ($p,$b)RETURN construit pour chaque tuple le résultat

Page 61: Introduction XML - WordPress.com– XML introduction 3 XML – eXtensible Markup Language Un format universel pour les documents et données (semi-) structurés sur le Web Un modèle

– XML introduction 61

XML et traitement de donnéesOn voit arriver des processeurs XQuerySGBD relationnelles adaptées pour XML

Oracle a maintenant un XML-Box, IBM…

SGBD objets refaits à la mode XMLExcellon vient de Object Design

SGBD « natif » XMLTamino de Software AG

Repository XML natif Xyleme