XML -- TP 5 : APIs JAVA (SAX et DOM)


Méthodologie

Rappels de Java : Pour appliquer un programme Java, le plus simple consiste à effectuer les opérations suivantes :

L'utilisation de l'option "-cp ." qui permet de spécifier que le classpath de java est constitué du répertoire courant n'est pas nécessaire. L'effet de ces commandes est d'exécuter la procédure main() définie dans la classe maclasse du fichier maclasse.java.

Exercice 1 : La classe SimpleSaxParser

Fichiers : SimpleSaxParser.java, wg.xml, wg.dtd, wg-nodtd.xml

Pour commencer, compilez la classe SimpleSaxParser.java.

Exercice 2 : La classe SimpleDomParser

Fichiers : SimpleDomParser.java

Reprendre les questions 1, 2 et 3 de l'exercice précédent, cette fois à partir du parseur DOM implémenté dans la classe SimpleDomParser. Inspirez-vous de la fonction walk_the_tree et définissez le traitement des noeuds selon leur type.

Exercice 3 : Evaluation d'expression XPath "descendantes" à l'aide de SAX

Fichiers : - booker.xml, cd.xml

On souhaite développer une application permettant d'évaluer des requêtes XPath "descendantes", c'est-à-dire dont le seul axe possible est l'axe "child". Ecrivez une classe XPath.java permettant de résoudre ce problème. Elle pourra être utilisée de la façon suivante :

 java Xpath cd.xml CDlist/CD/performance/soloist
Pour interpréter la requête XPath, on pourra utiliser la libraire StringTokenizer présente dans le J2SE1.4 :
 String test = "gdt/expose/speaker"; 
 String[] result = test.split("/");
Vous utiliserez comme base de votre classe un parseur SAX. Votre application affichera le résultat le résultat de la requête, en séparant les différents noeuds sélectionnés.

Option : Etendez votre classe en autorisant l'opérateur de restriction ([...]), ainsi que l'axe "descendant-or-self" (//).