MENU
THEMES

XML (eXtended Markup Language)

Publié le: 30/11/2002  |  Par: Guideinformatique  

XML hérite des qualités de SGML (et utilise sa syntaxe):

  • un balisage logique hiérarchique.
  • une description facultative du document (la DTD) ; elle peut être extérieure ou intégrée au document.
  • une portabilité quasi universelle.

C'est une norme très importante. Avec ses qualités de balisage universel et de description facile des documents structurés, le XML est rapidement adopté. Il permet de créer des pages Internet sophistiquées (comprises par les navigateurs modernes). 

Mais son principal intérêt réside désormais dans les échanges entre machines et/ou programmes, même étrangers entre eux :

  • pour les échanges de données informatisées (EDI), bien sûr,
  • comme format universel entre applications (les suites bureautiques comme Office 11, StarOffice.. sont ou seront toutes compatibles, de mêmes que les bases de données...)
  • c'est aussi la base de l'interopérabilité et des services Web,
  • également comme principe de structuration de nouvelles normes (XML est eXtensible, ce qui signifie qu'il sera possible de rajouter des éléments à une description, sans rendre les versions précédentes incompatibles).

La structure des fichiers XML est décrite,

  • soit dans une DTD,
  • soit à l'aide de XML Schéma (XSD).
XML et Internet Explorer

Microsoft Internet Explorer 5 et 6 sont compatibles avec XML (ils peuvent afficher des fichiers XML à la place de fichiers HTML, dans certaines limites). Microsoft fourni gratuitement un parser XML: MSXML.
IE 5 disposait de MSXML 2.0 qui n'était que partiellement compatible.
IE 6 intègre MSMXL 3.0, supposé entièrement conforme aux normes XSLT, XPath et DOM1 du W3C. Il est aussi entièrement compatible avec CSS1.
MSXML 4.0 est un parser externe qui n'est pas intégrable à IE et doit être invoqué par programmation. Cette version supporte XML Schema. MSXML 4.0 est disponible dans Microsoft XML Core Services (MSXML) 4.0.

XML, les bases de données et la gestion de contenu

XML est le format idéal pour la constitution, le transport, l'échange et la présentation de contenu. Toutefois, si XML est bien adapté pour décrire les structures des documents (champs de longueur extrêmement variable, combinatoire structurelle infinie...), les SGBD traditionnels, eux, ne le sont pas (longueur de champ limité, position des champs prédéterminée). Faire entrer un document XML dans une base de données est donc un sacré problème, pour lequel il existe trois types de solutions :

  • faire entrer un document XML dans un "conteneur" de SGBD (un champ), et ajouter des index à l'extérieur,
  • pour les modèles de documents simples, on peut trouver une correspondance directe élément XML-champ SGBD,
  • enfin, il existe quelques nouveaux SGBD, capables de traiter en natif XML et de l'interroger avec XQuery (Tamino...).
La famille de XML

On peut en distinguer trois groupes :

  • les outils complémentaires à XML (CSS, XSL, XSLT, XPath, XQL...) : ils servent à manipuler, transformer ou à enrichir des documents XML,
  • les normes filles (CML...) : à l'aide d'une DTD spécifique, ces langages permettent d'échangers des documents dans une spécialité donnée (chimie, mathématiques...),
  • les normes utilisant XML comme langage de base (WSDL, XPDL, SAML...). Il utilise la "grammaire" XML pour porter la norme. XML étant extensible, la norme restera évolutive.
DOM et SAX

DOM (Document Object Model) est une interface de programmation (API), indépendante des langages et des plates-formes, permettant aux programmes et aux scripts d'accéder et de mettre à jour dynamiquement le contenu, mais aussi la structure et la présentation des documents HTML et XML.
La structure type du document est chargée en mémoire sous forme d'une hiérarchie d'objets et il est ainsi possible de naviguer dedans. La structure type d'un document pouvant être très complexe, la mémoire requise et la puissance de calcul nécessaires sont importantes. C'est une norme officielle du W3C.
SAX (Simple API for XML) est aussi une interface de programmation, à l'origine pour Java mais qui ne charge pas la structure en mémoire. L'application hôte reçoit les informations sous forme d'événements (events).
D'un maniement moins complexe que DOM elle est aussi d'une meilleure performance, surtout sur les documents volumineux. De fait, elle n'est conceptuellement pas aussi puissante que DOM.

L'organisation normative pour XML et DOM est le W3C.
Consultez aussi notre Lettre d'Octobre 2003, sur XML dans l'entreprise.

Réagir à cet article