TP noté n°1

XML — Licence Pro BDISE — 15 janvier 2014 — Durée: 2h

Préambule

Énoncé

  1. Construire une page XHTML valide qui ait pour titre principal votre nom et qui liste trois bonnes raisons de faire du XML (en cas de manque d'inspiration: "légerté", "interopérabilité", "clarté de la structure d'arbre").
  2. On dispose d'une DTD pour organiser une collection (XML) de drapeaux. Écrire un fichier XML valide vis-à-vis de cette DTD qui contienne:
    • Le drapeau de la France.
    • Le drapeau de l'Écosse: bleu foncé (0065BD) avec une croix diagonale blanche.
    • Le drapeau de l'Andorre: bleu, jaune (FFCE00), rouge (verticalement) avec un blason (situé à l'URL BlasonAndorre.png) au centre.
    • Le drapeau de Malte: blanc et rouge (verticalement) avec un blason (situé à l'URL BlasonMalte.png) en haut à gauche (70% à gauche du centre de la partie blanche, 80% en haut).
  3. On considère le fichier XML suivant.
    1. Construire une DTD qui accepte le fichier . On dispose également de quelques informations supplémentaires qui pourraient ne pas être visible dans le XML:
      • Une liste de clans peut être vide.
      • Comme leurs nom l'indique, clanId et id sont des identifiants; il n'est obligatoire que pour le clan.
      • Le nom d'un clan est lui aussi obligatoire.
      • Chaque clan a au moins un membre.
      • Par défaut la formule de politesse est "ô toi".
    2. On veut lire plus agréablement le document XML à l'aide d'une CSS. Un exemple de résultat est fourni.
      • Afin de pouvoir tester votre CSS, décommenter dans le XML la ligne qui lie la CSS (renommer la CSS en fonction du nom de votre fichier).
      • Dans la CSS, on veut mettre une couleur de fond orange (#FF9900), garder le texte sur 800 pixels, et le centrer sur la page web en spécifiant ses marges comme auto.
      • On inscrit en titre en gros "Les barbares".
      • Chaque clan sera affiché dans un tableau; les bords du tableau seront affichés (dans n'importe quel style visible, cf exemple).
      • Dans chaque clan, le chef prendra une ligne, les couleurs une autre, les cris une troisième, et chaque membre aura sa ligne.
      • Le nom du chef de clan sera centré et en gras.
      • Les couleurs du clan seront centrées en italique.
      • Les cris seront présentés comme une listes à puces; chaque puce sera carrée. Entre deux cris, on insérera la mention "ou encore" (donc à tous sauf le premier cri). On remarque sur l'exemple que les puces ne sortent pas du cadre du tableau...
      • On mettra en valeur les différents mots clés de l'héraldique (cf exemple).
      • On mettra en valeur les membres du clan qui ont l'honneur d'avoir un id (cf exemple).
      • La CSS devra être valide.
    3. On veut maintenant construire une page HTML à partir de Barbares.xml. Un exemple de résultat est donné.
      • On se base sur le fichier XSLT à trou, fourni.
      • Faire en sorte que votre nom aparaisse dans une métadonnée de clef "auteur".
      • Bonus: insérer un commentaire dans le HTML qui décrit d'où vient le HTML ("Généré à partir de Barbares.xml par une transformation XSLT définie par <votre nom>.").
      • Pour chaque clan il y aura un span de classe "clan" et dont l'identifiant (id) reprend le clanId du clan. On place également dans un h2 le nom du clan. On s'occupe ensuite du contenu du clan.
      • Pour le chef, on crée un paragraphe de classe "chef" dans lequel on va énoncer son nom. Si la formule de politesse n'est pas précisée, on utilise la formule "ô toi". Attention aux espaces et aux guillemets...
      • De même, les couleurs sont englobées dans un paragraphe de classe "couleurs". Notez dans ce cas qu'une partie du travail de traitement sur les couleurs est déjà fait (pas besoin de modifier ces templates!) et qu'il ne faut prévoir que ce qui est autour du blasonnement proprement dit.
      • On s'occupe ensuite des cris de guerre. S'il n'y en a pas, on ne met rien. S'il y en a un seul, on le présente comme le seul cri de guerre (le tout dans un paragraphe). S'il y en a plus, on les présente dans une liste à puces (notez que la phrase d'introduction est elle dans un pragraphe). Dansle cas d'un clan à plusieurs cris, si une occasion est précisée, l'indiquer.
      • On décide de ne pas afficher les noms des membres des clans.

Corrigé

  1. Cette page est du XHTML valide avec une liste ;-)
  2. Une liste de drapeaux.
    1. La DTD pour les barbares.
    2. La CSS pour les barbares.
    3. La transformation XSLT vers HTML.