Valid XHTML     Valid CSS2    

Développement Web et représentation de données :

Technologie XML, DTD, XSD et XSL ;

applications à la bureautique et à la bioinformatique

Exercices corrigés, série 1 : structuration XML

                     gilles.hunault "at" univ-angers.fr

 

Table des matières cliquable

  1. Installation des outils logiciels

  2. Structuration de services

  3. Structuration de personnes, VCARD et XCARD

  4. Structuration de séquences Fasta

  5. Structuration de personnes et de services

  6. Formats XML usuels en bureautique

  7. Formats XML usuels en bioinformatique

  8. Bases de données et XML ; espaces de noms

  9. Dessins et rendus XML

10. Lecture de fichiers XML sur Internet et logiciel R

11. Questions diverses

 

Il est possible d'afficher toutes les solutions via ?solutions=1 et de les masquer avec ?solutions=0.

 

1. Installation des outils logiciels

Installer sous Linux les outils en ligne de commande nommés recode, rxp, xmllint, xmlstarlet, xsltproc puis les modules XML::Parser, XML::Checker, XML::SAX, XML::Validator::Schema et XML::XSLT pour perl.

Où sont les pages d'aides associées ?

Vérifier que le script demoXml fourni dans l'archive demoXml.zip fournit les mêmes résultats que dans le listing de sortie demoXml.txt et que vous comprenez les affichages. On pourra essayer de retenir les principales options des outils en ligne de commande. On utilisera bien sûr les fichiers suivants :

Fichier Explications
dbf.xml fichier xml bien formé
dmf.xml fichier xml mal formé
adv.xml fichier xml valide pour la grammaire id.dtd
adn.xml fichier xml invalide pour la grammaire id.dtd
id.dtd fichier grammaire de type dtd
axv.xml fichier xml valide pour la grammaire id.xsd
axn.xml fichier xml invalide pour la grammaire id.xsd
id.xsd fichier grammaire de type xsd (schéma)
cours.xml fichier xml auquel appliquer la transformation .xsl
cours.xsl fichier xml qui est une transformation xsl

Ecrire un script iso2utf et un script utf2iso pour convertir les accents à l'aide de recode (plutôt que iconv).

Tester ces scripts avec les fichiers accentsIso.txt, accentsHtml.txt et accentsUtf.txt. Un fichier plus complet en iso est allcharIso.txt.

Solution :  

 

2. Structuration de services

On veut modéliser des services dans une entreprise comme Achats, Direction, Courrier... Ecrire le fichier serv00.xml défini à l'aide des seuls éléments services et service ; les noms de services seront intégrés comme des contenus-texte d'éléments. Comment vérifier que le fichier est bien formé ? Ajouter le service Représentation après avoir remarqué qu'il y a un caractère accentué. On nommera serv01.xml le fichier avec accent.

Ecrire le fichier serv02.xml défini à l'aide des éléments services et service et du sous-élément nomDeService dont le contenu-texte est un nom de service puis écrire le fichier serv03.xml défini à l'aide des éléments services et service et de l'attribut nomDeService.

On décide maintenant d'ajouter un identifiant de service (comme pour une base de données). Faut-il utiliser l'initiale des services ou un entier auto-incrémenté ? Si on nomme numService cette donnée, comment l'implémenter ? Vous écrirez dans serv04.xml à partir de serv02.xml la solution avec sous-élément et dans serv05.xml la solution avec attribut. Y a-t-il pour l'instant une meilleure solution ?

Solution :  

 

3. Structuration de personnes, VCARD et XCARD

On admettra qu'on peut définir sommairement une personne par un nom, un prénom et une ddn (date de naissance) que l'on réduira pour l'instant à une année de naissance. Ecrire, à partir des éléments personnes et personne dans le fichier pers01.xml une solution tout élément puis dans pers02.xml une solution tout attribut. Enfin, écrire dans pers03.xml