staf 14 Retour à la page travaux
Rapport de l'exercice 5
|
|
Objectif |
Mon objectif, pour cet exercice, est de comprendre le langage XML ! Ayant entendu mon professeur faire l'éloge de ce nouveau langage, je me suis fixé comme objectif personnel de maîtriser ce langage. Je m'en fiche un peu de l'idée de départ. Ce que je veux, c'est comprendre les liens entre les 3 différents fichiers DTD, SXML, XSL, ainsi que leur philosophie. Je pense donc reprendre l'exemple sur le carnet d'adresses donné durant le cours. (19.02.01) Ayant réalisé mon exercice XML, c'est-à-dire mon carnet d'adresses et ayant compris la logique de ce langage, je me suis dit qu'il serait pratique d'avoir un formulaire permettant aux gens d'envoyer leurs coordonnées. (1.03.01)
|
|
|
Difficultés rencontrées |
Au début, j'avais beaucoup de peine à comprendre l'utilité du langage XML. Je ne parvenais pas à voir ce qu'il pouvait apporter de plus que HTML. J'avais bien compris que le principal avantage de ce langage était de pouvoir séparer la forme du contenu, mais on peut très bien faire la même chose avec HTML et les feuilles de style. Alors je ne voyais pas l'intérêt de ce langage. Pour moi, c'était "comment faire compliqué quand on peut faire simple ?" J'ai commencé par réaliser le DTD. Au début je ne comprenais pas vraiment la différence entre les attributs et les éléments. Je suis donc aller voir Kaspar qui m'a expliqué que les attributs sont des caractérisations des éléments et, donc, qu'un élément peut avoir des enfants alors qu'un attribut non. Sinon, j'ai eu une difficulté avec les déclarations d'éléments, plus précisément, avec les "spécifications de contenu", car dans l'exemple donné dans l'article de avril 2000 de "Programmez !", il ne mettent pas entre parenthèses les #PCDATA, alors qu'elles sont absolument nécessaires. Cette petite mésaventure m'a en outre permis de tester la rigueur de ce langage. Quant au fichier SXML, il ne m'a pas posé de problème particulier. Il suffisait de faire attention aux emboîtements et à la déclaration :
Par contre, la feuille de style XSL m'a donné davantage de difficultés. Je me suis rendu compte que ce n'était pas très facile de gérer un tableau avec les feuilles de style et de faire afficher des données dans les cellules. J'ai, entre autres, eu un gros problème pour afficher les photos (img src). Je suis allé voir Viviane avec qui nous avons essayé de localiser le problème, mais tout semblait correcte. En fait, j'ai découvert qu'il y a chaque fois plusieurs possibilités d'afficher les données et certaines conviennent mieux que d'autres. J'ai aussi eu de la peine à saisir la différence entre les modes d'affichage :
J'ai en fait compris que le <xsl:value-of select="." /> affiche directement l'élément qu'on lui demande et pas l'enfant d'un parent comme c'est le cas avec <xsl:apply-templates select="." />. Mis à part ces difficultés dues au langage XML à proprement parlé, j'ai eu une difficulté avec Netscape 6 qui, un jour, ne prenait pas en compte les changements effectués dans ma feuille de style, ce qui, d'ailleurs, a beaucoup surpris Kaspar, qui a reconnu que, dans certains cas, somme toute très rares, il pouvait y avoir du voodoo... :-)
|
|
|
Réflexions et références |
Une fois que j'en avais terminé
avec ces difficultés,
et que j'ai commencé à rajouter du texte - c'est-à-dire
rentrer des données - dans mon fichier SXML, j'ai réalisé
la force de ce langage et le côté pratique de la séparation
entre le contenu et la mise en page. Aussi me suis-je dit que ce qui serait
vraiment génial, c'est d'avoir la possibilité de remplir
un formulaire qui inscrit directement les nouvelles coordonnées
dans mon carnet d'adresses. Je me suis renseigner un peu autour de moi
et Roberto
Ortelli m'a dit qu'il avait vu un script PHP chez Olivier
Clavel qui permettait d'ouvrir le fichier SXML et d'y inscrire des
données et même les tags. Le gros inconvénient
de ce procédé, qui, dans l'idéal, devrait se faire
avec une base de donnée MYSQL, est que, une fois le formulaire
rempli et envoyé, les permissions pour modifier le fichier SXML
et le sauvegarder disparaissent et je dois chaque fois les réactiver
via FTP Expert. Cela limite donc considérablement la fonctionnalité
et l'utilité de mon formulaire. J'aimerais bien trouver une solution
à ce problème sans passer par MYSQL (vu que je n'ai pas
encore appris ce langage), mais Kaspar m'a dit qu'il n'y avait rien à
faire... snif... :-(
|
staf 14 Retour à la page travaux