Simple API for XML

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir SAX.

Simple API for XML ou SAX est une interface de programmation pour de nombreux langages permettant de lire et de traiter des documents XML.

L’API SAX est originellement spécifique au langage de programmation java qui l'utilise pour lire une portion ou la totalité d'un document xml. Elle a pu par la suite être adoptée par la plupart des langages de programmation actuels[1].

Sommaire

[modifier] Origine de l'API SAX

L'API SAX est développé pour la première fois par le développeur David Magginson en janvier 1998. En publiant la toute première version de l'API dans le groupe de discussion (mailing list) xml-dev la première version de cette API, SAX 1.0. Qui a eu un bon retour de la part des membres de ce groupe de discussion et un bon écho chez les industriels de l'informatique et les developpeurs de logiciels. Depuis l'api SAX a évolué en dehors de son développeur initial et on en est aujourd'hui à la version SAX 2.0 qui est disponible depuis 2004.

[modifier] Petite comparaison entre DOM & SAX

Les méthodes SAX et DOM adoptent chacune une stratégie très différente pour analyser la syntaxe des documents XML, elles s'utilisent donc dans des contextes différents. DOM charge l'intégralité d'un document XML dans une structure de données, qui peut alors être manipulée puis reconvertie en XML. Cependant pour cela il faut que la taille de la structure représentant le document XML ne soit pas supérieure (ou pas trop) à ce que peut contenir la mémoire vive. La méthode SAX apporte alors une alternative dans les cas de figure où les documents XML sont de taille très importante (on parle alors de mise à l'échelle, en anglais scalability).

[modifier] L'API SAX techniquement

SAX traite les documents, élément par élément, au fur et à mesure qu'ils sont rencontrés. Pour chaque élément (balise, commentaire, texte), la fonction de rappel correspondante est appelée. C'est pourquoi ce mode d'interprétation des documents XML utilise moins de mémoire, car SAX n'accumule aucune donnée dans une structure. Cependant le programmeur peut très bien recueillir les données qui l'intéressent dans les structures de son choix, ou bien réaliser directement des opérations correspondant aux éléments rencontrés dans le document.

[modifier] Livres sur l'API SAX

  • (en) W. Scott Means & Michael A. Bodie (2002): "The Book of Sax: The Simple Api for Xml". 312 pages.
  • (en) Elliote Rusty Harold (2002): "Processing Xml With Java: A Guide to Sax, Dom, Jdom, Jaxp, and Trax". Editeur : Addison-Wesley Professional (14 novembre 2002).1120 pages

[modifier] Notes et références

  1. Pour avoir la liste des nombreux langages qui prennent en charge cette API vous pouvez consulter la page http://www.saxproject.org/langs.html qui est issue du site officiel de l'API.

[modifier] Lien externe