STIC Discussion:STIC II - exercice 10 (Aegir)
Code XML et outil -- Lydie Boufflers (discussion) 19 avril 2021 à 18:55 (CEST)
Bonjour à tout-es,
En cas de difficultés technique au niveau des langages et/ou au niveau de l'outil XML Exchanger, nous restons à disposition pour vous aider. Ne restez pas bloqué et n'hésitez pas à poser vos questions via cette page.
Bon travail,
Lydie
Pour l'équipe enseignante
Avancée ex10 -- Lydie Boufflers (discussion) 5 mai 2021 à 15:00 (CEST)
Bonjour à tout-es,
Nous vous rappelons que nous restons à votre disposition pour les questions et/ou problèmes techniques que vous pouvez rencontrer.
N'oubliez pas qu'une technologie demande un temps d'appropriation, il est donc normal de prendre un peu de temps pour la prise en main des outils. Cependant, si vous êtes dans une impasse, ne restez pas bloqués et contactez-nous.
Nous restons à votre disposition,
Bonne journée à tout-es,
Lydie
pour l'équipe enseignante
XSLT - Création de listes et de tableaux -- Marie G. (discussion) 6 mai 2021 à 15:11 (CEST)
Bonjour,
Pour mon exercice, j'aurais besoin de transformer une partie de mon XML en liste ou en tableau mais je n'arrive pas à trouver d'informations là dessus. J'ai essayé d'inclure un "for-each" mais je ne dois pas le mettre au bon endroit. J'ai vaguement compris le fonctionnement du XSLT mais malgré les tutoriels cela reste vraiment compliqué. Pour le moment j'arrive à appliquer des titres et des paragraphes.
Si l'explication est compliquée est-il possible de prévoir un moment pour en discuter car nous n'avions pas vraiment eu le temps de s'essayer à ce langage lors du cours en présentiel ?
Si un tuto écrit suffit c'est bien aussi !
Merci d'avance,
Bonne journée,
Marie
Re: XSLT - Création de listes et de tableaux -- Lydie Boufflers (discussion) 7 mai 2021 à 12:23 (CEST)
Bonjour Marie,
Voyez cet exemple : https://www.geeksforgeeks.org/displaying-xml-using-xslt/, je pense que cela va répondre à votre question.
Tenez moi au courant :)
Lydie
Re: Re: XSLT - Création de listes et de tableaux -- Marie G. (discussion) 18 mai 2021 à 11:40 (CEST)
Bonjour,
J'ai continué et presque terminé mon fichier xsl mais j'ai un problème que je n'arrive pas à résoudre. J'ai fais mes tableaux mais j'ai une répétition d'informations au-dessus du tableau comme sur l'image jointe (issue de la transformation en html) :
J'ai mis mes fichiers dtd, xml et xsl sur le serveur ici : http://tecfaetu.unige.ch/etu-maltt/aegir/guillon3/stic-2/ex-10/
J'ai beau chercher dans mon XSL je ne vois pas où j'appelle cette information sous ce format.
Pour le reste tableaux et liste marchent bien grâce au lien. Merci !
Marie
Re: Re: Re: XSLT - Création de listes et de tableaux -- Lydie Boufflers (discussion) 19 mai 2021 à 15:37 (CEST)
Bonjour Marie,
Avec Stéphane, nous avons repris tous vos fichiers. Nous avons constaté que vous avez utilisé des <xsl:apply-templates/>
généraux dans votre XSL mais, comme le fichier est très complexe, il y a un cafouillage quelque part et cela crée une répétition à cet endroit. En théorie, pour de simples XSL cela fonctionne mais dans votre cas, on vous conseille d'utiliser des xsl:apply-templates
avec un attribut select
(sauf le premier).
Par exemple
- <xsl:apply-templates select="fiche-de-sequence"/>
Pour le tableau, faites un <xsl:apply-templates/>
sur "programme" et "séquence" avec un attribut select comme ceci :
<xsl:apply-templates select="programme"/>
<xsl:apply-templates select="seances"/>
Cela devrait fonctionner. Tenez nous au courant ;)
Bonne journée
Lydie
PS : Indépendemment de cela, votre DTD est très complexe et pourrait être simplifiée. Essayez de revoir cela si vous avez le temps pour la partie autoscopique de votre rapport.
Re: Re: Re: Re: XSLT - Création de listes et de tableaux -- Marie G. (discussion) 20 mai 2021 à 09:30 (CEST)
Bonjour,
Merci beaucoup pour le temps passé et la solution qui marche très bien. Pour ma DTD, j'ai du la complexifiée pour les listes. J'ai essayé avec juste "objectifs" et "matériel" par exemple mais les "for-each" ne marchaient pas bien. Je vais regarder ce que je peux faire en tous cas.
Bonne journée,
Marie
=Re: Re: Re: Re: Re: XSLT - Création de listes et de tableaux -- Lydie Boufflers (discussion) 20 mai 2021 à 09:34 (CEST)=
Bonjour Marie,
Contente que cela fonctionne !
Pour la DTD, ne refaites pas tout :) Le rapport, dans sa partie autoscopique, sert à faire le point sur ce que vous auriez fait autrement. Indiquez les améliorations que vous entrevoyez, cela nous convient mais ne refaites pas tout si votre solution fonctionne :) Il me semble que vous avez atteint les objectifs d'apprentissage sur cet exercice donc pas besoin de passer plus de temps sur cela.
Bonne journée
Lydie
XSLT - Erreur -- Jennifer Pacheco (discussion) 9 mai 2021 à 19:55 (CEST)
Bonjour,
Je suis en train de faire l'exercice et j'ai un problème. Lorsque j'essaie de faire la transformation de mon fichier XML, il y a une erreur qui apparaît :
J'ai essayé plusieurs fois et chaque fois cette erreur apparaît. Je ne sais pas quoi faire.
Pourriez-vous m'aider s'il vous plaît ?
Je vous remercie d'avance,
Jennifer.
Re: XSLT - Erreur -- Lydie Boufflers (discussion) 10 mai 2021 à 12:52 (CEST)
Bonjour Jennifer,
Je n'ai pas d'erreur lors de la transformation et voilà ce que j'obtiens :
A mon avis, l'erreur vient du processus de transformation. Je pense que cela pourrait être un mauvais paramétrage dans XML Exchanger. Sélectionnez bien vos documents (input / output) et choisissez le processeur Saxon 2.0, cf. ci-dessous
Tenez moi au courant mais cela devrait fonctionner !
Belle journée
Lydie
Re: XSLT - Erreur -- Jennifer Pacheco (discussion) 10 mai 2021 à 13:48 (CEST)
Bonjour Lydie,
Je vous remercie pour votre réponse. Toutefois, j'ai une autre question.
Après la transformation, l'output doit être un fichier HTML ou un fichier XML ?
Je pose la question, parce que si c'est un fichier HTML, le contenu de mon exercice s'affiche, mais si cela doit être un fichier XML, le contenu ne s'affiche pas.
Je vous remercie d'avance,
Jennifer.
Re: Re: XSLT - Erreur -- Lydie Boufflers (discussion) 10 mai 2021 à 14:08 (CEST)
Bonjour Jennifer,
L'output doit être un fichier HTML. Une fois la transformation réalisée, il faut enregistrer en *.html puis lancer dans le navigateur donc ce que vous avez doit être OK si vous avez le même résultat que moi. Cependant, regardez encore votre rendu, certains espaces dans le texte n'était pas présent :)
A disposition pour tout complément,
Lydie
Re: XSLT - Erreur -- Jennifer Pacheco (discussion) 10 mai 2021 à 15:20 (CEST)
Bonjour Lydie,
Je vous remercie beaucoup pour votre aide.
Je vais continuer à travailler sur mon exercice,
Jennifer.
Question code DTD -- Anne-LiseB (discussion) 11 mai 2021 à 20:11 (CEST)
Bonjour Lydie, J'essaye d'avancer sur mon code DTD, il me semblait l'avoir fait correctement, mais il ne passait pas la validation, donc j'ai recommencé. Mon objectif est de faire des "fiches révision" pour plusieurs matières. En regardant le code de l'exemple 04-cuisine (dans le fichier gitHub) j'ai observé cette ligne
<!ATTLIST recipe meal_type CDATA #IMPLIED> puis plus loin <!ELEMENT meal_type (#PCDATA)>
si j'ai bien compris c'est ce qui permet de définir le type de plat comme si c'était un attribut aux recettes ? En recherchant, j'ai trouvé que ATTLIST était définie par
<!ATTLIST element-name attribute-name attribute-type attribute-value>
Alors
- Puis-je utiliser cette modalité dans mon code ?
- Je souhaite que mon attribute-value soit obligatoire, donc dois-je utiliser #REQUIRED ?
- Je ne comprends pas très bien pourquoi je dois ensuite mettre le <!ELEMENT meal_type (#PCDATA)> alors que je mets d'emblée dans le code que le nom de l'attribut-name sera des caractères.
Bonne soirée. Anne-Lise
Re: Question code DTD -- Lydie Boufflers (discussion) 12 mai 2021 à 09:37 (CEST)
Bonjour Anne-Lise,
Pour vous répondre, je vais reprendre vos questions dans l'ordre :
- Puis-je utiliser cette modalité dans mon code ?
- Oui, vous avez le droit de reprendre des bouts de code mais vous devez créditer l'auteur (ici Mattia A. Fritz et Daniel K. Schneider)
- Je souhaite que mon attribute-value soit obligatoire, donc dois-je utiliser #REQUIRED ?
- Oui, c'est cela. Voici une section de la page Tutoriel DTD dans ce wiki consacrée aux attributs et je pense que vous allez y voir plus clair :)
- Je ne comprends pas très bien pourquoi je dois ensuite mettre le <!ELEMENT meal_type (#PCDATA)> alors que je mets d'emblée dans le code que le nom de l'attribut-name sera des caractères.
- C'est toute la différence entre ELEMENT et ATTRIBUT. Un attribut est une propriété d'un élément (ex: type de plats). Un élément correspond à une chaîne de caractères (#PCDATA) donc 1) vous déclarez que RECIPE à un attribut (meal_type) et 2) vous indiquez que l'attribut meal_type est une chaîne de caractères.
- Cependant, un attribut peut être transposé en élément (voir par exemple la page W3C, paragraphe Elements VS Attributes. L'un ou l'autre sont valables et tout dépend de l'intention de votre DTD. La section suivante sur le wiki Attributs VS Elements vous explique cela. Cela étant dit, pour commencer et si vous le pouvez, je vous conseillerais d'éviter les attributs car cela peut complexifier les choses. A vous de voir mais si vous décidez d'y aller, on reste à l'écoute pour vous aider.
Est ce que cela est plus clair pour vous ?
N'hésitez pas dans le cas contraire :)
Bonne journée,
Lydie
Re: Re: Question code DTD -- Anne-LiseB (discussion) 12 mai 2021 à 14:40 (CEST)
- Merci Lydie, j'ai compris, c'est très clair.
Bonne journée.
Anne-Lise