Il existe trois moyens de publier DocBook 4.1.2 XML sur un serveur Internet :
OpenJade en ligne de commande pré-interprétée (command line pre-processed OpenJade), XSLT
Scripts — PHP, Perl, Python
Serveur d'applications — Tomcat + Cocoon
La meilleure option est d'utiliser un serveur d'applications comme Cocoon.
Pour visualiser un exemple de serveur Internet publiant des contenus DocBook 4.1.2 XML avec Tomcat + Cocoon, visitez http://www.xml-dev.com:8080/cocoon/mount/docbook/.
Dans cette section, nous verrons comment publier un contenu DocBook 4.1.2 XML avec Tomcat + Cocoon.
Tomcat est le contenant de mini-serveurs Java (Java Servlet Container). Pour plus d'informations, visitez http://jakarta.apache.org/tomcat/index.html.
Apache Cocoon est une structure de publication XML. Pour plus d'informations, visitez http://xml.apache.org/cocoon/index.html.
Ce guide pratique ne détaillera pas la configuration de Tomcat + Cocoon, puisque c'est déjà fait dans le document http://wiki.cocoondev.org/Wiki.jsp?page=CocoonCompetenceCenter. Cette configuration est simple et ne prendra pas plus de cinq minutes.
Une fois Cocoon + Tomcat configurés et opérationnels, poursuivez aux sections suivantes pour publier des contenus DocBook 4.1.2 XML.
les spécialistes ont rencontré des problèmes de compatibilité avec les feuilles de styles DocBook et certaines versions de l'analyseur syntaxique XML, Xalan. En fait, Xalan est l'analyseur syntaxique fournit avec le JRE de Sun, c'est donc ce que vous utilisez par défaut.
En dernier lieu, assurez-vous d'utiliser la toute dernière version du JRE de Sun (1.4.2 à la rédaction de ce document).
De même, mettez à jour l'analyseur Xalan avec sa dernière version. Pour ma part, la dernière version 1.4.2 du JRE de Sun est fournie avec Xalan 2.4.1, alors que Xalan lui-même est déjà parvenu à la version 2.5.1.
Pour savoir quelle est la version installée actuellement :
# java org.apache.xalan.xslt.EnvironmentCheck |
Pour plus d'informations, visitez http://xml.apache.org/xalan-j/faq.html.
Durant cette phase, nous installerons le XSL de Norman Walsh dans le dossier /usr/local/dbtools/.
Positionnez-vous dans le dossier /tmp/downloads, puis décompressez et dépaquetez le fichier docbook-xsl.
# cd /tmp/downloads/ # gzip -d docbook-xsl-1.53.0.tar.gz # tar -xvf docbook-xsl-1.53.0.tar |
Pour installer docbook-xsl, déplacez les fichiers dans /usr/local/dbtools.
# mv docbook-xsl-1.53.0 /usr/local/dbtool/docbook-xsl
|
Ensuite, installez le XSL du TLDP.
Décompressez et dépaquetez le fichier tldp-xsl-xxxxx.tar.gz, puis copiez tous les fichiers dans le dossier /usr/local/dbtools/docbook-xsl/html.
# cd /tmp/downloads # gzip tldp-xsl-xxxxx.tar.gz # gzip tldp-xsl-xxxxx.tar # mv tldp-html*.xsl /usr/local/dbtools/docbook-xsl/html |
$COCOON_HOME pointe vers le dossier d'applications Internet de Cocoon. Ce dossier s'appelle typiquement /usr/local/jakarta-tomcat-4.1.9/webapps/cocoon/
Créez un dossier nommé docbook dans $COCOON_HOME/mount. c'est là que nous mettrons tous nos contenus DocBook XML 4.1.2.
# mkdir $COCOON_HOME/mount/docbook
|
Créez un fichier nommé sitemap.xmap dans $COCOON_HOME/mount/docbook avec le contenu suivant :
# cd $COCOON_HOME/mount/docbook # vi sitemap.xmap |
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- use the standard components --> <map:components> <map:generators default="file"/> <map:transformers default="xslt"/> <map:readers default="resource"/> <map:serializers default="html"/> <map:selectors default="browser"/> <map:matchers default="wildcard"/> <map:transformers default="xslt"/> </map:components> <map:pipelines> <map:pipeline> <map:match pattern=""> <map:generate src="samples.xml"/> <map:transform src="/usr/local/jakarta-tomcat-4.1.9/webapps/cocoon/mount/editor/stylesheets/simple-page2html.xsl"/> <map:serialize/> </map:match> <!-- répond aux requêtes *.html avec nos documents traités par .xsl --> <map:match pattern="*.html"> <map:generate src="{1}.xml"/> <map:transform src="/usr/local/dbtools/docbook-xsl/html/tldp-html.xsl"/> <map:serialize type="html"/> </map:match> <!-- ensuite, répond aux requêtes *.pdf avec nos documents traités par doc2pdf.xsl --> <map:match pattern="*.pdf"> <map:generate src="{1}.xml"/> <map:transform src="/usr/local/dbtools/docbook-xsl/fo/docbook.xsl"/> <map:serialize type="fo2pdf"/> </map:match> <map:match pattern="*.xml"> <map:generate src="{1}.xml"/> <map:serialize type="xml"/> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> |
Placez un fichier DocBook 4.1.2 XML dans le dossier $COCOON_HOME/mount/docbook/.
Un fichier d'exemple est disponible à http://www.xml-dev.com:8080/cocoon/mount/docbook/openjade.xml.
Maintenant, vous pouvez accéder au document à l'aide d'un navigateur à « http://localhost:8080/cocoon/mount/sample.html » (HTML) ou « http://localhost:8080/cocoon/mount/sample.pdf » (PDF).