:: Enseignements :: Master :: M2 :: 2007-2008 :: XML-XSLT ::
[LOGO]

Récursivité


Ce TP aborde quelques notions de programmation en XSLT, notamment la récursivité.

Exercice 1 - Agence immobilière

Le fichier maisons.xml contient les descriptions de plusieurs maisons (pièces, décoration, superficie...). Ecrire un programme XSLT qui, à partir de ce fichier XML, calcule pour chaque maison sa superficie totale et qui retrouve la pièce la plus grande. Pour ce faire, le programme comprendra au moins deux modèles de transformation (template) nommés :
  • total-surface : qui étant donné un ensemble de noeuds nodeset passé en paramètre, calcule et retourne la somme des superficies spécifiées dans les attributs surface des éléments du nodeset;
  • max-surface : qui prend un ensemble de noeuds nodeset en paramètre et retourne la valeur la plus grande parmi les attributs surface des éléments de nodeset
La sortie du programme sera un fichier texte qui contient toutes ces informations, sous la forme suivante :
Maison #1:
   superficie : 95m2
   Plus grande pièce : chambre (28m2)
Maison #2:
   superficie : 28m2
   Plus grande pièce : salledeBain (15m2)
etc.