Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un...
-
Upload
godefrey-schmitt -
Category
Documents
-
view
109 -
download
0
Transcript of Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un...
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
<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>
GénéalogieXML est un sous-ensemble de SGML, Standard Generalization Markup Language
XMLHTML
SGML
[Ceponkus99]
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
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
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
Agenda
• Généralités sur XML• La syntaxe du langageLa syntaxe du langage• Les API pour XML• Un exemple• Un exercice
Les composants
• XML• XSL ~ eXtensible Stylesheet
Language • DTD ~Document Type Definition
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/
<?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
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>
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
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>
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/>
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">
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
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)
Agenda
• Généralités sur XML• La syntaxe du langage• Les API pour XMLLes 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
• ...
API - Application Programming Interface
• SAX-Simple API for XML
• DOM-Document Object Model
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
Agenda
• Généralités sur XML• La syntaxe du langage• Les API pour XML• Un exempleUn exemple• Un exercice
Agenda
• Généralités sur XML• La syntaxe du langage• Les API pour XML• Un exemple• Un exerciceUn exercice