TD-4 : Entités, DocBook et XSL-FO
Benoît
Valiron
Encore des entités
(reprise du TD 3)
Considérez le fichier XML suivant.
&grenoble;
45.196349
5.73226
]]>
Si le fichier valide, que contient la DTD ?
Même question, avec une entité paramètre pour le préfixe geo
.
Comment changeriez-vous l'appel à la DTD dans le fichier XML
pour pouvoir changer de préfixe ?
XSL-FO
Voila une DTD simplifiée pour XSL-FO (la racine est root
).
]]>
On vous demande de concevoir une page de texte A4 avec des marges de 1cm.
Vous placerez un titre de police Helvetica,
centré, de taille 18pt "Titre", un sous-titre de même police mais de taille 14pt disant "Auteur" et un paragraphe de texte justifié,
de taille 12pt, en police "Times"
disant "ceci est un mot en rouge". Le mot "mot" sera mis
en gras et en rouge.
DocBook
Voila un document DocBook simple.
Titre
Prénom auteur
Nom-auteur
Titre de section
Ceci est un mot emphasé.
]]>
Écrivez une DTD simple pour ce document.
Comparez avec le même texte en XSL-FO. En TP, vous allez
utiliser un outils de conversion automatique de DocBook en
XSL-FO puis de XSL-FO vers PDF.
On veut rajouter une section de titre "Un symbole", avec un paragraphe contenant la chaine de caractère "±" (caractère unicode numéro 177).
Où le texte sera-t-il placé ? Écrivez la partie manquante.
Maintenant, on veut définir une entité &plusmoins;
pour faire appel au caractère spécial. Comment faire ?
Encore des DTDs
Le moteur de recherche google propose un service aux webmasters pour l'indexation : les sitemaps. Il s'agit d'un format XML pour donner des informations succintes au robot d'indexation sur les pages qu'il peut rencontrer.
Le format est le suivant (pris sur wikipedia) :
Élément <urlset>
. Obligatoire. Racine du document.
Élément <url>
. Obligatoire. Élément parent pour chaque entrée.
Les éléments restant sont tous fils de cet élément.
Élément <loc>
. Obligatoire. Contient l'adresse internet d'une page, incluant le protocole (http://
ou https://
). Doit faire au maximum 2048 caractères de long.
Élément <lastmod>
. Facultatif. La date de dernière modification du fichier, en format ISO ou plus simplement YYYY-MM-DD.
Élément <changefreq>
. Facultatif. Fréquence à laquelle la page est modifiée en générale : always
, hourly
, daily
, weekly
, monthly
, yearly
, never
.
Élément <priority>
. Facultatif. L'importance relative de cette page par rapport aux autres. Valeur entre 0.0 et 1.0, valeur par défaut de 0.5.
Écrivez une DTD pour ce format, puis un document simple pour un site avec 3 pages : une page d'accueil à http://www.mon-site.com
, changeant tous les jours ; une page http://www.mon-site.com/infos.html
, ne changeant jamais ; une page http://www.mon-site.com/doc.html
, changeant tous les mois.
On souhaite modifier le format pour que les informations contenues dans les éléments loc
, lastmod
, changefreq
et priority
soient maintenant attributs de url
.
Comment changeriez-vous la DTD ?
Les DTDs empêchent-elles l'écriture de documents sitemap non traitables par le robot d'indexation ?