36
Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML Origines de XML Objectifs initiaux de XML XML aujourd'hui Structure, contenu et présentation Structure et éléments Exemple de structure XML Quelques applications de XML Pages Web : XHTML Mathématiques : MathML Graphique vectoriel : SVG Multimédia synchronisé : SMIL Modèle de document : DTD Utilité des modèles XML : un langage pour créer des langages Exemple de DTD XML Exemple d'instance XML http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/Overview.html (1 sur 2) [01/10/2003 16:49:47]

Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Embed Size (px)

Citation preview

Page 1: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - Slide list

Introduction à XMLVincent Quint

Sommaire

● Introduction à XML● XML, langage de balisage● Exemple de balisage XML● Origines de XML● Objectifs initiaux de XML● XML aujourd'hui● Structure, contenu et présentation● Structure et éléments● Exemple de structure XML● Quelques applications de XML● Pages Web : XHTML● Mathématiques : MathML● Graphique vectoriel : SVG● Multimédia synchronisé : SMIL● Modèle de document : DTD● Utilité des modèles● XML : un langage pour créer des langages● Exemple de DTD XML● Exemple d'instance XML

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/Overview.html (1 sur 2) [01/10/2003 16:49:47]

Page 2: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - Slide list

● Utilisation des DTD● Pourquoi valider?● Limitations des DTD● Schémas● Espaces de noms XML● Exemple● Documents composites● Style● Langages de feuilles de style● Adressage : XPath● Introduction à XPath● Traitement de documents et transformations● Langage de transformation : XSLT● Documents dynamiques● Document Object Model (DOM)● Autres technologies XML● Résumé● Pour en savoir plus

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/Overview.html (2 sur 2) [01/10/2003 16:49:47]

Page 3: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Introduction à XML"

Introduction à XML

Vincent Quint,

INRIA Rhône-AlpesJournée XML, CINES, Montpellier, 19 septembre 2003

Vincent Quint 1/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide1-0.html [01/10/2003 16:50:32]

Page 4: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "XML, langage de balisage"

XML, langage de balisage

XML = Extensible Markup Language

XML est un langage de balisage pour représenter des documents et des données structurés

Document structuréLe document est considéré comme une structure logique,plutôt qu'une structure de présentation

BalisesInformation ajoutée au contenu pour marquer la structure logique

Vincent Quint 2/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide2-0.html [01/10/2003 16:50:37]

Page 5: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de balisage XML"

Exemple de balisage XML

Du côté de chez Swann Marcel Proust Longtemps je me suis couché...

<livre> <titre> Du côté de chez Swann </titre>

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide3-0.html (1 sur 2) [01/10/2003 16:50:39]

Page 6: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de balisage XML"

<auteur> Marcel Proust </auteur> <chapitre> <para> Longtemps je me suis couché... </para> ... </chapitre> ...</livre>

Vincent Quint 3/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide3-0.html (2 sur 2) [01/10/2003 16:50:39]

Page 7: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Origines de XML"

Origines de XML

XML = SGML pour le Web

SGML (Standard Generalized Markup Language -- ISO 8879)

Un langage de balisage pour représenter des documents structurés

XML est développé par le World Wide Web Consortium (W3C)

Objectif initial de XML : publier sur le Web des documents SGML

Problèmes de SGML :

● Complexe, difficile à apprendre● Utilisé uniquement par les professionnels de la

documentation● Difficile à utiliser sur le Web

Vincent Quint 4/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide4-0.html [01/10/2003 16:50:41]

Page 8: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Objectifs initiaux de XML"

Objectifs initiaux de XML

Un sous-ensemble de SGML optimisé pour le Web :

1. XML doit être facilement utilisable sur le Web2. XML doit supporter une grande variété

d'applications3. XML doit être compatible avec SGML4. Il doit être facile d'écrire des programmes qui

traitent des documents XML5. Le nombre d'options doit être réduit au minimum,

idéalement à zéro6. Les documents XML doivent être lisibles et

raisonnablement clairs7. La conception de XML doit être menée

rapidement8. La description de XML doit être formelle et

concise9. Les documents XML doivent être faciles à créer10. La concision du balisage XML est d'une

importance minime

D'après XML 1.0 Rec

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide5-0.html (1 sur 2) [01/10/2003 16:50:42]

Page 9: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Objectifs initiaux de XML"

Vincent Quint 5/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide5-0.html (2 sur 2) [01/10/2003 16:50:42]

Page 10: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "XML aujourd'hui"

XML aujourd'hui

XML = un ensemble de langages et des technologies pour les documents et les données structurés

● Balisage de documents et de données● Modèles de documents● Documents composites● Style● Description de chemins● Langages d'interrogation● Transformation de structures● Documents actifs● Liens hypertexte● Protocoles XML● etc.

Vincent Quint 6/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide6-0.html [01/10/2003 16:50:44]

Page 11: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Structure, contenu et présentation"

Structure, contenu et présentation

Trois aspects dans les documents :

● Le contenu● La structure logique● La présentation

XML permet de représenter les contenus textuels et la structure logique

● Les autres contenus sont des ressources externes (photos, vidéo, sons...)

● La présentation est décrite par des moyens complémentaires (CSS, XSL)

● La présentation peut changer, indépendamment des contenus et de la structure

Vincent Quint 7/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide7-0.html [01/10/2003 16:50:45]

Page 12: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Structure et éléments"

Structure et éléments

Un document est représenté comme une structure logique arborescente

Les éléments sont les constituants logiques du document :

● Manuel, Titre, Auteur, Résumé, Chapitre, Section, Paragraphe, Note, Exemple, etc.

● Pièce, Personnage, Acte, Scène, Réplique, etc.● LivreCuisine, Plat, Recette, Ingrédient, Temps,

Préparation, Étape, etc.● etc.

Les éléments ne sont pas prédéfinis, mais choisis en fonction du type de document à représenter

La structure est hiérarchique et ordonnée

Vincent Quint 8/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide8-0.html [01/10/2003 16:50:46]

Page 13: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de structure XML"

Exemple de structure XML

Structure arborescente

<book> <title> Manuel </title> <abstract> <para> Ce livre... </para> <para> On verra... </para> </abstract>

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide9-0.html (1 sur 3) [01/10/2003 16:50:48]

Page 14: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de structure XML"

<body> <chapter> <title> Introduction </title> <section> <para> Avant de... </para> <para> Aussi... </para> </section> <section> <title> Historique </title> </section>

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide9-0.html (2 sur 3) [01/10/2003 16:50:48]

Page 15: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de structure XML"

</chapter> <chapter> <title> Conclusion </title> <section /> </chapter> </body></book>

Vincent Quint 9/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide9-0.html (3 sur 3) [01/10/2003 16:50:48]

Page 16: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Quelques applications de XML"

Quelques applications de XML

1. Pages Web : XHTML2. Mathématiques : MathML3. Graphique vectoriel : SVG4. Multimédia synchronisé : SMIL

Vincent Quint 10/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide10-0.html [01/10/2003 16:50:50]

Page 17: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Pages Web : XHTML"

Pages Web : XHTML

XHTML = HTML utilisant les technologies XML

Exemple : ces transparents

Vincent Quint 11/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide11-0.html [01/10/2003 16:50:51]

Page 18: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Mathématiques : MathML"

Mathématiques : MathML

x 2 + 1 Présentation Contenu

<math> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>1</mn></math>

<apply> <plus/> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> <cn>1</cn> </apply>

Autres exemples

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide12-0.html (1 sur 2) [01/10/2003 16:50:52]

Page 19: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Mathématiques : MathML"

Vincent Quint 12/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide12-0.html (2 sur 2) [01/10/2003 16:50:52]

Page 20: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Graphique vectoriel : SVG"

Graphique vectoriel : SVG

SVG = Scalable Vector Graphics

Un langage XML pour décrire des graphiques 2D contenant :

● des formes vectorielles● des images● du texte● des animations

Vincent Quint 13/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide13-0.html [01/10/2003 16:50:53]

Page 21: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Multimédia synchronisé : SMIL"

Multimédia synchronisé : SMIL

● SMIL est pour le multimédia ce que (X)HTML est pour le texte

● Un format XML simple● Intégration avec les autres technologies Web● Intégration de médias de différents formats● Mécanismes puissants pour la gestion du temps,

de la synchronisation et de l'animation● Grande adaptabilité aux systèmes et aux

utilisateurs

Vincent Quint 14/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide14-0.html [01/10/2003 16:50:55]

Page 22: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Modèle de document : DTD"

Modèle de document : DTD

On peut créer des applications (ou vocabulaires) adaptés aux types de documents à traiter

Un type de document est un modèle qui représente un ensemble (une classe) de documents utilisant tous :

● les mêmes éléments● les mêmes attributs avec les mêmes valeurs

possibles● les mêmes relations structurales entre éléments● les mêmes associations d'attributs aux éléments

Une DTD définit ces éléments, attributs, relations et associations

Vincent Quint 15/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide15-0.html [01/10/2003 16:50:56]

Page 23: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Utilité des modèles"

Utilité des modèles

<article> <auteur type="premier"> J. Dupont </auteur> <titre> ... </titre> <auteurr type="principal"> <prenom> Jean </prenom> <nom> Dubois </nom>

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide16-0.html (1 sur 2) [01/10/2003 16:50:57]

Page 24: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Utilité des modèles"

</auteur> <paragraphe type="principal"> Bla bla ... </paragraphe> <p> Bla bla bla ... </p></article>

Vincent Quint 16/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide16-0.html (2 sur 2) [01/10/2003 16:50:57]

Page 25: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "XML : un langage pour créer des langages"

XML : un langage pour créer des langages

XML contient deux langages :

● un langage de balisage des documents● un langage de définition de types de documents

XML est un méta-langage qui permet de créer des langages de balisage

● Création de langages adaptés au type d'information à décrire

● Exemples : XHTML, MathML, SVG, SMIL, etc.

Vincent Quint 17/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide17-0.html [01/10/2003 16:50:59]

Page 26: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de DTD XML"

Exemple de DTD XML

<!ELEMENT memo (to, from, date, subject?, body) ><!ATTLIST memo security (public | member | team) 'public' status (draft |

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide18-0.html (1 sur 3) [01/10/2003 16:51:01]

Page 27: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de DTD XML"

finished) #REQUIRED ><!ELEMENT to (#PCDATA) ><!ELEMENT from (#PCDATA) ><!ELEMENT date (#PCDATA) ><!ELEMENT subject (#PCDATA) ><!ELEMENT body (p+) ><!ELEMENT p (#PCDATA |

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide18-0.html (2 sur 3) [01/10/2003 16:51:01]

Page 28: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple de DTD XML"

em)* ><!ELEMENT em (#PCDATA) >

Vincent Quint 18/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide18-0.html (3 sur 3) [01/10/2003 16:51:01]

Page 29: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple d'instance XML"

Exemple d'instance XML

<?xml version="1.0"?><memo xml:lang="fr" security="team" status="finished"> <to> J. Dupont </to> <from> P. Dubois </from> <date> 03/01/03 </date> <body>

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide19-0.html (1 sur 2) [01/10/2003 16:51:02]

Page 30: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple d'instance XML"

<p> Réunion confirmée <em>demain</em> 10h. </p> </body></memo>

Vincent Quint 19/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide19-0.html (2 sur 2) [01/10/2003 16:51:02]

Page 31: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Utilisation des DTD"

Utilisation des DTD

Les DTD servent à :

● décrire les types de documents utilisés par une organisation

● valider les documents créés, mis à jour, reçus, ...● guider ou paramétrer un outil de saisie de

document● piloter les parsers utilisés par les applications● etc.

Vincent Quint 20/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide20-0.html [01/10/2003 16:51:03]

Page 32: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Pourquoi valider?"

Pourquoi valider?

Une DTD est un contrat entre les producteurs et les consommateurs d'information

La validation permet

● au producteur de vérifier qu'il produit ce qu'il a promis

● au consommateur de vérifier ce que le producteur lui livre

● au consommateur de protéger ses applications● à l'auteur d'application de simplifier son travail :

la détection et l'analyse d'erreur est laissée au parser

Vincent Quint 21/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide21-0.html [01/10/2003 16:51:04]

Page 33: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Limitations des DTD"

Limitations des DTD

Les DTDs ont des limitations :

● Trop contraignantes : tout doit être défini● Pas assez contraignantes : nombres

d'occurences, par exemple● Très peu de contraintes sur les chaînes contenues

dans les éléments et sur les valeurs d'attributs● Pas d'héritage● Syntaxe particulière, différente de la syntaxe de

balisage des instances

Vincent Quint 22/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide22-0.html [01/10/2003 16:51:06]

Page 34: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Schémas"

Schémas

Plusieurs langages de schémas :

● XML Schemas : W3C● RELAX NG : Oasis (J. Clark, M. Murata)● Schematron : ISO (R. Jelliffe)● etc.

Objectif : dépasser les limites des DTD

● souplesse et puissance de description● syntaxe● typage des données● modularisation, documentation

Vincent Quint 23/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide23-0.html [01/10/2003 16:51:07]

Page 35: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Espaces de noms XML"

Espaces de noms XML

Un même document XML doit pouvoir utiliser plusieurs vocabulaires de balisage

● Conception modulaire des vocabulaires de balisage

● Réutilisation d'un même vocabulaire dans des contextes différents

● Les mêmes noms (éléments, attributs) peuvent être utilisés avec des sens différents dans des vocabulaires indépendants

● Problèmes d'ambiguïté, collision de noms● Quelle application doit traiter quelle partie du

document?

Vincent Quint 24/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide24-0.html [01/10/2003 16:51:09]

Page 36: Introduction à XML - Slide list · Introduction à XML - Slide list Introduction à XML Vincent Quint Sommaire Introduction à XML XML, langage de balisage Exemple de balisage XML

Introduction à XML - slide "Exemple"

Exemple

<section> <title>Book-Signing Event</title> <signing> <author title="Mr" name="Vikram Seth" /> <book title="A Suitable Boy" price="$22.95" /> </signing> ...</section>

extrait de « Namespaces in XML »

Vincent Quint 25/37

http://wam.inrialpes.fr/talks/2003/VQ-CINES-Sep03/slide25-0.html [01/10/2003 16:51:10]