Vous pouvez également utiliser le moteur ou l'améliorer
XML
Un article de DokuPedia.
XML, eXstensible Markup Language ou "langage à balises extensible", est une recommandation du W3C depuis 1998. Il fait partie de la famille des métalangages et des métadonnées. XML est un compromis entre SGML (Structured Generalized Markup Language), langage très flexible mais très complexe, utilisé essentiellement dans l’aéronautique et HTML (HyperText Markup Language), langage simple mais rigide, dont l’application se limite à Internet.
Sommaire |
Caractéristiques et qualités
Langage ouvert, pérenne et universel
XML est un langage ouvert ce qui signifie qu’il n’est la propriété de personne : tout le monde peut prendre connaissance de son fonctionnement, de ses caractéristiques et peut l’utiliser librement et gratuitement. Plusieurs consortiums se sont créés depuis pour le développer¹. Cette ouverture garantit sa pérennité puisqu’il n’est pas soumis à un logiciel spécifique et encore moins à des versions différentes de logiciels comme c’est le cas pour les formats propriétaires. Comme pour SGML² et HTML, la pérennité d’XML repose également sur l’utilisation de la norme UNICODE qui prend en charge tous les alphabets officiels (d’où son universalité) et du format texte (uniquement du texte et aucune mise en forme), lisible par l’homme indépendamment de l’évolution du matériel informatique. Les documents resteront donc lisibles dans 50 ans ou plus. C’est pour ces raisons que l’on dit d’XML qu’il est un système d’information neutre et sans perte. Cela dit, les documents rédigés en XML ne sont pas destinés à être lus par l’utilisateur sous cette forme.
Langage à balises
SGML, HTML et XML sont des langages à balises, également appelées « tags » (terme anglais). Celles-ci se présentent ainsi : <balise_ouvrante>exemple</balise_fermante>. Elles servent en particulier à caractériser la structure du document et sa mise en forme pour accroître la pertinence du document final.
Rappelons qu’un ordinateur ne comprend pas le sens des mots. Pour lui, chaque signe (lettre,
chiffre, ponctuation, …) n’est qu’une suite de bits, c’est-à-dire de O et de 1. Par conséquent, pour pouvoir ordonner à l’ordinateur de traiter certaines données d’une façon particulière, il faut au préalable délimiter ces données. C’est ce que l’on fait lorsque l’on écrit < h1 >titre principal< /h1 > ³ : on signifie à l’ordinateur que ‘titre principal’ est un titre de niveau 1. A partir de là, on peut lui ordonner de présenter les textes encadrés par les balises < h1 > en gras, taille 16, centré, de les réunir pour en faire un sommaire en début de rubrique. Par la suite, les moteurs de recherches se servent de certaines de ces balises pour créer des index permettant de répondre aux équations de recherche de leurs utilisateurs.
Langage à balises structuré
Ces langages à balises fontionnent sur un système d’arborescence, un peu à la manière d’un thésaurus. Ce sont donc des langages structurés respectant un certain nombre de règles, de spécifications et de recommandations. SGML et XML sont particulièrement rigoureux concernant le respect de ces règles. Par exemple, toutes les balises ouvertes doivent être fermées et dans l’ordre (<balise1><balise2>texte</balise 2></balise1>).
Langage extensible et structurant
En quoi ces langages se différencient-ils alors ? HTML possède un nombre de balises limitées et imposées. XML a bien lui aussi un certain nombre de balises imposées, formant un tronc commun à tous les documents XML, mais il permet aussi de créer ses propres balises en fonction de ses besoins. Il suffit de les inscrire dans la DTD (Document Type Definition) ou le Xschema, sorte de grammaire dictant les règles liées à chaque balise créée. C’est pourquoi on dit de XML qu’il est adaptable, flexible, modulaire ou encore eXtensible. A ce stade, on comprend qu’il n’existe pas ‘un’ format XML mais plutôt une multitude de formats XML, d’où la préférence pour l’expression ‘langage XML’.
Cependant, XML va encore au-delà : il n’est pas seulement structuré, il est structurant. En effet, son extensibilité lui confère une grande richesse sémantique offrant la possibilité de décrire le contenu d’un document. Quand HTML se contente de décrire la mise en forme ou la structure du document, de façon relativement limitée d’ailleurs puisque seuls l’en-tête (< header >), le corps du texte (< body >) et les titres de différents niveaux (< h1 >, < h2 >, etc.) peuvent être décrits, XML permet de délimiter tout type d’entité sémantique, c’est-à-dire aussi bien la structure détaillée du document quel qu’il soit (titre, chapeau, introduction, paragraphe, citations, définitions, conclusion, notes de bas de page, etc.) que le contenu lui-même (animal, formule chimique, auteur cité, etc.). Cette qualité lui vient directement de SGML mais XML est beaucoup plus simple à mettre en application. Le balisage permet également de lever ponctuellement l’ambiguïté de l’homonymie : en écrivant <auteur>Régis Porte</auteur> l’ordinateur pourra différencier "Porte", nom d’un auteur français du nom commun ou de la forme conjuguée du verbe porter.
A cela, il faut ajouter que XML sépare le contenu, la structure et la mise en forme. C’est une autre de ses grandes qualités : elle lui confère simultanément rigueur et précision. Cette caractéristique le rend particulièrement adaptable à n’importe quel programme. On peut ainsi, à partir d’un document unique, concevoir différentes formes de communication en changeant le format, en modulant la sélection des informations et en restructurant les données pour un affichage adapté au terminal (ordinateur, téléphone mobile, édition papier, …) et à l'utilisateur (informations diffusées plus ou moins complètes selon qu'il s'agira d'un client, d'un employé ou du patron).
Composition d’un document XML
Cette séparation est rendu possible grâce à des outils constituant chaque document XML. En effet, un document XML se compose :
- du document en lui-même, c’est-à-dire d’un contenu
- d’une DTD ou d’un Xschéma, également appelé tout simplement ‘Schéma’
- et d’une feuille de style CSS (Cascading Style Sheet) ou XSL (eXtensible Style sheet Language)
Le document
Le document XML est constitué d’un contenu informationnel encadré par des balises ou "éléments".
Exemple simplifié de document XML :
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE racine SYSTEM "nomdeladtd.dtd"> |
- La première ligne spécifie que le document utilise le langage XML. La notation ‘Utf-8’ indique que le document est encodé en Unicode.
- La seconde ligne précise selon quelle DTD le document est rédigé.
- Les lignes suivantes correspondent au document à proprement parler.
- <racine> est l’élément qui englobe tout le document, qui le délimite
- <nœud> est un élément. Il peut contenir d’autres éléments, du texte ou être vide.
- <branche> est un élément de <nœud>.
Comme on le voit sur cet exemple, les éléments peuvent être répétables, il peuvent contenir du texte ou non, formaté ou non. Ils peuvent aussi contenir un attribut, c’est-à-dire une caractérisation de l’élément avec un nom et une valeur (par exemple, si l’élément est un chapitre d’une étude, son attribut pourra être sa date de mise à jour).
La DTD
Toutes ces balises et les règles qui leur sont associées sont contenues dans un document appelée DTD (Document Type Definition) ou Xschéma⁴. Il s’agit d’un fichier grâce auquel tout le monde peut lire les documents XML. En effet, si chacun crée des balises adaptées à ses besoins, comment échanger, lire et exploiter ces fichiers ? Dans le cas d’un document HTML, où les balises sont imposées, tous les navigateurs Internet sont paramétrés pour interpréter et afficher correctement les données codées en HTML. Dans le cas d’XML, comment paramétrer les logiciels de lecture, d’affichage et de recherche puisque les balises sont créées au fur et à mesure des besoins ? La DTD en est la clé : elle donne aux logiciels toutes les règles établies par son concepteur et toutes les instructions nécessaires pour pouvoir interpréter les balises et en exploiter ainsi tout le potentiel.
Les feuilles de style
Les feuilles de styles contiennent les règles de mise en forme du texte contenu dans chacune des balises définies. On peut ainsi attribuer à la balise <citation> les valeurs : arial, taille 11, italique. Toute modification de mise en forme est alors simplifiée : au lieu de répéter manuellement une modification sur chaque titre de niveau 1, par exemple, il suffit de modifier le paramètre inscrit dans la feuille de style et la modification se répercute sur tous ces titres.
Les feuilles de style ne sont pas l’apanage d’XML. HTML les utilisaient déjà ainsi que les logiciels de bureautique, de PAO, …
Cependant, s’appuyant sur cette fonctionnalité, XML utilise deux autres outils qui permettent notamment d’adapter la forme et de sélectionner le contenu pour des affichages différents, selon le terminal de réception. Ces deux applications sont : XSLT (eXtensible Style sheet Language Transfomation) et XSL-FO (eXtensible Style sheet Language – Formating Object).
Outils nécessaires pour créer un document XML
Puisque XML est un format texte, un simple notepad ou blocnote suffit pour rédiger un document en XML. Cela dit, pour un plus grand confort de rédaction, il existe un certain nombre d’éditeurs, payants ou gratuits, facilitant la saisie des balises. Certains de ces éditeurs ont même une interface Wysiwyg (‘What you see is what you get’, ‘Ce que tu vois est ce que tu obtiens’) comme Dreamweaver ou Frontpage pour HTML. En voici quelques-uns : TurboXML, XMLSpy, XMetal, EPIC, XXE, Oxygen, XML Mind, Authentic (les deux derniers sont en accès gratuit.)
Si le bloc-note peut suffir pour la rédaction, il est en revanche nécessaire d’utiliser un parser pour vérifier l’intégrité du fichier : le document est ‘valide’ s’il est conforme à la DTD et ‘bien formé’ s’il ne comporte pas d’erreur de syntaxe (toutes les balises ouvertes doivent être fermées). Ces deux conditions doivent être réunies pour que le document puisse être lu, échangé et exploité par des logiciels.
Applications
L'échange de données informatisé
L’utilisation d’XML ne se résume pas à Internet. Il est avant tout intéressant pour l’échange de données informatisé (EDI) car XML permet d’échanger des données, quel que soit le format initial et l’outil de réception : il suffit de créer des passerelles entre les deux pour transformer le format initial dans un format de réception et inversement, le tout grâce à des DTD. On peut ainsi utiliser conjointement et facilement des bases de données, des outils de bureautique, des outils de documentation et de gestion.
XML est très proche de la logique des bases de données : il s’agit dans les deux cas de créer des métadonnées, c’est-à-dire des données décrivant des données. Lorsque l’on crée un champ ‘auteur’ pour y inscrire Victor Hugo, on crée une métadonnée. D'ailleurs, XML sert aussi à alimenter automatiquement des bases de données : il suffit de faire coïncider les balises déterminées avec des champs et de demander à l'ordinateur d'extraire et d’insérer ces données dans les champs correspondants. L’intérêt d’utiliser XML dans ce cas, c’est que les métadonnées sont présentes dès la création et intrinsèquement au document. Elles sont donc disponibles pour tout le monde et leur collecte est automatisable. On pourrait ainsi extraire les noms d'auteurs cités dans une critique littéraire pour en établir la liste et pourquoi pas les inclure dans un champ de base de données.
Améliorer le potentiel d'Internet
Cela dit, il est aussi très intéressant pour améliorer le potentiel d’Internet, en particulier du Web (Web 2.0 actuellement). Ainsi, XML est le fondement de RDF[1] (Resource Description Framework) et du Web sémantique[2] et donc des Web services[3]. En effet, il permet de décrire et d’exploiter le contenu des documents : isoler, communiquer et transformer des informations grâce à sa grande modularité. La description plus fine de la structure et celle du contenu des documents augmente considérablement les possibilités de recherche sémantique et ce d’autant plus que les moteurs de recherche sont capables de "lire" les balises descriptives.
Où trouve-t-on du XML aujourd’hui ?
Beaucoup d’éléments présents sur Internet, en particulier sur le Web, utilisent le langage XML : les fils RSS, les blogs, beaucoup de sites web, etc. : pour s’en rendre compte, allez sur un site et affichez la source du document et vérifier si XML ou XHTML (un composé de XML et de HTML) est inscrit dans le < header > (l'en-tête). Les logiciels libres et la plupart des logiciels propriétaires stockent désormais leurs données en XML : il en va ainsi des logiciels de bureautique (Word, Excel, …). Les logiciels documentaires, tel que Cindoc pour n’en citer qu’un, proposent aussi des modules XML, essentiellement pour gérer le stockage et l’export de données. N’oublions pas cependant que les performances de ces formats XML dépendent de leur DTD, c’est-à-dire des balises qui ont été pré-définies. Dans le cas des logiciels de bureautique propriétaires, par exemple, ils sont assez peu performants comparés au potentiel d’XML car seule la mise en forme est balisée, en fonction des actions de l’utilisateur : si j’ai mis un titre en gras, Word peut stocker cette donnée en XML, il peut même savoir que c’est un titre de niveau 1 si j’ai appliqué le style correspondant, mais il ne peut toujours pas repérer où sont placés les noms des auteurs que j’ai introduit dans mon texte. Ceci sera vrai tant que Word n’aura d’autre fonction que de gérer la mise en forme de documents (essentiellement) textuels.
Applications métiers
L'ensemble de ces avancées sont très importantes pour les applications à des problématiques métiers. Ainsi de nombreuses DTD appliquées à un domaine spécifique ont vu le jour.
En voici quelques exemples :
- Bibliothèques / Documentation : MarcXML, transposition de MARC21 en SGML (1995) puis en XML (2001) par la Library of Congress ; BiblioML, transposition d’UNIMARC en XML à l’initiative du Ministère de la Culture ; Docbook créée pour l'édition technique.
- Archives : EAD, Encoded Archival Description, à l'origine développée par l'Université de Californie à Berkeley.
- Edition : ONIX, développé par la société EDItEUR
- Littérature : TEI, Text Encoding Initiative. Cette DTD permet d'encoder tous les types de textes littéraires (roman, nouvelle, théâtre, ...)
- Mathématiques : Mathml
- Chimie : cml
- Finance : OFX Finance
- Multimédia : smil
- Commerce électronique : ebML
Etc.
Apports d'XML à la documentation
On saisit bien l’intérêt d’XML pour la documentation. Il permet de réaliser des bases de données structurées, dont l’alimentation est automatisable, de préserver l’intégrité des données en séparant le contenu et la forme, de diffuser une information personnalisée : on a ainsi la possibilité de trier, ajuster, modifier et transformer les documents XML trouvés sur le web. Il permet de transférer une même information aux différents utilisateurs d’un centre de documentation sur des supports différents (ordinateur, téléphone portable, etc.). XML accroît les possibilités et la pertinence de la recherche documentaire. Les balises structurant le document permettent de cibler la recherche, ce que ne permet pas la recherche en plein texte. XML a donc un grand intérêt pour les bibliothèques numériques. Il est aussi souvent associé au Dublin Core avec lequel il entretient certains objectifs communs et aux archives ouvertes. Enfin, XML permet aux professionnels de l’informaion de s’échanger des données, en particulier des notices bibliographiques sans perte de données.
Mettre en place un projet basé sur le langage XML
Quand utiliser XML ?
XML est particulièrement adapté lorsque l’on gère un gros volume de données dont le degré d’indexation est élevé (c’est-à-dire quand la ‘granularité de l’information’ est élevée) et dont on a un fort besoin de réutilisation. Il est également très utile lorsque l’on destine ces données à être envoyées sur différents supports d’information, pour différents utilisateurs ou différentes applications. Il est donc souvent utilisé dans les cas de gestion de contenu où l’information nécessite d’être fortement détaillée.
Pour bien saisir l’ensemble des possibilités offertes par XML en documentation, il est intéressant de consulter cet exemple d’utilisation d’XML pour la publication d’une revue spécialisée en science de l’information : le Bulletin des Bibliothèques de France.
Coûts
Peu coûteux en terme d’investissement matériel, XML nécessite en revanche de consacrer beaucoup de temps à la mise en place du projet et au développement de la DTD. Cela dit, les nombreuses DTD existant maintenant peuvent être récupérées, voire adaptées aux besoins spécifiques d’une structure. Il n’en reste pas moins qu’il faut maîtriser ce type de langage et sa logique pour mener à bien un tel projet. C’est en grande partie pour cette raison que le potentiel d’XML est encore sous-exploité, notamment dans les centres de documentation. Il fait pourtant son entrée petit à petit, un peu partout, mais cela reste souvent transparent pour l’utilisateur.
Références
Quelques organismes et sites de référence
XML : caractéristiques et aspects techniques
- BOSAK, Jon, BRAY, Tim. « Le langage XML » [en ligne]. In Pour la science. Disponible sur : http://www.aiesi.refer.org/cyberprof/corpus/base_isd/Pour_la_Science_XML_juillet1999.htm
- GHARSALLAH, Mehdi. « Stockage, interopérabilité, text mining : XML est partout. » In
Archimag, mai 2005, n° 184, p. 38-40.
- GOUDET, Jean-Luc. « Comment ça marche… le langage XML. » L’Ordinateur individuel, avril 2001, n° 127, p. 242-246.
- RENARDIAS, Vincent. « Dossier XML. » LinuxMagazine France, mars 2001, n°26, p. 14-34
- SEVIGNY, Martin. Introduction à XML [en ligne]. Disponible sur : http://www.ajlsm.com/formation/xml/notes/html/accueil.html
- W3C. World Wide Web Consortium: Leading the Web to Its Full Potential... [on line]. [S.l.]: W3C, 1994, [mise à jour régulière]. Disponible sur : http://www.w3.org/
Modèles XML
- CHARTRON, Ghislaine. « La DTD EAD dans les archives et les bibliothèques. » Bulletin des bibliothèques de France, 2003, t. 48, n° 2. p. 112-114.
- DALBIN, Sylvie. « Journée d’étude ADBS : La modélisation : pourquoi l’intégrer dans les systèmes d’information documentaire ? » Documentaliste-Sciences de l’information, 2003, vol. 40, n° 3. ISSN 0012-4508
- LE SAUX, Annie. « Réseaux informatisés de bibliothèques et échanges de données. » Bulletin des bibliothèques de France, 2003, t. 48, n° 2. p. 114-115.
- LETROUIT, Carole. « La modélisation : pourquoi l’intégrer dans les systèmes d’information documentaire ? » Bulletin des bibliothèques de France, 2003, t. 48, n° 5. p. 100-101.
XML et la documentation
- AME, Gaëlle. Vers une description bibliographique grâce à XML ? Maîtrise de Documentation et d’Information. Angers : Université Catholique de l’Ouest, septembre 2005. http://artist.inist.fr/IMG/pdf/G-AME-XML_description-biblio.pdf
- ARBEL, Stéphanie. Rapport de recherche bibliographique : émergence des SGBD pour des données de type XML. Villeurbanne : ENSSIB, mémoire de Master, 2001. http://www.enssib.fr
- FERCHAUD, Bernadette. « Journées d’étude GFII et ADBS : XML : actualités et perspectives ». Documentaliste-Sciences de l’information, 2001, vol. 38, n°5-6, p. 332-335. ISSN 0012-4508
- SAVOURAT, Lise. « XML : pour une appropriation du langage par les professionnels de l’information et de la documentation. » Documentaliste-Sciences de l’information, 2003, vol. 40, n°6, p.362-369. ISSN 0012-4508
Cet article reprend les principales conclusions de son mémoire de maîtrise intitulé : Pour une appropriation du langage XML par les professionnels de l’information et de la documentation. Mémoire de maîtrise sous la dir. de Geneviève Vidal, septembre 2001
- SAVOURAT, Lise. Développer les bibliothèques numériques avec le langage XML : principes de pertinence et stratégies d’évaluation. Mémoire de DEA sous la dir. de Stéphane Chaudiron et François Role, septembre 2002. Disponible sur : http://archivesic.ccsd.cnrs.fr/
Réalisation de projets intégrant XML
- ABDRAHAMANE, Anne. Appropriation d’une plate-forme d’édition électronique basée sur XML : Cyberdocs. Villeurbanne : ENSSIB, rapport de stage, 2003. <http://www.enssib.fr>
- LAVANDIER, Jacqueline (dir.).Villeurbanne : ENSSIB, Lyon : Université Claude Bernard Lyon 1, rapport de stage, 2001. http://www.enssib.fr
- BERMES, Emmanuelle. La BnF et les métadonnées [en ligne]. 24 novembre 2004. Disponible sur : http://www.cndwebzine.hcp.ma/spip.php?article39
- BOULETREAU, Viviane, GAUVIN, Jean-François, DUCASSE, Jean-Paul. « La publication électronique des thèses : un exemple franco-québécois de coopération à destination de la francophonie. » In Documentaliste-Sciences de l’information, 1999, vol. 36, n° 6. p. 337-344. ISSN 0012-4508
- MKADMI, Abderrazak, BOUHAÏ, Nasreddine, LANGLOIS, Marc. « Partager les modèles XML : quel intérêt ? » In Bulletin des Bibliothèques de France, 2003, t. 48, n° 5, p. 68-73. ISSN 0006-2006
- PLAZANNET, Fabien. « Le catalogue général des manuscrits des bibliothèques publiques de France : la conversion rétrospective. » In Bulletin des bibliothèques de France, 2003, t. 48, n° 5. p. 74-78. ISSN 0006-2006
- RAFAL, Olivier. « Le Monde s’archive dans une base XML » [en ligne]. In Le Monde informatique, 15 juillet 2002. Disponible sur : http://www.sinequa.com/html-fr/fr-revue.2002.7.html
- RIOUX, Didier. Le Monde : l’intégration de la technologie XML dans le processus documentaire [en ligne]. Lille : Association Promidée, journée d’étude du 11 mars 2004. Disponible sur : http://promidee.free.fr/egide/didier_rioux.pdf
- ROMAND-MONNIER, Emilie. « La mise en ligne du BBF électronique au format XML » [en ligne]. In Site web du guide des ressources pour l’édition de revues numériques. Villeurbanne : ENSSIB, [2003-4]. Disponible sur : http://revues.enssib.fr/pdf/Bbf-xml.pdf
Voir aussi
- Trouver la notion "XML" sur l'internet des sciences de l'information et de la communication
- Trouver la notion "eXtensible Markup Language" sur l'internet des sciences de l'information et de la communication
Notes
1. Voir en particulier le consortium OASIS. retour
2. Nous limiterons les comparaisons avec SGML car ce langage est très complexe. retour
3. Normalement, les balises ne comportent pas d'espace mais nous utiliserons cette notation pour les balises existant en html afin que le navigateur les ignore et qu'elles puissent ainsi apparaître sur cette page. retour
4. Nous n’entrerons pas, ici non plus, dans le détail (trop technique) des différences existant entre les DTD et les Schémas et nous continuerons à parler simplement de DTD pour ne pas alourdir le propos. retour
Catégories: TIC | Web | Langages

