Présentation du XML
Le langage XML provient du SGML (Standard Generalized Markup Language), un langage de balisage conçu pour la visualisation qui permet également de contenir des données. Contrairement à HTML (HyperText Markup Language) dont les balises gèrent l’aspect visuel d’un document, les balises du langage XML permettent de structurer le contenu d’un document en vue de sa visualisation ultérieure.
L’acronyme XML est l’abréviation de eXtensible Mark-up Language c’est-à-dire « langage de balisage extensible ». Il est donc possible de créer ses propres balises et d’échanger des données et leur structure.
Le consortium W3C contribue également à l’évolution de XML : le 10 février 1998, la recommandation pour la version 1.0 a ainsi été publiée. Depuis lors, une version 1.1 est venue renforcer la première version. Cette dernière recommandation du consortium W3C date du 4 février 2004.
a - Utilisation du XML
Un document XML contient des données structurées de façon coordonnée et cohérente, c’est pourquoi il y a toujours un document annexe ou interne au document XML. Ce type de document structurant peut être soit une DTD (Document Type Data), un Schéma XML ou un schéma RelaxNG. Il permet de définir l’arbre XML et les valeurs à remplir, ou selon le document, le type ou les restrictions (surtout pour les différents schémas). Ces documents permettent ainsi de structurer le document XML qu’ils accompagnent.
c - Attentes
Les attentes concernant les documents XML sont grandes : tout le monde peut utiliser ce langage pour structurer des documents qui seront ensuite visualisables par d’autres langages XML ou non. Il est également possible d’utiliser un document XML comme une base de données, puis de traiter ces données via différents langages d’interrogation.
Ce langage pourrait à terme devenir le seul langage de représentation des données sur Internet, ce qui générerait une recrudescence du besoin de spécialistes XML orientés vers le WEB. Il faut également noter que de nombreux logiciels utilisent XML pour structurer leurs documents comme par exemple lors de la sauvegarde avec OpenOffice, Microsoft Word 2003 ...
Les spécialistes espèrent une normalisation de ce langage, permettant ainsi de développer des interfaces de programmation et rendant l’utilisation de XML transparente. Si ce langage continue son développement, les entreprises n’auront pas d’autre choix que de s’y intéresser. Mais avant cela, il est nécessaire de convenir de schémas, balises et dialectes stricts [1].
Les langages associés à XML
a - Utilité
Les langages associés à XML permettent comme par exemple XPATH version 1.0, dont le langage est non XML, d’exécuter des requêtes sur un logiciel permettant de créer des documents XML et ainsi de visualiser les réponses, c’est-à-dire de désigner un ou plusieurs nœuds d’un document XML. La version 2.0 de XPATH a apporté de nouvelles fonctionnalités très intéressantes telle que la fonction matches.
XPATH est utilisé par le langage de transformation XSLT qui permet de visualiser les résultats mais aussi de procéder à des tests, et donc de s’en servir pour appliquer au besoin certaines transformations(le chemin du test est indiqué par le chemin XPATH).
D’autres langages, comme eXist ou XQUERY, permettent d’interroger une base de données XML et d’effectuer des requêtes sur cette base en utilisant également XPATH ou un langage de programmation tel que PHP ou JAVA.
Il existe bien entendu d’autres langages permettant d’utiliser un document XML comme base et ensuite d’y appliquer différents traitements.
b - Attentes
Les attentes de ces langages associés au document XML permettent ainsi de visualiser un document XML (il est bon de rappeler que la vocation première d’un document XML n’est pas sa visualisation directe à l’écran) ou bien de créer de nouveaux documents comme en SAX, DOM à partir d’un document XML.
Dialectes XML
a - Utilité
Tout comme les langages de programmation, les dialectes sont avant tout des programmes écrits en XML. Les dialectes sont issus de communautés de réflexion utilisant XML dans un même domaine et cherchant à formaliser l’écriture des données afin que tout utilisateur puissent comprendre le document XML ou bien que le résultat obtenu puisse être traité par un transformateur de document comme XSLT ou XSL-FO.
En guise d’exemples, je définirai dans cet article un dialecte pour l’utilisation de données géographiques (GML), un base XML pour la météo (NFSD) ainsi qu’un document XML Mondial.xml de base de données.
b - Attentes
Les attentes des dialectes sont d’uniformiser les balises et de décrire des schémas ou DTD, pour que les différents documents autour d’un même sujet soient structurés de manière identique, afin de faciliter leur comparaison.
La base XML Mondial
a - Introduction
Le document mondial.xml [2] est un fichier écrit en XML constituant une base de données géographique (pays, continents, organisations mondiales, lacs, montagnes, caractéristiques diverses ...).
Cette base XML provient de données géographiques publiées sur Internet : statistiques globales mondiales [3], le site de la CIA WORLD FACTBOOK [4] et les atlas géographiques internationaux. Le but est donc de stocker des données topographiques et géologiques importantes.
b - Utilisations
Cette base de données a été mise en ligne par une université allemande pour permettre son utilisation dans le cadre de l’enseignement de XML, XPATH, XLINK et autres. Il y a deux documents XML dont la structure de la DTD est différente, permettant de réaliser différentes requêtes XPATH, XQUERY, ... Il existe aussi des documents XML plus modestes contenant seulement les continents, les pays ... Ceci permet d’utiliser une partie seulement de cette très volumineuse base de données.
c - Attentes
Les attentes de cette base ne sont pas explicitement indiquées mais il serait très intéressant et utile que cette base de données XML soit maintenue et surtout mise à jour régulièrement afin de l’utiliser comme standard cohérent en géographie informatique.

Zoom sur le fichier mondial.xml
Capture d’écran sous Oxygen. Requête XPATH : /mondial/country[name eq ’France’]/name
XML et informations géographiques
a - Introduction
Ce chapitre, consacré aux informations géographiques traitées en XML n’est qu’un bref aperçu de ce qu’est en réalité le dialecte GML [5], très utilisé dans ce domaine. GML est une norme de codage en XML développée par le consortium OpenGIS (OGC) pour ce qui relève du domaine géo-spatial, relatif aux informations géographiques.
Il existe d’autres normes de codage de l’information géographique, non pas en texte, mais le plus souvent en XML. GML est basé sur un modèle commun de spécification de l’OGC développée et convenue par la communauté internationale. En effet, ce dialecte a été préféré car le format XML peut être lu et édité par n’importe quel éditeur de texte, il est donc possible de vérifier relativement facilement l’intégrité des données. Les langages liés à XML continuent de se développer, il sera donc aisé d’y intégrer ces données et leur transformation.
Il est important de différencier les données codées dans le document GML de la représentation graphique qui en est faite pour permettre leur visualisation par un navigateur, un langage ou un dialecte XML. En effet, les données stockées sont indépendantes des moyens de visualisation. Elles sont la plupart du temps des propriétés et la géométrie des objets observés. En ce qui concerne la représentation, il est bien entendu possible d’utiliser un dialecte [6] pour entrer les coordonnées, les couleurs et les formes des objets à visualiser.
Même si GML ne gère pas directement la représentation des données, il est tout de même concerné pour pouvoir créer des cartes grâce aux informations topologiques précises (coordonnées, surface, type ...). Dans le cadre de cet exposé écrit aucun traitement des balises, ou très peu, de ce dialecte ne sera cependant effectué.
b - Utilisations
Comme il a été indiqué dans l’introduction de ce chapitre, ce dialecte permet de stocker des données de façon ordonnée : en effet le dialecte suit un ou plusieurs schémas DTD établis par le Consortium. De plus, il est très difficile de se retrouver dans les schémas GML du fait qu’il y en ait beaucoup et qu’ils soient imbriqués les uns dans les autres par des appels.
Le stockage des données s’effectue, comme pour un document XML, sous forme de texte. Par exemple, pour les besoins de cet article, j’ai pu convertir les 7000 dossiers concernant la Colombie britannique au format SAIF [7] sous forme de texte GML.
Une des principales caractéristiques de ce modèle repose sur l’identification de dispositifs et surtout le référencement. Pour réaliser une carte à partir de GML, il est nécessaire de nommer les éléments qui seront interprétés et par conséquent visualisables. De plus, comme il a été précisé plus haut, les standards de représentation sont SVG ou VML (Microsoft) qui permettent de placer les différents éléments sur la carte.
Le monde entier est décrit en terme d’entités géographiques nommées dispositifs (features) correspondants à une liste de propriétés géométriques, description de géométries ... Ces géométries représentent des formes et des surfaces représentées en 2D ou 3D. Comme avec les schémas, les types de GML peuvent être complexes et donc contenir d’autres dispositifs, des restrictions.
La représentation de la carte à partir des données se fait par SVG (ou similaire), mais il est nécessaire au préalable d’utiliser une feuille de transformation telle que XSLT, transformant le code GML en code SVG.
c - Attentes
GML est un moyen de transport des données géographiques très efficace. Il est probable qu’il devienne un moyen de stockage important pour l’information géographique. De plus, il est possible d’utiliser XLINK et XPOINTER tout comme la base mondial.xml.
Un projet à terme consiste à regrouper toutes ces données en un centre unique afin d’améliorer leur analyse à grande échelle. La centralisation de ces données constituerait un outil précieux pour la connaissance des pays et de leurs caractéristiques ... Tout en facilitant les recherches des étudiants et géographes.
Informations météorologiques via Internet
a - Introduction
La diffusion de bulletins météorologiques via Internet a pris beaucoup d’essort ces derniers temps : de nombreux sites proposent des codes pour afficher le contenu de documents météorologiques XML. Si le document est bien en XML, la diffusion se fait le plus souvent en RSS [8].
Suivre les bulletins météorologiques va au-delà de la curiosité de l’internaute et touche de nombreuses professions : navigation aérienne, maritime, personnel au sol, sûreté, professionnels du risque naturel ... Le fait de recevoir les derniers bulletins météo rapidement et facilement dans un fichier très court peut se révéler avantageux pour ces professionnels.
b - Utilisations
Le dialecte XML utilisé est NDFD XML [9], qui permet d’envoyer des données météo prévisionnelles aux gouvernements, particuliers ou entreprises sur la base de données NDFD. Il s’agit d’un service web basé sur le protocole SOAP [10] qui permet à l’utilisateur de soumettre directement sa propre requête. Cette dernière est alors traduite en XML et véhiculée vers le service, qui transmet en retour sa réponse en XML.
Les bulletins météorologiques peuvent être très régulièrement mis à jour(toutes les heures pour le site weather.org). La première étape consiste donc à créer le document NDFD (ce qui peut être suffisant dans le cas où la personne consulte directement les données sur le document XML généré), puis à le transformer en une version plus facilement visualisable. Il est possible, ensuite, d’effectuer grâce à SOAP des requêtes pour consulter la météo sur plusieurs jours, générer des cartes et graphiques spécifiques ... Le but est de fournir dans la requête des informations concernant la ville, telles que des coordonnées géographiques.
Dans l’exemple de l’annexe 3, la température de Nantes est transmise dans un flux RSS. En ce qui concerne les documents RSS, il existe une ossature commune [11] avec tous les documents XML (version utilisée et encodage). Une balise rss (indiquant la version utilisée) inclut des balises filles channel et item. Les informations contenues dans channel sont des renseignements généraux sur le site ou la source de flux, tandis que item décrit en détail chaque information.

Le site weather.com
c - Attentes
Les attentes concernant ce dialecte ne sont pas exprimées mais d’ores et déjà, il est possible de pouvoir combiner GML avec ces services afin d’effectuer des études de températures, précipitations ou tout autre analyse en rapport avec la météorologie et la géographie.
Il n’existe pas de standard à proprement parler pour les services météorologiques, mais comme la consultation et l’utilisation de ces bases de données sont en constante augmentation, les services météorologiques et le NMS [12] souhaitent que des standards de recommandations soient créés afin qu’un dialecte commun puisse naître de ce travail.
Conclusion
Cet exposé permet de mettre en avant l’utilisation visuelle actuelle de XML, qui n’a pourtant pas cette vocation première ! En effet, rappelons une dernière fois que le langage XML et les logiciels l’utilisant gèrent tout d’abord le stockage des données. De plus, ce format d’échange de données est très facilement transportable et utilisable. Il suffit d’un simple bloc-notes et d’un navigateur Internet pour créer ses propres fichiers XML.
Plus précisément en ce qui concerne les dialectes tels que GML ou consorts, il est important de pouvoir se comprendre et d’avoir les mêmes balises et le même formatage des données. La notion de standard a permis de faire avancer les communautés utilisant un même langage. Il en sera de même pour les domaines d’application adoptant le XML, comme l’exemple décrit ci-dessus de la météorologie.
Mais XML n’en n’est encore qu’à ses balbutiements ! L’avenir ne manquera pas de nous apporter de nouvelles applications pertinentes pour ce langage ...