STIC:STIC II - exercice 10 (Volt)

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cette page fait partie des cours STIC I et STIC II

Enoncé de l'exercice 10

Cet exercice du cours STIC II vous permet:

  • d'apprendre comment construire des DTDs pour XML
  • d'apprendre les bases de XSLT
  • d'apprendre comment associer une feuille de style CSS à une "sortie XHTML"

Tâche

  • Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT"
  • La DTD doit aider un auteur à rédiger un genre de texte pour un public cible (apprenant, client, etc.). Ne faites pas une spécification pour un fichier d'échange de données (genre SVG, DocX, etc.)
  • Afficher avec une feuille de style XSLT un contenu XML valide crée avec cette DTD
  • Bonus: associer une CSS au résultat HTML
  • Ecrire un rapport
  • Participer au Wiki (en rapport avec la thématique de l'exercice ou du cours)

Emplacement de la page d'accueil / rapport:

 /etu-maltt/<promo>/<login>/stic-2/ex10/

par exemple:

 /etu-maltt/qwerty/user1/stic-2/ex10/
  • Donc ex10 et ne pas exercice 10 etc. !!

Contraintes

  • Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT
  • Vous pouver soit définir une nouvelle DTD, soit adapter une DTD
  • La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD)

Il faut donc produire 4 fichiers:

  • Une DTD,
  • un fichier *.xml
  • un fichier *.xsl associés à ce fichier xml
  • un rapport
  • Option: faire une copie du fichier XML avec une autre feuille de style (donne un bonus complexité)

Le rapport doit inclure:

  • Titre, auteur et date
  • Le résulat:
    • Lien vers la DTD
    • Lien vers le fichier XML
    • Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
  • Objectifs DTD: Elle sert à quoi ?
  • Documentation de la DTD (peut aussi être faite dans la DTD)
  • Objectifs XSLT: Comment avez-vous pensé la mise en page ?
  • La production: bref résumé de la démarche
  • Contribution Wiki
  • Difficultés, auto-évaluation, remarques
  • Ressources utilisées, bibliographie.

Evaluation

Voici la liste des critères d'évaluation. Chaque donne entre 0 et 0.6 points.

  1. Qualité du rapport Y compris discussion des besoins et du vocabulaire, références, réflexions.
  2. Qualité technique: Validité des fichiers XML, XSLT et de la DTD
  3. Respet des contraintes: Y compris noms de répertoires, etc.
  4. Documentation technique: Interne (notamment dans la DTD) et/ou externe
  5. Respet de délais
  6. Thématique en rapport avec vos études: Soyez créatifs, faites plus qu’une simple structure tabulaire ! Evitez donc les DTD pour gérér vos CD et vos livres ....
  7. User experience: Ergonomie et qualité de la présentation (X)HTML
  8. Richesse: Complexité, difficulté, originalité. etc.
  9. But et atteinte de buts: Notamment au niveau la DTD
  10. Participation au wiki: (en dehors de la page discussion !)

Propositions wiki-writing

A vous de choisir, mais on suggère de choisir un sujet en rapport étroit avec une des tâches.

  1. Compléter XML
  2. Compléter Tutoriel XSLT débutant
  3. Compléter Tutoriel DTD
  4. XML dans l'éducation
  5. Documenter un éditeur XML Exchanger_XML_Editor
  6. Faire un article en rapport avec un autre exercice, par exemple eXe
  7. Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie W3C,, OASIS,....)
  8. Voir aussi la catégorie en:XML (possibilité de faire un bout de traduction par exemple)

Activités en classe

Tour de logiciels

  • Java 6 SDK. Il faut installer cet environnement, car plusieurs programmes que nous allons utiliser en ont besoin.

Ensuite, installer / utiliser un éditeur XML. Voici quelques choix:

Editeur XML - Choix 1
Editeur XML - Choix 2
  • epcEdit (Linux, Windows)
  • Le plus convivial à utiliser (mais pas à installer)
XML Copy editor - Choix 3
  • XML Copy editor (Linux, windows)
  • Le plus facile à installer ! Assez facile à utiliser, mais moins puissant !.
  • Peut valider toutes sortes de schémas.
Editeur XML - autres choix

Introduction à XML

Déjà faite dans le séminaire d'initiation. Pour rappel:

Warm-up - éditer une DTD de cuisine (pour ceux/celles qui veulent s'exercer un peu ...)

Copiez ces fichiers:

ATTENTION: il faut "sauver les lien sous" / "save link as" ! Pas afficher dans le navigateur et sauver ensuite ...

Avec votre éditeur XML, ouvrez le document cuisine-template.xml

Entrez une recette ...

Créer une DTD

  • Tutoriel DTD (exposé)
  • Démo XML Exchanger lite: en:Exchanger XML Editor
    • Fermer/ouvrir le fichier XML après avoir introduit le doctype plus l'élément racine (c'est un petit bug)
  • Créez une DTD, exemple que vous pouvez copier/coller
 <!ELEMENT addressBook (person)+>
 <!ELEMENT person (name,email*)>
 <!ELEMENT name (family,given)>
 <!ELEMENT family (#PCDATA)>
 <!ELEMENT given (#PCDATA)>
 <!ELEMENT email (#PCDATA)>
  • Sauvez la DTD dans un fichier qui s'appelle addressBook.dtd ou un autre nom de votre choix.
  • Faites un fichier XML avec cette DTD en partant du patron suivant:
<?xml version="1.0"?>
<!DOCTYPE addressBook SYSTEM "addressBook.dtd">

<addressBook>

</addressBook>

Explications:

  • "addressBook" est le nom de l'élément racine. La DTD ne l'indique pas, il faut donc le dire à XML dans la ligne qui définit le Doctype.
  • Remplacez "addressBook" et "addressBook.dtd" si nécessaire.

Introduction à XSLT (exposé)

Activité XSLT

(1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus !

Sinon, fouillez par exemple les exemples très simples: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/

(2) Pour votre XML/DTD faites une simple feuille de style XSLT

Copiez/collez le chablon ci-dessous si vous voulez et remplacez "VOTRE_RACINE, "UN_ELEMENT" par vos éléments. Sinon, la plupart des éditeurs XML offrent une assistance XSLT.

Template XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="html"/>

  <xsl:template match="VOTRE_ELEMENT_RACINE">
    <html>
      <body bgcolor="#FFFFFF">
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="UN_ELEMENT">
    
  </xsl:template>

  <xsl:template match="UN_ELEMENT">
    
  </xsl:template>
</xsl:stylesheet>

Template XML avec XSLT

<?xml version="1.0" ?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">
<?xml-stylesheet href="VOTRE_STYLE.xsl" type="text/xsl"?>

<VOTRE_RACINE>

</VOTRE_RACINE>

Utilisation de Exchanger

  • Lire en:Exchanger XML Editor. Au moins regarder les images dans les sections qui concernent XSLT.
  • Il est impératif de choisir Saxon (XSLT 2.0) comme engin. Les autres ont disparu dans l'installation ..... (file->Preferences; XML Tab)

Ressources

Transparents
TECFA's XML page
Introduction à XML et DOM - PDF file , (transparents)
Introduction technique à XML - PDF file , (transparents)
Introduction technique à XSLT - PDF file , (transparents)
Manuels électroniques (PDF et dPUB sur XML)
[docs protégés]
Exemples de DTD
http://tecfa.unige.ch/guides/xml/examples/dtd-examples/
http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
Informations sur les DTD
Généralités sur les DTD
Analyse de données préparatoire à la conception d'une DTD. Cette page propose 6 phases bien distinctes pour le développement d'une DTD.
Pages wiki fr
XML (survol conceptuel)
Tutoriel DTD (important, comprend les éléments pour réuissir l'exercice)
Encodage de caractères
Tutoriel XSLT débutant (contenu similaire aux transparents XSLT)
Pages wiki en anglais
en:Editing XML tutorial (tutoriel pour utiliser un schéma XML)
en:DTD tutorial
XML (en, mini-tutoriel + liens)
XML editor (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit)
XSLT (en, liens)
XSLT Tutorial (en, mini-tutoriel)
Character encoding (en, liens encodage)
Cours COAP
La catégorie XML
en:Exchanger XML Editor