Exercices avec SAX

Un peu d'exercices sur les arbres

Récupérez les fichiers Exemple.java et MonContentHandler.java . Pour ces programmes, il suffit de donner en argument l'adresse d'un fichier (et pas une URI). Copiez-les chez vous, testez-les.
Ecrivez un programme qui n'affiche que les titres des étapes pour un document de type cv.
Ecrivez un programme qui compte le nombre d'éléments d'un document XML.
Ecrivez un programme qui compte le nombre d'éléments de la branche la plus profonde d'un document XML (on ne compte que les noeuds des éléments).
Ecrivez un programme qui affiche les noms des balises des éléments du document correctement indentés.

Le Grand Prix

On reprend le travail avec le fichier Grand prix .

Écrivez une classe héritant de org.xml.sax.helpers.DefaultHandler qui construit un document


	    <ensembleOrdo>
	      <nom>...</nom>
	      <nom>...</nom>
	    </ensembleOrdo>

	

avec tous les noms (éléments name) rencontrés dans un film (movie), rangés par ordre alphabétique. L'écriture se fera dans un Writer passé en paramètre du constructeur de votre classe.

Les recettes de cuisine

On reprend le travail avec des recettes de cuisine.

Écrivez une classe héritant de org.xml.sax.helpers.DefaultHandler qui construit un document



<liste-ingredients>
  <ingredient>
    <nom>...</nom>
    <liste-recettes>
      <recette>...</recette>

      ...
    </liste-recettes>
  </ingredient>
  ...
</liste-ingredients>
	

qui associe à chaque ingrédient (élément nom) la liste des titres des recettes (élément recette) qui l'utilisent. Les ingrédients et les recettes seront donnés par ordre alphabétique.

L'écriture se fera dans un Writer passé en paramètre du constructeur de votre classe.

A rendre avec le schéma sur les contraintes

On veut établir une fiche récapitulative d'une contrainte qui contienne les informations suivantes :

Créez cette fiche sous la forme d'un document HTML à l'aide d'un programme SAX qui devra accepter en paramètre l'URL du fichier contenant l'instance afin que la fiche récapitulative contienne un lien vers l'instance.

Vous trouverez ici différentes contraintes pour tester votre appli et votre schéma :