24
Agenda Généralités sur XML Généralités sur XML • La syntaxe du langage • Les API pour XML • Un exemple • Un exercice

Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Embed Size (px)

Citation preview

Page 1: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Agenda

• Généralités sur XMLGénéralités sur XML• La syntaxe du langage• Les API pour XML• Un exemple• Un exercice

Page 2: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

XML: eXtensible markup language

• La version 1.0 du standard XML a été publiée en 1998 (W3C Group)

• XML est un métalangage de description pour les documents contenant une information structurée

• XML permet de définir la structure des documents à l’aide:

• De balises (tags en anglais)• De relations entre balises

Page 3: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

<body text="#FFFFFF" bgcolor="#FF6600" link="#C0C0C0 »>

<ul><li><b><i>Saxophone</i></b></

li><li><b><i>Trompette</i></b></

li><li><b><i>Flûte</i></b></li></ul>

<ol><li><font size=+4>Violon</font></li><li><font

size=+4>Violoncelle</font></li><li><font size=+4>Alto</font></li></ol>

<instruments_de_musique>

<instruments_à_vent><instrument>Saxophone</

instrument><instrument>Trompette</

instrument><instrument>Flûte</instrument></instruments_à_vent>

<instruments_à_archet><instrument>Violon</instrument><instrument>Violoncelle</

instrument><instrument>Alto</instrument></instruments_à_archet>

</instuments_de_musique>

Page 4: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

GénéalogieXML est un sous-ensemble de SGML, Standard Generalization Markup Language

XMLHTML

SGML

[Ceponkus99]

Page 5: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Pourquoi XML?

• SGML est un langage complexe.

• HTML a d’importantes limitations:

– Un manque de structure– Un langage fixe (Un manque d'extensibilité)– Un manque de description– Aucun support pour la validation

Page 6: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

L ’application d ’XML Adaptation du "viewing" aux besoins des

utilisateurs

Applications faciles de type "fiches" (bibliographies, recettes, etc.)

Echange de données

Middle-tier application (pont entre bases de données et applications)

Médiation entre différents types d'application

Page 7: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

E-commerce et XML• CommerceNet (CBL- Common Business Library)• Open Buying on the Internet (OBI)• Open Trading Protocol (OTP)• Internet Content and Exchange (ICE)

Autre standards

• SMIL Synchronized Multimedia Integration Language

• MathML Mathematical Markup Language• DMTF Desktop Management Task Force

• Www.xml.org/XML Catalog

Page 8: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Agenda

• Généralités sur XML• La syntaxe du langageLa syntaxe du langage• Les API pour XML• Un exemple• Un exercice

Page 9: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Les composants

• XML• XSL ~ eXtensible Stylesheet

Language • DTD ~Document Type Definition

Page 10: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Un document bien formé

les éléments doivent être encadrés par des balises ouvrantes ( <LIVRE>) et fermantes

( </LIVRE>) les éléments vides sont permis, selon le

format <ELEMENTVIDE/>. les valeurs d'attributs doivent être entre

guillemets " " les noms des attributs doivent tous être en

minuscules

http://www.xml.org/

Page 11: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

<?xml version="1.0"?><!--voilà un message--!><memo><to> [email protected] </to><from> [email protected] </from><cc/><date>20th December</date><subject>XML class</subject><text type="greeting">

Hello,world!!!....</text></memo>

Feuille XML

Page 12: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Les références

<memo>……..<to idref=   "Michael"> [email protected] </to>…... </memo>

<personne id=  "Michael"><nom>Michael Schumaher</nom><adresse>Genève Suisse </adresse></personne>

Page 13: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Document avec DTD externe : <?xml version="1.0"?> <!DOCTYPE accueil SYSTEM "bonjour.dtd"> <accueil>Bonjour!</accueil>

Document avec DTD interne : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE accueil [ <!ELEMENT accueil (#PCDATA)> ]> <accueil>Bonjour!</accueil>

DTD

Page 14: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

DTD

<!ELEMENT memo (to, from, date, subject?, text+) >

<!ELEMENT to (#PCDATA) ><!ELEMENT from (#PCDATA) > <!ELEMENT date (#PCDATA) ><!ELEMENT subject (#PCDATA) ><!ELEMENT text (#PCDATA) >

<!ATTLIST text type CDATA #REQUIRED>

Page 15: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

La déclaration de type d'élément

<!ELEMENT NomElément TypeElément>

DTD

A et B = tags Explication TypeElémentA? A (un seul) est une option, (match A ou rien)A+ Il faut un ou plusieurs AA* A est une option, il faut zéro, un ou plusieurs AA | B Il faut A ou B, mais pas les deuxA , B Il faut A, suivi de B (dans l’ordre)(A, B) + Les parenthèses regroupent. Ici: un ou plusieurs (A suivi de B)

Elément spéciaux Explication TypeElément#PCDATA Données (non- interprétés par XML) dans le langage d’encodage courant.ANY Mot clé qui indique que tous les éléments sont autorisés (déconseillé)EMPTY Tag sans "closing" comme <br/>

Page 16: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

DTDLa déclaration de liste d'attributs

<!ATTLIST NomListeAttribut Nom TypeAttribut ValeurParDéfaut>

<!ATTLIST défterme ident ID #REQUIRED nom CDATA #IMPLIED> <!ATTLIST liste type (àpuces|ordonnée|glossaire) "ordonnée"> <!ATTLIST formulaire méthode CDATA #FIXED "ENVOI">

Page 17: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

DTD

La déclaration de liste d'attributs

Explication de TypeAttribut ID Attribut unique dans le documentIDREF Doit correspondre à un ID attribut dans un des élémentsIDREFS Doit correspondre à 1 ou plusieurs ID attributs (séparés par des

blancs)(A, B, C,..) Liste énuméréeCDATA Contenu arbitraireNMTOKEN Un seul Mot

Explication de ValeurParDéfaut#IMPLIED Attribut à option#REQUIRED Attribut nécessaire#FIXED Value Attribut avec valeur fixe

Page 18: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Les feuilles de style

La présentation d'un document XML ne peut se faire sans une conversion en HTML.

Une feuille de style stylesheet est un langage conçu pour cette conversion

Deux langages prédominentCascading Style Sheets CSS (HTML,XML) eXtensible Stylesheet Language XSL (XML)

Page 19: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Agenda

• Généralités sur XML• La syntaxe du langage• Les API pour XMLLes API pour XML• Un exemple• Un exercice

Page 20: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Parseurs XML• IBM Alpaworks'IBM Alpaworks' validating Java XML parser

• Sun's implementation :JAXPJAXP-standard parser

• AElfredAElfred Java-based XML parser by Microstar

• LarkLark, Tim Bray's non-validating XML processor in Java

• TclXMLTclXML, Steve Ball's validating XML parser for processing XML documents in Tcl

• MSXMLMSXML, Microsoft's validating XML parser in Java

• ...

Page 21: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

API - Application Programming Interface

• SAX-Simple API for XML

• DOM-Document Object Model

Page 22: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

RéférencesOuvragesOuvrages

Alex Ceponkus, Faraz Hoodbhoy, "Applied XML, A toolkit for programmers", Wiley computerpublishing, New York, 1999.

Simon North, Paul Hermans, " Teach yourself XML", SAMS, Indianapolis, 1999.

LiensLiens

A technical introduction to XML by Norman Walsh

http://www.xml.com/pub/98/10/guide0.html

www.xml.org

www.xmlspy.com

Page 23: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Agenda

• Généralités sur XML• La syntaxe du langage• Les API pour XML• Un exempleUn exemple• Un exercice

Page 24: Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice

Agenda

• Généralités sur XML• La syntaxe du langage• Les API pour XML• Un exemple• Un exerciceUn exercice