eXplique-Moi Le XML.
<animal> <pattes>4</pattes> <poil taille=’court’ couleur=’noir et blanc’ /> </animal> Les personnes familières avec le langage HTML ne seront pas dépaysées. Ce format est parfaitement lisible et facilement compréhensible. Les données peuvent se trouver entre un marqueur début (Les fichiers XML peuvent être validés par un fichier DTD ou Schéma, qui permettra de définir le format des données ou certaines règles du style « un animal doit toujours avoir un et un seul champs ‘pattes’ » etc.… Ces règles permettront de s’assurer que le fichier a été correctement sauvegarde et transmis, et permettront d’assurer une cohérence entre différents programmes utilisant les mêmes fichiers XML. Ce format est purement textuel, il est donc compatible avec tous les systèmes d’exploitation existants. Le texte sera préférentiellement en format unicode afin qu’il n’y ai pas d’incompatibilité de codage caractère (pour qu’un fichier écrit en chinois soit lisible par un logiciel français, et vice versa.) Un des intérêts majeurs du XML est d’être évolutif, c’est à dire que l’on peut ajouter des données au fichier sans que cela n’interfère avec les programmes qui utilisaient le fichier avant cet ajout. Dans notre exemple nous pourrions rajouter "le champs <nom>Snoopy</nom>" que les programmes existants ignoreraient tout simplement. Voilà qui éliminera bon nombre de problèmes de compatibilité entre les nouvelles versions des softs et les anciennes. Le XML est entoure d’une multitude d’outils bien pratiques, comme le langage XSL-T qui permet de définir des transformations de fichier XML vers a peu près n’importe quoi. On peut par exemple utiliser XSL-T pour transformer un fichier XML en page web, en fichier TeX, etc. On peut également utiliser des techniques « data binding », c’est à dire lier un fichier XML a un fichier HTML pour y faire apparaître dynamiquement les données. Cette façon de procéder est très pratique, en particulier si elle est utilisée en conjonction avec des bases de données capable de générer du XML. On peut ainsi s’assurer qu’une page contiendra toujours les dernières données mises à jour sans écrire la moindre ligne de code. Mais les outils les plus en demande sont les analyseurs de fichiers XML, qui permettent d’accéder directement aux données que l’on cherche depuis n’importe quel langage de programmation. Il existe deux grands types d’analyseurs, DOM et SAX. DOM se base sur une arborescence de données, elle présente les données comme un arbre hiérarchisé, par exemple, de la racine vers les feuilles, un zoo qui contiendrait une multitude d’animaux qui eux même on des pattes. SAX, quand a lui, se base sur une architecture événementielle. Il lit le fichier séquentiellement et déclenche des procédures lorsqu’il trouve un élément. Le programmeur n’a plus qu’a écrire un code dans le style ‘si c’est un animal je fait ça, si ce sont ses pattes je fait ça…’ etc. SAX à l’avantage d’utiliser très peu de mémoire peu importe la taille du fichier XML qu’il lit. XML est déjà très utilisé dans une multitude de domaines. XML est la base du langage WML (équivalent du html, pour les téléphones sans-fil), des protocoles BizTalk et SOAP, ainsi que du format multimédia SMIL, très utilise par RealPlayer et QuickTime. Son développement est très rapide, poussé par la plupart des géants de l’informatique, notamment Netscape et Oracle. Microsoft n’est pas en reste et parie gros sur ce format de conservation de données qui est bien parti pour devenir la base de ses futurs systèmes. Il y a donc fort à parier que comme le disaient certains analyses lors du lancement de ce langage, XML sera l’ASCII du futur ! Pour tout commentaire, Benoit Fries © Ben (Benoit Fries) 2000. |