eXtensible Markup Language

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Feuilles de style CSS - XHTML est un langage impur
Les espaces de nommage XML par Philippe Poulard 1
Données structurées et XML
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Manipulation d’XML avec XSL
CREATION DE FEUILLE DE STYLE pour structuré le document XML
Introduction aux Web Services Partie 1. Technologies HTML-XML
Adamou Mahamane Sidi Maman Bachir
Langage de structuration des données: XML
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
HTML.
Introduction à DOM Maroua Bouzid
17 octobre 2012 Grégory Petit
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Les feuilles de style La mise en page
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Xpath XML Path language par Yves Bekkers
XML : concours d’acronymes ou futur standard ?
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
M. Larooussi Formatage de documents - CSS École dété INSAT Août 2006.
Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice.
Qelios – Formation Initiation au langage CSS
Les feuilles de style CSS
Animateur : Med HAIJOUBI
8 - XML Cours XML.
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années.
Les feuilles de style en HTML. CSS CSS: feuilles de style en cascade Permettent d’appliquer une mise en page à l’ensemble d’un site très simplement Permettent.
PROGRAMMATION WEB FRONT-END.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
 Objet window, la fenêtre du navigateur
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Initiation à XML Antonin Benoît DIOUF eXtensible Markup Language.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
HTML Cours 3. Plan du cours Les feuilles de styles CSS Mise en forme du texte et des paragraphes.
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
Introduction à CSS Généralités. Introduction Beaucoup de documents XML sont destinés à être présentés. Les information du fichier seul (avec ou sans DTD)
Document Type Definition (DTD) Plan 2.1Introduction 2.2Déclaration de Document Type 2.3Déclaration d’élément Type 2.3.1Séquences, Choix, indicateurs d’Occurrence.
eXtensible Markup Language. Généralités sur le XML.
Chapitre 4 : Les feuilles de style (généralités) XML fournit aux applications une structure, mais pas la signification ou la manière de mettre en évidence.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
GENIE MULTIMEDIA Restitution de documents CSS Christine Vanoirbeek EPFL – IC – CGC Bâtiment BC (Station 14) 1015 LAUSANNE
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
24 octobre 2012 Grégory Petit
Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
INF2005– Programmation web– A. Obaid Variantes de HTML.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
Transcription de la présentation:

eXtensible Markup Language Xavier Blanc Xavier.Blanc@lip6.fr

Plan De HTML à XML Documents bien formés Documents valides Liens Feuilles de style Traitement de documents XML Applications

de HTML à XML Généralités

HTML Langage à balises Balises obligatoires (head, body, …) Balises à valeur sémantique (h1, meta, …) Balises à valeur d’habillage (center, small, ..) Nombre fini de balises Balises différentes suivant les navigateurs Pas d’évolution possible pour l’utilisateur

HTML Aucune séparation de la forme et du fond Balises de fond (Meta, Head, …) Balises de forme (center, small, …) Balises de fond & forme (h1, h2, …) Durée de vie limitée à la durée de vie des outils capables de visionner ces documents.

L’apport de XML Ensemble non fini de balises L’utilisateur peut créer de nouvelles balises Séparation de la forme et du fond Un document XML sera constitué d’au moins deux entités (le fond et la forme) Séparation du contenu et de la grammaire Permet la validation des documents

Historique XML est un standard un W3C (World Wide Web Consortium) XML est basé sur le standard SGML Les travaux de XML ont commencé en 1996 En 1999, XML est considéré comme étant le standard d’échange d’information du futur

règles syntaxiques de XML Documents bien formés règles syntaxiques de XML

Un document XML bien formé Exemple de document XML : <livre> <titre> le super livre </titre> <chapitre> <numero> 1 </numero> <titre> titre du chapitre 1 </titre> <contenu> blabla blabla </contenu> </chapitre> <chapitre> … </chapitre> </livre>

Documents XML bien formés Un document XML bien formé est un document qui est conforme aux règles syntaxiques du langage XML. Un document bien formé pourra être traité par un parseur XML sans générer d’exception. Un document XML bien formé pourra être associé avec une feuille de style.

Règles syntaxiques XML Un document XML est constitué de : Un prologue : qui contient un ensemble d’informations sur le document Un ensemble d’éléments avec leurs contenus : les éléments et leurs contenus sont les données du document Des commentaires qui peuvent être inclus n’importe où dans le document

Le prologue La déclaration XML <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> Permet de préciser la version du document Permet de préciser l’encodage utilisé Permet de savoir si le document est autonome ou pas (lien vers d’autres documents)

Le prologue XML permet de définir des types de documents. Un type de documents est une sorte de grammaire, on peut alors valider un document par rapport à une grammaire. Le prologue permet de déclarer le type d’un document. <!DOCTYPE livre SYSTEM "livre.dtd" >

Ensemble d’éléments Les éléments des documents XML sont composés d’une balise d’ouverture, d’un contenu et d’une balise de clôture. <nom> contenue de l’élément </nom> Le nom d’une balise est composé de caractères alphanumériques, du tiret-souligné, du signe moins ou du point. Il ne faut pas qu’il soit composé d’espaces. Un nom doit commencer par un caractère alphabétique ou du caractère tiret-souligné. Un nom ne doit pas commencer par XML/Xml/xML/...

Ensemble d’éléments Une balise d’ouverture peut avoir un ensemble d’attributs. Ex : <livre date=‘ 01-01-2000 ’> … Un attribut est une paire nom=valeur Les noms des attributs suivent les mêmes règles que les noms des éléments La valeur est une chaîne de caractères encadrée par les caractères guillemets ou apostrophe L’attribut xml:lang est prédéfini et sa valeur représente le langage utilisé dans le document Ex : <p xml:lang=‘ fr ’> ...

Ensemble d’éléments Le contenu d’un élément peut être : un ensemble d’éléments et/ou des données sous forme de chaînes de caractères ne contenant pas les caractères & et < et/ou des références

Ensemble d’éléments Une référence peut être : une référence à un caractère alphanumérique, elle doit commencer par &#x, puis inclure le numéro du caractère et finir par ; Ex : 8 est une référence vers & une référence prédéfinie comme par exemple & ou &apos; qui sont deux références vers & et ‘  une référence vers quelque chose défini dans la DTD (Data Type Definition). Elle commence alors par &, puis par le nom de la référence, et finit par ; Ex : &ma_reference; (avec ma-reference=‘ texte long … ’ Ce couple (nom, valeur) est appelé une entité

Ensemble d’éléments Les balises de clôture sont composées des noms correspondant aux balises d’ouvertures précédés du caractère / Ex : </livre> En élément peut être vide (sans contenu), dans ce cas, il n’a qu’une seule balise (composée du nom suivi du caractère /) Ex : <Element_vide/>

Sections littérales Lorsque le parseur scanne un élément, il remplace toutes les références par leurs valeurs. Pour empêcher cela, il faut utiliser une section littérale. Une section littérale est encadrée par <![CDATA[ et par ]]> Ex : <![CDATA[ <auteurs> Dupond & ]]>

Instructions de traitement Il est possible d’inclure des instructions de traitement dans un document XML La déclaration d’une instruction de traitement se fait de la facon suivante : <?nom arg1 arg2 .. ?> nom est le nom de l’application cible arg1, arg2, … sont les arguments de l ’application Les noms XML, XmL, … sont réservés

Commentaire Des commentaires peuvent être inclus dans le contenu d’un élément XML. Ils doivent être encadrés par les marques <!-- et --> Un commentaire est une chaîne de caractères quelconque qui ne contient pas la chaîne -- Exemple : <!-- un commentaire --> <!-- un commentaire qui n’est -- pas bien formé -->

Documents bien formés Le plus petit : <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> <livre/> Un autre : <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> <livre date=‘ 01-01-2000 ’> <chapitre> XML & HTML </chapitre> <!-- préciser la version de HTML--> </livre>

Documents valides XML et grammaire

Document Type Definition En XML, un type de document représente une structure (une grammaire) Ex : le type livre précise qu’un livre est composé de chapitres, qui sont composés de parties … Un type de document est défini dans une DTD (Document Type Definition) Une DTD peut être inclue ou référencée par un document XML

Document Type Definition On peut vérifier la validité d’un document par rapport à la DTD qu’il référence ou qu’il inclut. On parlera alors de document XML valide Un document XML valide est donc un document XML bien formé qui a une DTD et qui est conforme à cette DTD Il existe déjà de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides Ex : La DTD MathML pour les équations

Document Type Definition Pour associer un document XML à une DTD, il faut le faire avec l’élément <!DOCTYPE> Ex : <!DOCTYPE livre SYSTEM "livre.dtd" > On considère qu’un document XML est constitué de deux choses : La DTD et la donnée. Un document XML bien formé peut ne pas être composé de DTD Un document XML valide doit avoir une DTD

Data Type Definition Une DTD est définie dans l’élément <!DOCTYPE name SYSTEM "fichier.dtd" [delaration] > name est le nom du type de document SYSTEM "fichier.dtd" est une référence vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. C’est la partie externe de la DTD [declaration] permet de définir tout ou une partie de la DTD. C ’est la partie interne de la DTD

Contenu d’une DTD Déclarations des entités Déclarations des éléments et de leurs contenus Déclarations des attributs des éléments Commentaires

Les entités Une entité est un couple (nom, valeur). On référence le nom pour utiliser la valeur. Ex : & (amp,&) Une entité peut être interne (définie dans le document) ou externe (définie ailleurs) Les entités internes ont des valeurs de chaînes de caractères XML et sont utilisées comme moyen d’abréviation. Les entités externes peuvent être de type XML : utilisé pour segmenter un document en parties non XML : utilisé pour inclure des sons, images ...

Déclaration des entités Les entités doivent être déclarées dans la DTD Un document peut référencer n’importe quelle entité qui a été déclaré dans la DTD mais aussi les entités prédéfinis (amp, apos, …) La déclaration d’une entité se fait de la manière suivante : <!ENTITY nom valeur> La valeur doit être entre guillemets

Les entités externes XML Permet la segmentation d’un document XML Ex : <!DOCTYPE livre [ <!ENTITY chapitre-1 SYSTEM "./chap1.xml"> <!ENTITY chapitre-2 SYSTEM "./chap2.xml"> ]> <livre> &chapitre-1; &chapitre-2; </livre> Le mot clé SYSTEM indique une URL, voir le mot clé PUBLIC avec les identificateurs public

Les entités externes non-XML Les entités externes non-XML servent à inclure des images, du son ou autre dans un document XML Avant de définir l ’entité, il faut définir son format en utilisant une NOTATION Ex : <!NOTATION img  "./PsP" > Puis définir l’entité Ex : <!ENTITY fond SYSTEM "./fond.img" NDATA img> L ’utilisation se fait donc ainsi : Ex : <photo val=‘ fond ’/>

Les entités paramètres Ces entités sont définies dans une DTD mais elles sont aussi utilisées dans une DTD Une entités paramètre est forcement XML Une entités paramètre se définie comme une entité générale si ce n’est qu’il y a le caractère %. Ex : <!ENTITY % nom valeur> Pour référencer une entité paramètre on utilise le caractère % Ex : %nom;

Les éléments dans la DTD La déclaration d’un élément se fait de la manière suivante : <!ELEMENT nom modèle> Le nom correspond au nom de l’élément Le modèle défini le contenu de l’élément : éléments fils données mélanges éléments fils et données n’importe quoi respectant la syntaxe XML élément vide

Les éléments dans la DTD Pour décrire les éléments fils d’un élément, il suffit de donner leurs noms entre parenthèses. Si l’ordre des élément fils est important on les sépare par des virgules sinon par des barres verticales. Pour préciser les multiplicités des éléments fils on utilise : (soit fils le nom de l’élément fils) : fils = une fois et une seule fils? = 0 ou 1 fois fils* = 0, 1 ou plus d’une fois fils+ = au moins un fois il est possible de faire des groupes d’éléments fils en utilisant des parenthèses.

Les éléments dans la DTD Exemples de définition d’élément : <!ELEMENT livre (titre, intro, chapitre+)> <!ELEMENT chapitre (titre , (titre_partie, partie)+)> ...

Les éléments dans la DTD Lorsqu’un élément ne contient que des données (i.e. : un chaîne de caractère), on le défini de cette manière avec le mot clé : #PCDATAT Ex : <!ELEMENT partie (#PCDATA)>

Les éléments dans la DTD Il est possible qu’un élément ait des éléments fils mais aussi des données. Il est tout à fait possible de définir ce type d’élément dans une DTD. Ex : <!ELEMENT toto (#PCDATA, titi, tutu)*>

Les éléments dans la DTD Lorsqu’un élément peut contenir soit du texte, soit n’importe quel ensemble d’élément fils, il faut utiliser le mot clé ANY Ex : <!ELEMENT elmt ANY> Lorsqu’un élément est un élément vide, il faut utiliser le mot clé EMPTY Ex : <!ELEMENT elmt EMPTY>

Les attributs dans la DTD La déclaration des attributs d’un élément se fait de la manière suivante : <!ATTLIST element (attribut type default)+> element correspond au nom de l’élément qui contient l’attribut attribut correspond au nom de l’attribut type correspond au type de l’attribut default contient des indications sur la valeur par défaut

Les attributs dans la DTD Le type de l’attribut peut être : CDATA pour une chaîne de caractère ID ou IDREF pour des références internes au document ENTITY ou ENTITIES pour des références externes non-XML NOTATION pour associer le contenu de l’élément à une application

Les attributs dans la DTD L’indication sur la valeur par défaut peut être : #REQUIRED indique que l’attribut doit avoir une valeur une fois le document créé. #IMPLIED indique que l’attribut est optionnel. #FIXED ‘valeur’ indique que l’attribut est une constante

Les attributs dans la DTD Quelques exemples : <!ATTLIST ex1 att1 CDATA #IMPLIED> <!ATTLIST ex2 att1 CDATA #IMPLIED att2 ENTITY #REQUIRED> ...

Sections conditionnelles <![ INCLUDE [ contenu ]]> fait que le contenu appartient à la DTD <![IGNORE [ contenu ]]> fait que le contenu n’appartient pas à la DTD En utilisant des entités paramètres et en les redéfinissant dans le document, il est alors possible d’avoir une DTD conditionnelle

Liens Navigation XML

Avec les attributs ID et IDREF L’attribut ID permet d’associer un identifiant à un élément Ex : <!ELEMENT cible (#PCDATA)> <!ATTLIST cible identifiant ID #IMPLIED> L ’attribut IDREF permet de référencer un élément qui possède un attribut ID Ex : <!ELEMENT référence EMPTY> <!ATTLIST référence ref IDREF #REQUIRED> D’où <cible identifiant=‘01234’> blabla </cible> <!-- une référence --> <référence ref=‘01234’/>

XPointer XML Pointer Language XPointer est le standard qui permet de référencer des ressources Un XPointer est constitué d’une référence de base puis d’une cascade de références. Ainsi il est possible de référencer la valeur de l’attribut couleur du 3ème éléments fils de l’élément de type voiture.

XPointer XML Pointer Language La référence de base d’un XPointer est : root() : la racine du document cible origin() : l’origine du pointeur. id(nb) : l’élément ayant un attribut id avec nb comme valeur html(val) : un élément <A> ayant un attribut name avec val comme valeur

XPointer XML Pointer Language Les cascades de référence peuvent être : child(), descendant(), ancestor(), … avec les paramètres suivant : nb : le numéro de l ’occurrence #element, #pi, #comment, #text, #all nom : le nom d’un élément un nom d’attribut et/ou une valeur d’attribut attr(nom) pour la valeur d’un attribut nom ...

XPointer XML Pointer Language Un XPointer peut être précédé d’un URL, il faut utiliser le caractère # comme séparateur Exemples de XPointer http://un.deux.fr/toto.xml#root().child(1,titre) http://un.deux.fr/toto.xml#id(0123) ...

XLink XML Linking Language Un XLink permet de lier plusieurs ressource entre elles. Les XLink peuvent être : simples / étendus : les liens simples n’ont qu’une seule cible contrairement aux liens étendus inclus / exclus : La ressource qui décrit les liens inclus est inclue dans le liens, elle est considérée comme l’origine.

XLink XML Linking Language DTD du lien simple <!ELEMENT lk-simple EMPTY> <!ATTLIST lk-simple xml:link CDATA #FIXED ‘simple ’ href CDATA #REQUIRED inline (true | false) ‘true’ role CDATA #IMPLIED title CDATA #IMPLIED content-role CDATA #IMPLIED content-title CDATA #IMPLIED show (embed | replace | new) #IMPLIED actuate (auto | user) #IMPLIED behavior CDATA #IMPLIED >

XLink XML Linking Language Pour les liens étendus, la valeur de l’attribut xml.link est ‘extended’ Un lien étendu est composé de plusieurs cibles. Chaques cibles est représenté par un élément avec l’attribut xml.link qui a comme valeur ‘locator’

L’habillage de documents XML Feuilles de style L’habillage de documents XML

La forme et le fond Un document XML contient des informations qui vont être présentées sur différents supports (ecran, feuille, son, …) Il est possible de créer des feuilles de style pour décrire comment se fait cette présentation Les feuilles de style sont référencées par les documents XML, elles n’en font pas parties

CSS : Cascading Style Sheets CSS est un standard du W3C pour décrire des feuilles de style. CSS-1 a été défini en 1996, CSS-2 en 1998 CSS-1 est supporté par les navigateur version 4 de netscape et microsoft. CSS-2 est supporté par les navigateur version 5 de netscape et microsoft Le W3C s’est engagé pour qu’une version N soit toujours valide par rapport au version N+x de la norme.

CSS : Cascading Style Sheets Il est possible de définir plusieurs feuilles de style pour un document XML Il est possible de définir une feuille de style avec des propriétés valables uniquement pour les écrans et des propriétés valables uniquement pour les imprimantes. Il est possible qu’une feuille de style importe d’autres feuilles de style

CSS : Cascading Style Sheets Le principe de base de CSS est le suivant selecteur { propriété1: valeur; propriété2: valeur; } Selecteur indique quel est (ou quels sont) l’élément affecté par ces propriétés. Les propriétés sont des indications sur la forme, CSS définit 122 propriétés

CSS : Cascading Style Sheets Ex de feuille de style CSS : @media screen, print { *{ background : black; color : yellow; font-weight : bold; font-size:14pt; font-family : Garamond; font-style : normal; }

CSS : Cascading Style Sheets

CSS : Cascading Style Sheets

XSL : eXtensible Stylesheet Language XSL est un standard pour décrire des feuilles de style La spécification date de Avril 1999, elle n’est pas encore totalement stabilisée XSL permet plus de chose que CSS La présentation n’est pas basé sur l’arbre du document XML Il est possible de rajouter des informations (ex : table des matières, …)

XSL : eXtensible Stylesheet Language Pour afficher un document L’arbre source est transformé en fonction des directives de la feuille de style XSL L’arbre transformé est mis en sortie (écran, papier) Une feuille de style XSL décrit les directives de transformation de l’arbre source.

XSL : eXtensible Stylesheet Language Structure d’un feuille XSL <xsl> <define-script> var foo = … function bar(xx) {…} </define-script> <define-style name= "style-para"   <!– attributs de formatage --> /> <define-macro name=item <!– forme resultat --> </define-macro> <import href="feuille.xsl" /> <id attribute="sqd" />

XSL :eXtensible Stylesheet Language Structure d’une feuille XSL (suite) <rule> <root/> <HTML> <BODY> <children/> </BODY> </HTML> </rule> <rule> <element type="para"/> <target-element type="code" /> <PRE> <children/></PRE> </rule>

XSL : eXtensible Stylesheet Language Exemple de feuille XSL <xsl> <rule> <root/> <HTML> <BODY> <children/> </BODY> </HTML> </rule> <rule> <element type="cours"/> <target-element type="auteur"/> <H1> Salut je lis auteur </H1> </rule> </xsl>

XSL : eXtensible Stylesheet Language

Traitement de documents XML DOM et SAX

Parseur XML offre de nouveaux horizons applicatifs Il n’est pas possible d’imaginer l’étendu de ce domaine applicatif Cependant, toutes les applications auront besoin de parseur Il y a deux types de parseur normalisés SAX DOM

SAX : Simple API for XML SAX est un type de parseur XML SAX a été construit par des internautes en 1997, ils voulaient standardiser ce type de parseur SAX est implanté en Java et en Python SAX est un parseur événementiel Lorsque que le parseur lit un élément du document, il lance un événement Il est utilisé par les applications qui considèrent les documents XML comme des flots de données

SAX : Simple API for XML SAX étant un parseur événementiel, il propose un ensemble d’interface pour implanter des handler DocumentHandler startElement() starDocument() ErrorHandler Error() Il suffit ensuite de créer un parseur XML, d’affecter les handler puis de commencer à scanner le document

SAX : Simple API for XML Exemple d’application utilisant SAX public class MyHandler extends DocumentHandler { public void startElement(String n, AttributeList att) { System.out.println("Start element :" + n); } …. DocumentHandler dh = new MyHandler(); parser.serDocumentHandler(dh);

DOM : Document Object Model DOM est un type de parseur XML DOM a été standardisé par le W3C L’API du DOM est définit en IDL CORBA DOM est un parseur compilé Lecture de la totalité du document XML Création d’une structure arborescente d’objet qui représente le document XML

DOM : Document Object Model Le DOM est un parseur compilé, son API est composé de toutes les entités d’un document XML Document : Objet qui représente le document XML Element : Objet qui représente un élément XML Node : Objet dont tous les autres objets héritent Pour construire une application qui utilise le DOM, il suffit de créer un parseur et d’appeler la méthode parse qui retourne un objet de type Document

DOM : Document Object Model Exemple d’application utilisant DOM try { DOMParserWrapper parser = new … Document docu = parser.parser(uri); …

Conclusion pour les traitements SAX et DOM sont deux types de parseur standardisés par les internautes pour SAX et par le W3C pour DOM SAX est plus orienté traitement du document comme un flot d’information DOM est plus orienté transformation de document ou archivage Il existe de nombreuses implantations gratuites en Java de SAX et de DOM (Sun, IBM, …)

Applications XMI

MOF : Meta Object Facility UML Models MOF Model IDL Meta-model UML Meta-model IDL Interfaces M3 layer meta-meta-model M2 layer meta-model M1 layer models M0 layer

XMI : XML Metadata Interchange Meta-Level Metadata XMI DTDs XMI documents M3 The MOF Model MOF DTD   M2 UML MetaModel (ODP and others) UML DTD (ODP and others) MOF MetaModel Documents M1 UML Models (ODP and others) UML Model Documents (ODP and others) M0 Instances

Bibliographie A vous de jouer

Les documents utilisé pour ce support « XML Langage et applications » Eyrolles Alain Michard www.w3c.org : le site du W3C http://www.alphaworks.ibm.com/formula/xml/ http://babel.alis.com/web_ml/xml/  http://www.xmltechno.com/