Selon le type et le volume des données et selon le contexte de traitement, plusieurs mécanismes sont disponibles :
Dans ce chapitre, nous allons nous intéresser au dernier cas. Nous chercherons à répondre à la question suivante : comment exploiter des ressources XML dans le cadre d'applications Java ou PHP ? En effet, XML est présent à tous les niveaux d'une application : fichiers d'initialisation et de paramétrage, échange d'informations entre services web, échange avec le client (AJAX), accès à des données, etc. Il convient donc d'être capable de choisir l'outil adapté en prenant en compte l'espace mémoire occupé, le type de traitement à effectuer, les temps de réponse attendus, etc.
Pour cette présentation, nous allons nous appuyer sur deux manières très classiques de programmer avec XML : Document Object Model (DOM, section DOM, utilisation en PHP et en Java) d'une part et Simple API for XML (SAX, section SAX) d'autre part. Le premier propose des structures de données en arbre n-aire, très classiques, selon un standard indépendant du langage de programmation. Le second est une API demandant un style de programmation particulier : la programmation événementielle. Nous étudierons les caractéristiques de ces méthodes aussi bien dans le cadre de Java que dans celui de PHP. Nous aborderons aussi les avantages et les inconvénients de chacun selon le contexte d'utilisation.
Nous terminerons ce chapitre par le reste ! Plus exactement, nous évoquerons, très succinctement, sous la forme d'un tour d'horizon, différentes autres "API" pour traiter XML dont essentiellement : JDOM ([JDOM]) et SimpleXML ([S-XML]).
Afin de présenter les différentes API (les classes présentes dans DOM, les méthodes pour les manipuler, événements SAX, etc.), nous allons utiliser un même exemple "fil-rouge". Notre document XML de référence (ci-contre) décrit un auteur de la littérature. Ici, nous présentons Isaac Asimov et trois de ses oeuvres. |
Ce document, structuré en mémoire, donnera l'arbre ci-dessous. Cet arbre servira de base pour illustrer les différentes classes du standard DOM présentées dans la suite de ce chapitre. Les différents codes graphiques de cet arbre sont les suivants :
Pour bien aborder ce chapitre, il est nécessaire d'avoir les pré-requis suivants :
|
Légende :
|
Cet enseignement a pour objectifs que l'étudiant soit capable d'aborder diverses architectures logicielles et divers environnements de programmation utilisant XML. Ils seront capables de choisir les bons outils de programmation en fonction du contexte de développement, des contraintes techniques et des contraintes d'utilisation. Pour cela, il devra maîtriser correctement les principaux outils pour programmer avec XML et être capable de choisir, en le justifiant, le plus adapté au contexte.