Récupérez les fichiers eleve.xml et
classe.xml, ainsi que
leur DTD eleve.dtd et
classe.dtd. Le but du TP est de produire un
nouveau document XML qui contiennent les relevés de notes destinés à
chaque élève, rangés par classe~:
<liste-classe>
<classe id="cla1">
<eleve id="el1">
<nom>Dupont</nom>
<prenom>Sylvain</prenom>
<matiere>
<nom>informatique</nom>
<coeff>4</coeff>
<note>8</note>
</matiere>
<matiere>
<nom>mathematiques</nom>
<coeff>3</coeff>
<note>10</note>
</matiere>
<matiere>
<nom>anglais</nom>
<coeff>2</coeff>
<note>13</note>
</matiere>
<moyenne>9.77</moyenne>
</eleve>
<eleve id="el4"> ... </eleve>
</classe>
<classe id="cla2">...</classe>
...
<liste-classe>
Écrivez un programme à l'aide de l'API DOM qui lit le fichier
classe.xml et le recopie correctement indenté dans un nouveau fichier
sortie.xml.
Pour les éléments ne contenant qu'un seul fils (donc un noeud texte
dans le cas de classe.xml ou
de eleve.xml), vous écrirez la balise ouvrante, la zone
de texte et la balise fermante sur une même ligne.
En point d'entrée, vous pouvez récupérer le
programme MonTPDom1.java
pour obtenir des documents DOM.
On commence l'exercice principal. Votre
objectif est maintenant, à partir de deux documents source, d'en
créer un troisième. Écrivez un programme qui créé un
document resultat qui contient la liste des classes,
avec pour chaque classe la liste de ses élèves (on veut le nom et
le prénom).
Pour la sortie, vous passerez maintenant par un serialiseur qui
s'occupera de l'écriture de votre document résultat dans un flux
en sortie (toujours dans le fichier sortie.xml. Vous
pouvez travailler à partir
de MonTPDom2.java.
eleve
toutes les matières effectuées (on prendra pour le moment toutes
celles qui sont présentes dans la classe dans le
document classe.xml). On devra trouver les informations
sur le nom et sur le coefficient de chaque matière.
classe.