Title: Agenda
1Agenda
- Généralités sur XML
- La syntaxe du langage
- Les API pour XML
- Un exemple
- Un exercice
2XML 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
à laide - De balises (tags en anglais)
- De relations entre balises
3- ltbody text"FFFFFF" bgcolor"FF6600"
link"C0C0C0 gt - ltulgt
- ltligtltbgtltigtSaxophonelt/igtlt/bgtlt/ligt
- ltligtltbgtltigtTrompettelt/igtlt/bgtlt/ligt
- ltligtltbgtltigtFlûtelt/igtlt/bgtlt/ligt
- lt/ulgt
- ltolgt
- ltligtltfont size4gtViolonlt/fontgtlt/ligt
- ltligtltfont size4gtVioloncellelt/fontgtlt/ligt
- ltligtltfont size4gtAltolt/fontgtlt/ligt
- lt/olgt
ltinstruments_de_musiquegt ltinstruments_à_ventgt lti
nstrumentgtSaxophonelt/instrumentgt ltinstrumentgtTromp
ettelt/instrumentgt ltinstrumentgtFlûtelt/instrumentgt lt
/instruments_à_ventgt ltinstruments_à_archetgt ltinst
rumentgtViolonlt/instrumentgt ltinstrumentgtVioloncelle
lt/instrumentgt ltinstrumentgtAltolt/instrumentgt lt/inst
ruments_à_archetgt lt/instuments_de_musiquegt
4Généalogie
XML est un sous-ensemble de SGML, Standard
Generalization Markup Language
SGML
XML
HTML
Ceponkus99
5Pourquoi XML?
- SGML est un langage complexe.
- HTML a dimportantes limitations
- Un manque de structure
- Un langage fixe (Un manque d'extensibilité)
- Un manque de description
- Aucun support pour la validation
6L 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
7E-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
8Agenda
- Généralités sur XML
- La syntaxe du langage
- Les API pour XML
- Un exemple
- Un exercice
9Les composants
- XML
- XSL eXtensible Stylesheet Language
- DTD Document Type Definition
10Un document bien formé
- les éléments doivent être encadrés par des
balises ouvrantes ( ltLIVREgt) et fermantes - ( lt/LIVREgt)
- les éléments vides sont permis, selon le format
ltELEMENTVIDE/gt. - les valeurs d'attributs doivent être entre
guillemets " " - les noms des attributs doivent tous être en
minuscules - http//www.xml.org/
11Feuille XML
lt?xml version"1.0"?gt lt!--voilà un
message--!gt ltmemogt lttogt you_at_yourAddress.com
lt/togt ltfromgt me_at_myAddress.com lt/fromgt ltcc/gt ltdategt
20th Decemberlt/dategt ltsubjectgtXML
classlt/subjectgt lttext type"greeting"gt
Hello,world!!!....lt/textgt lt/memogt
12Les références
ltmemogt .. ltto idref "Michael"gt
you_at_yourAddress.com lt/togt ... lt/memogt ltpersonne
id "Michael"gt ltnomgtMichael Schumaherlt/nomgt ltadr
essegtGenève Suisse lt/adressegt lt/personnegt
13DTD
Document avec DTD externe lt?xml
version"1.0"?gt lt!DOCTYPE accueil SYSTEM
"bonjour.dtd"gt ltaccueilgtBonjour!lt/accueilgt Doc
ument avec DTD interne lt?xml version"1.0"
encoding"UTF-8" ?gt lt!DOCTYPE accueil
lt!ELEMENT accueil (PCDATA)gt gt
ltaccueilgtBonjour!lt/accueilgt
14DTD
lt!ELEMENT memo (to, from, date, subject?,
text) gt lt!ELEMENT to (PCDATA)
gt lt!ELEMENT from (PCDATA) gt lt!ELEMENT date
(PCDATA) gt lt!ELEMENT subject (PCDATA)
gt lt!ELEMENT text (PCDATA) gt lt!ATTLIST text
type CDATA REQUIREDgt
15DTD
La déclaration de type d'élément lt!ELEMENT
NomElément TypeElémentgt
A et B tags Explication TypeElément A? A (un
seul) est une option, (match A ou rien) A Il
faut un ou plusieurs A A A est une option, il
faut zéro, un ou plusieurs A A B Il faut A ou
B, mais pas les deux A , B Il faut A, suivi de
B (dans lordre) (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 dencodage
courant. ANY Mot clé qui indique que tous les
éléments sont autorisés (déconseillé) EMPTY
Tag sans "closing" comme ltbr/gt
16DTD
La déclaration de liste d'attributs lt!ATTLIST
NomListeAttribut Nom TypeAttribut
ValeurParDéfautgt lt!ATTLIST défterme
ident ID REQUIRED nom
CDATA IMPLIEDgt lt!ATTLIST liste
type (àpucesordonnéeglossaire) "ordonnée"gt
lt!ATTLIST formulaire méthode CDATA
FIXED "ENVOI"gt
17DTD
La déclaration de liste d'attributs
Explication de TypeAttribut ID Attribut
unique dans le document IDREF Doit correspondre
à un ID attribut dans un des éléments IDREFS
Doit correspondre à 1 ou plusieurs ID attributs
(séparés par des blancs) (A, B, C,..) Liste
énumérée CDATA Contenu arbitraire NMTOKEN Un
seul Mot Explication de ValeurParDéfaut IMPLIE
D Attribut à option REQUIRED Attribut
nécessaire FIXED Value Attribut avec valeur fixe
18Les 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édominent
- Cascading Style Sheets CSS (HTML,XML)
- eXtensible Stylesheet Language XSL (XML)
19Agenda
- Généralités sur XML
- La syntaxe du langage
- Les API pour XML
- Un exemple
- Un exercice
20Parseurs XML
- IBM Alpaworks' validating Java XML parser
- Sun's implementation JAXP-standard parser
- AElfred Java-based XML parser by Microstar
- Lark, Tim Bray's non-validating XML processor in
Java - TclXML, Steve Ball's validating XML parser for
processing XML documents in Tcl - MSXML, Microsoft's validating XML parser in Java
- ...
21API - Application Programming Interface
- SAX-Simple API for XML
- DOM-Document Object Model
22Références
Ouvrages Alex Ceponkus, Faraz Hoodbhoy, "Applied
XML, A toolkit for programmers", Wiley
computer publishing, New York, 1999. Simon
North, Paul Hermans, " Teach yourself XML", SAMS,
Indianapolis, 1999. Liens A technical
introduction to XML by Norman Walsh http//www.xm
l.com/pub/98/10/guide0.html www.xml.org www.xmls
py.com
23Agenda
- Généralités sur XML
- La syntaxe du langage
- Les API pour XML
- Un exemple
- Un exercice
24Agenda
- Généralités sur XML
- La syntaxe du langage
- Les API pour XML
- Un exemple
- Un exercice