Rapport de l'exercice 5 de STAF 14
Page XML : Liste de Liens
OBJECTIFS
Réaliser une page de liens en XML.
CONCEPTUALISATION
Etablir la structure de la liste :
- domaines
- sous-domaines
- sous-sous-domaines
- noms des sites
- URL
- description
- l'élément racine nommé 'liste' comprendra un ou plusieurs domaines.
- l'élément 'domaine' comprendra des noms de domaines (université, enseignement...), éventuellement des sous-domaines, oubien un ou plusieurs liens (mais pas les 2).
- l'élément 'sous-domaine' comprendra des noms de sous-domaines (tecfa, fapse...), éventuellement des sous-sous-domaines, ou bien un ou plusieurs liens (mais pas les 2).
- l'élément 'sous-sous-domaine' comprendra des noms de sous-sous-domaines (administration suisse ou française; écoles primaires ou secondaires) et un ou plusieurs liens.
- l'élément 'lien' comprendra des noms de sites, leur URL et éventuellement une description.
- les éléments : nom-dom, nom-sdom, nom-ssdom, nom-site, url et description seront composés d'une chaîne de caractères.
REALISATION
J'ai d'abord lu tous les documents qu'on nous a donnés, puis j'ai cherché dans les exemples du TOOLBOX de STAF14... je n'arrivais pas à comprendre comment créer ces 3 pages !
Je suis allée voir comment étaient construites nos pages 'Travaux' ainsi que la page de Lionel qui avait travaillé avec Vivian.
Avec ces sources j'ai essayé de construire un DTD et une page XSL... Ce n'était pas très concluant, d'autant plus qu'on ne peut avoir aucune vision intermédiaire de notre travail.
J'ai demandé de l'aide à Vivian qui m'a remis sur les rails !
J'ai avancé seule puis elle est revenue pour mettre au clair certains points :
- tous les commentaires que j'avais écrits posaient problème... (après de nombreuses modifications infructueuses on les a tous enlevés).
- je n'avais pas compris comment poser les 'template match'. D'ailleurs je n'ai pas encore vraiment compris cette notion de 'template'.
- la joie quand enfin ma page s'afficha!
- ce n'était qu'un début : la liste est à peine commencée et la mise en page est tout à faire.
- je pensais poursuivre mon travail (sur une copie de chaque fichier)chez moi... impossible : il faut être constamment en ligne... et encore!!! les modifications que je faisais sur la page XSL n'apparaissaient pas!
- du coup j'ai fait ma page WELCOME avec des liens sur les autres pages... je ne pouvais non plus pas la tester depuis chez moi!
- donc je me suis rabattue sur la page COMMENT pour prendre de l'avance.
- comme toute liste est appelée à s'alonger, je voulais d'emblée placer des ancres et j'avais copié le code de nos pages travaux... sans comprendre où placer en suite les ancrages... Vivian m'a alors dit qu'il fallait créer des 'tables de contenu' (toc) et me donna le code... qui ne faisait aucun effet...! C'était entre autre pour des problèmes de nom.
DIFFICULTES TECHNIQUES
Difficultés pour comprendre la fonction particulière des 3 pages: DTD, XSL et SXML d'une part, pour les créer et les utiliser ensuite.
- écrire les bons prologues au début des pages
- apprendre de nouvelles commandes d'emacs
- problèmes de commentaires : ils ne sont pas tolérés par COCOON apparemment!
Code pour une table de contenu (toc) :
- à placer dans le 'body' de la page xsl :
< xsl:apply-templates select="domaine" mode="toc"/ >
< xsl:apply-templates select="domaine" mode="full"/ >
- à placer dans les templates :
< xsl:template match="domaine" mode="toc" >
< a href="#{@id}">< /a >
< /xsl:template >
< xsl:template match="domaine" mode="full" >
- finalement Vivian a créé un 'id', une déclaration d'attribut unique dans le dtd :
< !ATTLIST domaine
id ID #REQUIRED>
.... que je suis incapable de ré-expliquer le lendemain !