Ce court chapitre explique comment produire le plus simplement possible un document HTML à partir d'un document au format XML DocBook.
Vous devez disposer des paquets suivants[8] :
Les définitions de type de document (DTD) décrivant le format DocBook. Ils sont disponibles sur le site du consortium OASIS : http://www.oasis-open.org/docbook/xml/4.5/.
Les feuilles de style XSLT de base du format DocBook. Elle permettent notamment la production de versions HTML de documents au format XML DocBook. Elles sont disponibles sur : http://docbook.sourceforge.net.
La commande xsltproc permet d'appliquer une feuille de style XSLT à un document XML pour produire un document final (par exemple au format HTML).
Pour produire une version HTML, vous devrez simplement indiquer à
xsltproc l'emplacement de la feuille de style
utilisée (appelée xhtml/docbook.xsl
) et le
nom du fichier source XML :
xsltprocfeuille_de_style.xsl
document.xml
>document.html
Par exemple, chez moi, j'utilise la commande suivante :
FEUILLE_DE_STYLE="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl" xsltproc "${FEUILLE_DE_STYLE}"document.xml
>document.html
Et voilà ! C'est fini. Vous disposez maintenant d'une version HTML de votre document.
Il est possible d'améliorer le rendu du document produit en utilisant certaines options de la feuille de style XSL DocBook. Du fait de l'ajout de ces options, la ligne de commande peut devenir un peu longue. Pour simplifier, j'ai donc préparé un petit script qui rassemble toutes les options que j'utilise.
#!/bin/bash
# On s'arrête en cas d'erreur
set -e
# Vérification du nombre de paramètres
if [ "$#" -ne 1 ] ; then
echo
echo "Script de production d'une version HTML d'un document XML DocBook."
echo
echo "Utilisation :"
echo "$(basename $0) document.xml"
echo
exit 1
fi
# Définition des fichiers à utiliser
SOURCE_XML="$1"
DOCUMENT_HTML="${1%.xml}.html"
# Feuille de style XSL (à personnaliser)
FEUILLE_DE_STYLE_XSL="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl
"
# Vérification de l'existence du document XML source
if [ ! -f "${SOURCE_XML}" ] ; then
echo
echo "Erreur : fichier ${SOURCE_XML} introuvable !"
echo
exit 1
fi
# Vérification de la structure du document
echo "Vérification de la structure de ${SOURCE_XML}"
xmllint --valid --noout "${SOURCE_XML}"
# Production de la version HTML
echo "Production de la version HTML de ${SOURCE_XML}"
xsltproc --stringparam "admon.graphics" "1" \
--stringparam "html.stylesheet" "style.css" \
--stringparam "css.decoration" "0" \
--stringparam "blurb.on.titlepage.enabled" "1" \
--stringparam "contrib.inline.enabled" "0" \
--stringparam "make.valid.html" "1" \
--stringparam "make.year.ranges" "1" \
--stringparam "html.cleanup" "1" \
--stringparam "section.autolabel" "1" \
"${FEUILLE_DE_STYLE_XSL}" "${SOURCE_XML}" \
> "${DOCUMENT_HTML}"
echo "Terminé"
L'option html.stylesheet
permet d'obtenir un
document HTML dont le rendu est personnalisable à l'aide de la
feuille de style CSS indiquée.
Grâce à cette option, vous pourrez améliorer le rendu du document simplement en récupérant la feuille de style CSS du projet Traduc.org http://tigreraye.org/style.css (ou une autre feuille de style CSS pour DocBook) et en la plaçant au même endroit que le fichier HTML :
wget http://tigreraye.org/style.css
L'option admon.graphics
permet d'activer
l'utilisation d'images pour les avertissements et les mises en
garde. Cette option modifie le fichier HTML pour qu'il utilise
ces images, mais ne les installe pas. Il faut donc recopier le
répertoire images
contenu
dans le répertoire des feuilles de style XSL DocBook à côté de
votre document.
Si vous ne voulez pas utiliser ces images, il vous suffit
d'indiquer "0"
comme valeur de l'option
admon.graphics
.