Retour à la page principale --> Etude préalable --> Les techniques
Le XML (eXtensible Markup Langage) a Ă©tĂ© mis au point par le XML Working Group et a reçu les recommandations du W3C en 1998. XML est un sous ensemble de SGML (Standard Generalized Markup Language) qui est utilisĂ© dans le milieu de la Gestion Electronique Documentaire (GED). Le XML reprend en grande partie les fonctionnalitĂ©s du SGML mais en Ă©tant toutefois utilisable sur le Web. En effet, le XML est un langage permettant de mettre en forme un document grĂące Ă des balises, de dĂ©finir de nouvelles balises et par consĂ©quent de dĂ©finir de nouveaux langages. GrĂące Ă cette extensibilitĂ©, il peut ĂȘtre utilisĂ© pour dĂ©crire nÂimporte quel domaine de donnĂ©es.
XML est un langage dĂ©crivant le contenu et non pas la prĂ©sentation dÂun document. Pour vĂ©rifier la syntaxe dÂun document, le XML fournit les DTD (Document Type Definition). Il sÂagit dÂun fichier dĂ©crivant la structure des documents y faisant rĂ©fĂ©rence. Ainsi, un document XML doit respecter les conventions de notation XML (document bien formĂ©) et peut Ă©ventuellement faire rĂ©fĂ©rence Ă une DTD dĂ©crivant lÂimbrication des Ă©lĂ©ments possibles (document valide).
Le XML fournit un format dÂĂ©change de documents et de ce fait, lors de la rĂ©ception, ce dernier doit ĂȘtre analysĂ© pour extraire le contenu.
Un document XML est structuré en 3 parties :
La présentation est décrite par des moyens complémentaires (CSS, XSL) et peut changer, indépendamment des contenus et de la structure.
ElĂ©ments logiques dÂun document : Manuel, Titre, Auteur, RĂ©sumĂ©, Chapitre, Section, Paragraphe, Note, ExempleÂ
Structure arborescente du document XML :
<?xml version="1.0" ?>
<book>
Exemple de document valide avec DTD
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE magasin [
<magasin>
Un document XML bien formé doit obéir aux rÚgles suivantes :
Dans le cas des mĂ©tadonnĂ©es, le XML peut ĂȘtre utilisĂ© pour inclure les mĂ©tadonnĂ©es Ă lÂaide de balises. Il existe plusieurs normes sÂappuyant sur un langage XML pour dĂ©crire les mĂ©tadonnĂ©es.
XML
Le XML (eXtensible Markup Langage) a Ă©tĂ© mis au point par le XML Working Group et a reçu les recommandations du W3C en 1998. XML est un sous ensemble de SGML (Standard Generalized Markup Language) qui est utilisĂ© dans le milieu de la Gestion Electronique Documentaire (GED). Le XML reprend en grande partie les fonctionnalitĂ©s du SGML mais en Ă©tant toutefois utilisable sur le Web. En effet, le XML est un langage permettant de mettre en forme un document grĂące Ă des balises, de dĂ©finir de nouvelles balises et par consĂ©quent de dĂ©finir de nouveaux langages. GrĂące Ă cette extensibilitĂ©, il peut ĂȘtre utilisĂ© pour dĂ©crire nÂimporte quel domaine de donnĂ©es.
XML est un langage dĂ©crivant le contenu et non pas la prĂ©sentation dÂun document. Pour vĂ©rifier la syntaxe dÂun document, le XML fournit les DTD (Document Type Definition). Il sÂagit dÂun fichier dĂ©crivant la structure des documents y faisant rĂ©fĂ©rence. Ainsi, un document XML doit respecter les conventions de notation XML (document bien formĂ©) et peut Ă©ventuellement faire rĂ©fĂ©rence Ă une DTD dĂ©crivant lÂimbrication des Ă©lĂ©ments possibles (document valide).
Le XML fournit un format dÂĂ©change de documents et de ce fait, lors de la rĂ©ception, ce dernier doit ĂȘtre analysĂ© pour extraire le contenu.
Structure dÂun document XML
Un document XML est structuré en 3 parties :
- Prologue
- Contient une indication de la version dÂXML utilisĂ© pour coder le document et Ă©ventuellement des informations facultatives sur des instructions de traitement Ă destination dÂapplications particuliĂšres.
- <?xml version="1.0" encoding="ISO-8859-1"?>
- Déclaration de type de document (DTD)
- Arbre des éléments
Exemple de document XML
XML permet de représenter le contenu textuel et la structure logique.La présentation est décrite par des moyens complémentaires (CSS, XSL) et peut changer, indépendamment des contenus et de la structure.
ElĂ©ments logiques dÂun document : Manuel, Titre, Auteur, RĂ©sumĂ©, Chapitre, Section, Paragraphe, Note, ExempleÂ
Structure arborescente du document XML :
<?xml version="1.0" ?>
<book>
- <title> Manuel </title>
- <abstract>
- <para> Ce livre... </para>
- <para> On verra... </para>
- </abstract>
- <body>
- <chapter>
- <title> Introduction </title>
- <section>
- <para> Avant de... </para>
- <para> Aussi... </para>
- </section>
- <section>
- <title> Historique </title>
- </section>
- <section>
- </chapter>
- <chapter>
- <title> Conclusion </title>
- <section />
- </chapter>
- <chapter>
- </body>
Exemple de document valide avec DTD
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE magasin [
- <!ELEMENT magasin (service)>
- <!ELEMENT service (produit)>
- <!ELEMENT produit (#PCDATA)>
<magasin>
- <service>
- <produit>
- Vaisselle
- </produit>
- <produit>
- </service>
Eléments de syntaxe
Un document XML bien formé doit obéir aux rÚgles suivantes :
- Le document doit commencer par une déclaration XML.
- <?version="1.0" standalone="yes" encoding="iso-8859-1"?>
- Le document doit utiliser une DTD (Document Type Definition).
- <!DOCTYPE élément_racine [Définitions...]>
- Le document doit contenir un seul et unique élément racine, déclaré dans l'instruction DOCTYPE, dont les marqueurs encadrent une ou plusieurs autres balises.
- <!DOCTYPE élément_racine [Déclarations...]>
- <élément_racine>
- <balise>donnée</balise>
- ...
- </élément_racine>
- Le document doit contenir un ou plusieurs éléments. Si le document contient un seul élément, alors ce document sera composé du seul élément racine.
- Les valeurs d'attribut doivent ĂȘtre impĂ©rativement encadrĂ©es par des guillemets simples (') ou doubles (").
- <balise attribut="valeur" attribut2='valeur'>
- Une balise contenant des donnĂ©es doit impĂ©rativement ĂȘtre fermĂ©e.
- <balise>donnée</balise>
- Une balise vide (ne contenant pas de données à l'instar de la balise IMG dans le HTML) doit également contenir un marqueur de fermeture.
- <balise></balise>
- <balise/>
- Les balises doivent ĂȘtre correctement imbriquĂ©es, ainsi la ou les balises fils doivent ĂȘtre encadrĂ©es par une balise parente de dĂ©part et une de fin.
- <balise parent>
- <balise fils>donnée</balise fils>
- <balise fils/>
- </balise parent>
- Les noms d'Ă©lĂ©ments et d'attributs ne peuvent ĂȘtre composĂ©s que de lettres, y compris les lettres accentuĂ©es, de chiffres, de soulignĂ©s (_), de tirets (-), de points (.) et de deux points (:).
- Les noms d'éléments et d'attributs doivent commencer par une lettre ou un souligné.
- <_balise attribut9='valeur'/>
- Les noms d'éléments dans les balises d'ouvertures ou de fermetures devront respecter une casse rigoureusement identique.
- < BaLiSe>Donnée</ BaLiSe>
- Les noms d'attributs doivent également conserver une casse rigoureusement identique.
- balise AttribuT="valeur">donnée<balise>
- balise2 AttribuT="valeur">donnée<balise2>
- Le caractÚre inférieur à (<) sert uniquement à ouvrir une balise.
- <élément/>
- Le caractÚre esperluette (&) est utilisé essentiellement pour faire appel à une référence d'entité soit prédéfinie, soit générale, déclarée au préalable dans la DTD.
- &
- &entité_générale;
- Les caractĂšres infĂ©rieur Ă (<), l'esperluette (&) ou la sĂ©quence]]> doivent ĂȘtre remplacĂ©s respectivement par les rĂ©fĂ©rences d'entitĂ© <, & ou ]]>.
- Les attributs des documents XML bien formés sans DTD seront considérés de type CDATA, d'ailleurs considéré comme type par défaut.
Commentaires
Le XML prĂ©sente indĂ©niablement plusieurs atouts. En effet, un document XML est lisible et ne nĂ©cessite aucune connaissance pour ĂȘtre compris. Il est extensible et propose une structure arborescente permettant de modĂ©liser la majoritĂ© des problĂšmes informatiques. De plus, il est multi plate-forme et dĂ©ployable car il peut ĂȘtre facilement distribuĂ© par nÂimportes quels protocoles Ă mĂȘme de transporter du texte, comme http. Cette portabilitĂ© fait que le XML est particuliĂšrement adaptĂ© Ă lÂĂ©change de donnĂ©es et de documents.Dans le cas des mĂ©tadonnĂ©es, le XML peut ĂȘtre utilisĂ© pour inclure les mĂ©tadonnĂ©es Ă lÂaide de balises. Il existe plusieurs normes sÂappuyant sur un langage XML pour dĂ©crire les mĂ©tadonnĂ©es.