STIC Discussion:STIC II - exercice 10 (Xerneas)
mise en forme xml? -- Maud Bernies (discussion) 12 mars 2018 à 15:16 (CET)
Bonjour,
J'ai beau retourner le problème dans tous les sens, je n'arrive pas à comprendre pourquoi la mise en forme ne s'applique pas? le texte reste aligné malgré toutes les tentatives que je fais...
http://tecfaetu.unige.ch/etu-maltt/xerneas/bernies7/stic-2/ex10/test.xml
Merci pour votre aide,
Maud.
Re: mise en forme xml? -- Mattia A. Fritz (discussion) 12 mars 2018 à 17:47 (CET)
Bonjour,
d'après ce que je vois, un problème concerne sûrement votre fichier test.xsl
dans lequel vous déclarez plusieurs fois le template qui "match" seulement l'élément <cours>...</cours> de votre XML :
<xsl:template match="cours">
Il faut avoir un template pour tous les éléments/balises qui font partie de votre XML, donc par exemple :
<xsl:template match="nom">
ou
<xsl:template match="echeance">
etc.
Pour chaque élément/balise XML il faut en effet un seul template qui match cet élément en particulier et qui transforme son contenu en HTML en fonction de ce que vous voulez afficher à la page.
Mattia
Re: Re: mise en forme xml? -- Maud Bernies (discussion) 13 mars 2018 à 14:14 (CET)
Bonjour,
Seriez vous disponible vendredi matin? j'aimerai vous poser qq questions sur XML?
Merci d'avance,
Maud
- Replace this text with your reply
Re: Re: Re: mise en forme xml? -- Mattia A. Fritz (discussion) 13 mars 2018 à 16:43 (CET)
Vous pouvez passer à 11h vendredi si cela vous convient.
Dans l'attente je vous conseille quand même d'essayer de poser quelques questions ici, car en dehors du cadre du cours, la plupart de la communication sur des technologies se fait par écrit. Formuler des questions sur les technologies est également une compétence qui s'apprend avec la pratique ;)
Mattia
Re: Re: Re: Re: mise en forme xml? -- Maud Bernies (discussion) 14 mars 2018 à 16:56 (CET)
- ok pour 11h, je passerai et j'essaye de formuler mes questions mais ce sont davantage des incompréhensions...
mise en forme xml? -- Maud Bernies (discussion) 19 mars 2018 à 15:16 (CET)
Bonjour Mattia,
Comme conseillé j'ai fait le fichier HTML (avec nouveau css)- http://tecfaetu.unige.ch/web/etu-maltt/xerneas/bernies7/stic-2/ex10/html%20et%20css/test.html
Voici donc la mise en forme souhaitée (je n'ai intégré le nouveau css qu'au doc html mais pas aux autres, je le ferai dans un second temps).Je ne vois toujours pas comment les données de mise en forme sont intégrées au xml?
Merci pour votre aide,
Re: mise en forme xml? -- Mattia A. Fritz (discussion) 19 mars 2018 à 15:26 (CET)
Bonjour Maud,
remplissez votre page HTML avec des données d'exemples, pas seulement la structure. Donc insérez dans le HTML l'équivalent des données que vous avez/voulez avoir dans votre XML. Par exemple mettez le nom du cours, l'activité, le lien, etc. Comme ça vous aurez une idée précise de ce que vous voulez faire avec vos données et comment vous voulez les afficher au final.
Une fois que vous avez fait cela, on verra comment créer des règles de transformation dans votre XSLT qui vont faire cela de manière automatique depuis votre XML.
NB : Faites attention à ce que votre lien n'est pas correcte... vous avez toujours le /web/... qui ne doit pas figurer...
Mattia
Re: Re: mise en forme xml? -- Maud Bernies (discussion) 19 mars 2018 à 15:51 (CET)
- Replace this text with your reply
Voici
http://tecfaetu.unige.ch/etu-maltt/xerneas/bernies7/stic-2/ex10/html%20et%20css/test.html
Re: Re: Re: mise en forme xml? -- Mattia A. Fritz (discussion) 19 mars 2018 à 16:08 (CET)
Voilà, donc vous avez maintenant une première version du résultat final de votre transformation en HTML. Il faudra sûrement la modifier, par exemple vous utilisez les listes <li>...</li>
sans l'élément <ul>...</ul>
qui les entore (voir par exemple Créer une liste à puce en HTML, mais cela est déjà une début.
Maintenant vous pouvez analyser votre code HTML et le comparer avec votre XML et noter par exemple que :
- Chaque fois que vous avez un élément XML du type
<nom>ERGO</nom>
, cela se traduit par<h1>ERGO</h1>
- Chaque fois que vous un élément XML du type
<activite> Implémentation d'une maquette </activite>
, cela se traduit par<li>Implémentation d'une maquette</li>
- ...
Donc ce que votre XSLT doit faire, c'est définir les règles de ces transformations avec la déclaration des templates, par exemple :
<xsl:template match="nom">
<h1><xsl:apply-templates/></h1>
</xsl:template>
ou
<xsl:template match="activite">
<li><xsl:apply-templates/></li>
</xsl:template>
Vous devez avoir quelque chose de similaire pour tous les éléments XML que vous voulez transformer en HTML. en tenant compte du principe de l'itération (e.g. vous avez plusieurs cours) et en sachant que vous avez des éléments qui sont emboîtés dans d'autres, ce qui complique un peu la transformation.
Mattia