Programmation SAX
Exercice générique
- Écrire un parser qui affiche tous les événements déclenchés (début et fin de document, début et fin d'élément, feuilles textes).
- Écrire un parser qui compte le nombre de balises ouvrantes dans le document XML.
- Écrire un parser qui compte le nombre d'occurrences de chaque balise.
- Écrire un parser qui regroupe les feuilles textes non séparées par des balises.
Squelette XML indenté
Fournir un programme Python basé sur SAX qui présente les balises d'un fichier XML quelconque de manière arborescente, c'est-à-dire :
- un nom d'élément par ligne ;
- une indentation proportionnelle à la profondeur du noeud dans l'arbre.
Le championnat : calcul de statistiques et production XHTML
Écrire un programme Python qui utilise SAX pour lire un fichier de type Foot. Celui-ci devra produire les mêmes sorties que la feuille XSLT écrite précédemment et, en plus, des statistiques par équipe (nombre de matches joués, de victoires, de points, différence de buts, etc.). Étape par étape :
- sortie HTML des matches ;
- calcul et affichage de statistiques ;
- produire un sommaire de la page et le placer en fin de document ;
- faire apparaître ce sommaire en tête de page.
Films et acteurs
Écrire un programme Python pour chacun de ses formats en vue de produire des versions XHTML de ces documents :
- faire apparaître le contenu ;
- un sommaire ;
- les références résolues.
TODO list
Il s'agit d'écrire un programme Python basé sur l'API SAX et produisant une sortie HTML, bien formé et contenant un maximum d'informations de la todolist (idéalement toutes !), par exemple :
- un titre dans l'en-tête et un titre dans le corps qui reprennent le nom du propriétaire de la liste ;
- l'image associée à chaque todo ;
- le titre de chaque todo à l'aide d'un élément HTML adéquat ;
- également sa date limite ;
- ensuite, les paragraphes des commentaires ;
- puis, les items rassemblés sous la forme d'une liste HTML, les items critiques étant distingués des autres ;
- les liens (qui doivent être cliquables), les dates et les mots importants contenus dans les parties textuelles.