# Conversion de documents DocBook XML/SGML avec OpenJade

Version française de DocBook XML/SGML Processing Using OpenJade

Saqib Ali

    saqib CHEZ seagate POINT com

Guillaume Audirac

    guillaume POINT audirac CHEZ gmail POINT fr

Traduction française guillaume POINT audirac CHEZ gmail POINT fr
Encolpe Degoute

    encolpe CHEZ colpi POINT info

Relecture de la version française encolpe CHEZ colpi POINT info
Jean-Philippe Guérard

    jean TIRET philippe POINT guerard CHEZ corbeaunoir POINT org

Préparation de la publication de la v.f. jean TIRET philippe POINT guerard CHEZ corbeaunoir POINT org
2006-05-10
Version : 2.2.8.fr.1.1
2.2.8.fr.1.1
2006-05-10
JPG Mise à jour de l'adresse électronique de Guillaume Audirac.
2.2.8.fr.1.0
2003-08-29
GA, ED, JPG Traduction de la version 2.2.8 de DocBook XML/SGML Processing Using OpenJade. Ajout du point 4 à la section « Installation du DSL du TLDP ».
2.2.8
2003-07-16
ES Ajout d'information sur la mise à jour des JRE pour Cocoon. (Added info about keeping JREs up-to-date for Cocoon)
2.2.7
2003-07-09
ES Restitution du lien rompu et d'autres fichiers spécifiques sur le XSL du TLDP. (Fixed broken links to LDP XSL and other LDP XSL specific filenames.)
2.2.6
2003-06-16
SA Vérification de l'instruction sur DocBook XSL 1.57. (Verified the instruction against docbook XSL 1.57.)
2.2.5
2003-05-16
SA Restitution des liens rompus dans la partie Informations supplémentaires. (Fixed the broken links in the external resources section.)
2.2.4
2003-04-20
SA Mise à jour des liens vers le nouveau site de démonstration. Ajout de nouveaux liens dans la partie Informations supplémentaires. (Updated links to the new Demo Site. Added new links to the resources section.)
2.2.3
2002-11-22
SA Ajout de suggestions d'utilisateurs. Ajout de nouveaux liens dans la partie Informations supplémentaires. (Added the suggestion made by users. Added new links to the resources section.)
2.2.2
2002-10-09
AS Cette mise à jour corrige quelques autres erreurs typographiques, supprime quelques espaces qui défiguraient le rendu HTML. (This update fixes a few more typos, removes a couple of spaces that make the HTML rendering look odd.)
2.2.1
2002-10-09
SA Correction de l'adresse URL vers le fichier d'exemples. (Fixed the URL to the Sample Files.)
2.2
2002-09-29
AS Corrections mineures dans la partie sur Cocoon. (Minor corrections to the Cocoon section.)
2.1
2002-09-15
SA Corrections mineures dans la partie sur Cocoon. (Minor corrections to the Cocoon section.)
2.0
2002-09-10
SA Ajout de la partie sur la mise à disposition de contenus DocBook XML 4.1.2 à l'aide de Tomcat + Cocoon. (Added the section on serving DocBook XML 4.1.2 content using Tomcat + Cocoon.)
1.5
2002-08-11
SA Ajout de la partie sur XML et du fichier d'exemples XML. (Added the XML section and the sample XML file.)
1.4
2002-08-08
SA Nombreuses et précieuses modifications et corrections suggérées par Lloyd D. Budd. Merci Lloyd :) (Many valuable modifications/corrections suggested by Lloyd D. Budd. Thanks Lloyd. :))
1.3
2002-08-02
SA Ajout de la partie Informations supplémentaires. (Added the "Additional Resources" section.)
1.2
2002-07-23
SA Ajout de la partie sur la conversion HTML -> PDF en utilisant HTMLDOC. Merci à Luc de Louw pour cette suggestion. (Added the section on converting HTML -> PDF using HTMLDOC. Thanks to Luc De Louw for the suggestion.)
1.1
2002-07-19
KET Correction de fautes grammaticales et d'énumérations. (Fixed grammatical errors, numbered processes.)
1.0
2002-06-29
SA Version publique initiale. (Initial public release.)

Ce guide pratique (howto) vous explique comment configurer OpenJade pour transformer des documents XML et SGML.

## Introduction

Quelques acronymes :

1. SGML — Langage normalisé de balisage généralisé (Standard Generalized Markup Language)

2. XML — Langage de balisage extensible (Extensible Markup Language)

3. RTF — Format de texte avec enrichissements (Rich Text Format)

4. HTML — Langage de balisage hypertexte (HyperText Markup Language)

5. PDF — Format de document portable (Portable Document Format)

L'objectif de ce document est de configurer OpenJade pour convertir des documents DocBook 3.2 et 4.2 SGML et XML vers les formats HTML, RTF et PDF.

### Droits d'utilisation

Le texte ci-dessous est la version française de la licence de ce document. Seule la version originale de cette licence, présentée dans la section suivante, fait foi.

Copyright © 2001, Saqib Ali.

Copyright © 2003, Guillaume Audirac, Encolpe Degoute et Jean-Philippe Guérard pour la version française.

La version originale de ce document a été réalisée par Saqib Ali en 2001.

Vous avez le droit de copier, distribuer et modifier la version originale de ce document selon les termes de la licence de documentation libre GNU (GFDL) version 1.1 ou ultérieures, telle que publiée par la Free Software Fondation (FSF); sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible à .

La version française de ce document a été réalisée par Guillaume Audirac et Encolpe Degoute. La version française de ce guide pratique est publiée en accord avec les termes de la licence de documentation libre GNU (GFDL); sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible à .

Une version française non-officielle de cette licence est disponible à .

### Copyright et licence

Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il est composé de la licence en anglais du document original, suivi de la licence en français de sa traduction.

Copyright © 2001, Saqib Ali.

Copyright © 2003, Guillaume Audirac, Encolpe Degoute et Jean-Philippe Guérard pour la version française.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at .

La version française de ce document a été réalisée par Guillaume Audirac et Encolpe Degoute. La version française de ce guide pratique est publiée en accord avec les termes de la licence de documentation libre GNU (GFDL); sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible à .

### Remerciements

Toute la gloire revient à Allah, le Maître des Mondes. Tout le mérite revient à Allah. La moindre erreur dans ce document est de ma propre faute.

De plus, j'aimerais remercier les personnes suivantes pour leurs précieuses contributions à ce document :

1. Eric Safern esafern CHEZ lrn POINT com pour les mises à jour concernant Cocoon et le JRE. .

2. Greg Ferguson gferg CHEZ hoop POINT timonium POINT sgi POINT com pour ses judicieuses suggestions et astuces sur la liste de diffusion de DocBook.

3. Kristin Thomas kristint CHEZ us POINT ibm POINT com pour la relecture initiale de la version originale de ce document.

4. Luc de Louw luc CHEZ delouw POINT ch pour avoir suggérer la partie sur HTMLDOC (PDF → HTML).

5. Lloyd D. Budd ldp CHEZ foolswisdom POINT org pour ses propositions d'amélioration de la plupart des parties de ce document.

6. Andrew Shugg andrew CHEZ neep POINT com POINT au pour la correction des erreurs de la version 2.0 de ce document. Neep Consulting.

### Qu'est-ce que DocBook ?

DocBook, c'est une définition de type de document (Document Type Definition ou DTD). DocBook décrit les types de structures et de formats à employer dans les documents techniques. Il est couramment utilisé du fait de sa simplicité et de son exhaustivité.

Une DTD définit la syntaxe d'un document — c'est principalement un livre de règles qui décrit un ensemble de balises et d'attributs, qui seront utilisés pour décrire des types spécifiques de contenus. Ainsi, DocBook est un livre de règles utilisé pour écrire des documents. Chaque balise utilisée dans la rédaction du document, doit être définie spécifiquement et formellement dans la DTD.

### Qu'est ce qu'un DSSSL ?

C'est un langage de symboles et de spécifications de style de document (Document Style Semantics and Specification Language ou DSSSL). Il définit comment convertir un format SGML (ou XML) vers un format affichable et lisible par l'être humain, comme HTML, RTF et PDF.

### De quoi avons-nous besoin ?

Voici les outils nécessaires à la configuration d'OpenJade pour convertir le SGML et le XML :

- OpenJade

- Les DTD DocBook

- Les entités ISO

- Le DSSSL de Norman Walsh

- Le DSL du TLDP

- HTMLDOC (optionnel)

- Le XSL de Norman Walsh (optionnel)

- Le XSL du TLDP (optionnel)

Note

Tous ces paquets sont libres et disponibles en téléchargement sur Internet. Le chapitre suivant explique comment les télécharger.

### Conditions

Ce document considère que ce qui suit est déjà installé sur votre système :

- gzip — disponible à .

- gcc et GNU make — disponible à .

- unzip — disponible à .

- Les utilitaires Unix classiques — tar, mkdir, mv …

## Les indispensables

Vous devrez télécharger et compiler un seul paquet (OpenJade). Ce guide pratique expliquera l'étape de compilation, mais il serait préférable que vous soyez familier des installations de code source.

La plupart des paquets nécessaires sont situés sur le site Internet du projet de documentation Linux (The Linux Documentation Project ou TLDP).

### Préalable

Créez un dossier `/tmp/downloads`. Nous l'utiliserons pour stocker les codes sources téléchargés.

### OpenJade

OpenJade sera utilisé pour traiter les documents DocBook. OpenJade peut être téléchargé à .

Lors de la rédaction de ce document, OpenJade version 1.3.1 était disponible. Téléchargez le fichier openjade-1.3.x.tar.gz.

### Les DTD DocBook

Toutes les DTD DocBook sont disponibles sur le site Internet de The Linux Documentation Project à .

Veuillez télécharger DocBook SGML v4.1, DocBook SGML v3.1, et DocBook XML v4.1.2.

Note

Veuillez télécharger toutes les archives au format compressé zip.

### Les entités ISO

Le projet de documentation Linux (The Linux Documentation Project) a empaqueté toutes les entités en un seul et gros fichier tar, et l'a placé à pour le confort des utilisateurs. Remercions le TLDP pour ça.

### Le DSSSL de Norman Walsh

Le DSSSL de Norman Walsh peut être téléchargé sur le site Internet du projet DocBook à .

Lors de la rédaction de ce document, `docbook-dsssl-1.76` était disponible.

### Feuilles de style DSL personnalisées par le TLDP

Le DSL du TLDP est une feuille de style personnalisée et utilisée par The Linux Documentation Project (TLDP). C'est une prolongation du DSSSL de Norman Walsh. Il y ajoute plusieurs choses comme un arrière-plan ou une table des matières. Il peut être téléchargé à .

Le fichier `ldp.dsl` nécessite le DSSSL de Norman Walsh.

### HTMLDOC (optionnel)

HTMLDOC peut être utilisé pour convertir le HTML en PDF. Si vous souhaitez créer des documents PDF, téléchargez HTMLDOC à .

### Le XSL de Norman Walsh (optionnel)

Ceci n'est pas indispensable. Mais si vous désirez reconnaître des contenus DocBook 4.1.2 XML en utilisant Tomcat + Cocoon, vous aurez besoin des feuilles de style XML de Norman Walsh.

Les feuilles de style sont téléchargeables à .

Téléchargez le paquet nommé `docbook-xsl`.

Note

Récemment, `docbook-xsl` version 1.57.0 a été rendu publique. Ce document est valide avec la dernière version, et des changements adéquats ont été effectués. Si vous rencontrez encore des erreurs, merci de m'écrire à l'adresse saqib CHEZ seagate POINT com

### Le XSL personnalisé du TLDP (optionnel)

Téléchargez également le XSL personnalisé du TLDP à .

## Installation des outils de conversion — OpenJade

Dans cette section, nous installerons tous les outils dans les dossiers appropriés. Tous vont dans `/usr/local/dbtools/`. Créez ce dossier à l'aide de la commande suivante :

    # mkdir /usr/local/dbtools

### Installation d'OpenJade

Cette procédure est la partie la plus facile, mais aussi la plus longue. Gardez à l'esprit que la compilation d'OpenJade demande du temps. Pour installer OpenJade, réalisez les opérations suivantes :

1. Positionnez-vous dans le dossier `/tmp/downloads`.

       # cd /tmp/downloads

2. Décompressez le fichier.

       # gzip -d openjade-1.3.x.tar.gz

3. Dépaquetez le fichier.

       # tar -xvf openjade-1.3.x.tar

4. Déplacez-vous dans le dossier `openjade-1.3`

       # cd openjade-1.3.x

5. Exécutez la commande `./configure`.

       # ./configure --prefix=/usr/local/dbtools/openjade

6. Exécutez la commande `make`.

       # make

7. Exécutez la commande `make install`. Dès maintenant, les fichiers binaires d'OpenJade seront installés sous `/usr/local/dbtools/openjade`.

       # make install

8. Copiez le dossier `dsssl` de `/tmp/downloads/openjade-1.3.x` vers `/usr/local/dbtools/openjade`.

       # cp -dpR dsssl /usr/local/dbtools/openjade/

### Installation du DSSSL de Norman Walsh

Durant cette étape, nous installerons le DSSSL de Norman Walsh dans un endroit approprié. Le DSSSL n'a pas besoin d'être compilé.

1. Positionnez-vous dans le dossier `/tmp/downloads`.

       # cd /tmp/downloads

2. Décompressez le fichier.

       # gzip -d docbook-dsssl-1.76.tar.gz

3. Dépaquetez le fichier.

       # tar -xvf docbook-dsssl-1.76.tar

4. Déplacez-vous dans le dossier `/usr/local/dbtools/docbook-dsssl`.

       # mv docbook-dsssl-1.76 /usr/local/dbtools/docbook-dsssl

### Installation des DTD DocBook

Dans cette section, nous installerons les DTD DocBook.

1. Positionnez-vous dans le dossier `/usr/local/dbtools`.

       # cd /usr/local/dbtools

2. Créez trois nouveaux dossiers, nommés `dtd3.1`, `dtd4.1`, et `dtd4.1.2`.

       # mkdir dtd3.1
       # mkdir dtd4.1
       # mkdir dtd4.1.2

3. Déplacez-vous dans le dossier `dtd3.1`.

       # cd dtd3.1

4. Décompressez le fichier DocBook SGML v3.1 dans ce dossier.

       # unzip /tmp/downloads/docbk31.zip

5. Déplacez-vous dans le dossier `dtd4.1`.

       # cd ../dtd4.1

6. Décompressez le fichier DocBook SGML v4.1 dans ce dossier.

       # unzip /tmp/downloads/docbk41.zip

7. Déplacez-vous dans le dossier `dtd4.1.2`.

       # cd ../dtd4.1.2

8. Décompressez le fichier DocBook XML v4.1.2 dans ce dossier.

       # unzip /tmp/downloads/docbk412.zip

### Installation des entités ISO

Dans cette section, nous installerons les entités ISO que nous avons téléchargées sur le site Internet du TLDP.

Tout d'abord, nous installons les entités ISO pour la DTD 3.1 SGML.

1. Positionnez-vous dans le dossier `/usr/local/dbtools/dtd3.1`.

       # cd /usr/local/dbtools/dtd3.1

2. Copiez ici le fichier `/tmp/download/entities.tar.gz`.

       # cp /tmp/download/entities.tar.gz .

3. Décompressez le fichier.

       # gzip -d entities.tar.gz

4. Dépaquetez le fichier.

       # tar -xvf entities.tar

Ensuite, nous installons les entités ISO pour la DTD 4.1 SGML.

1. Positionnez-vous dans le dossier `/usr/local/dbtools/dtd4.1`.

       # cd /usr/local/dbtools/dtd4.1

2. Copiez ici le fichier `/tmp/download/entities.tar.gz`.

       # cp /tmp/download/entities.tar.gz .

3. Décompressez le fichier.

       # gzip -d entities.tar.gz

4. Dépaquetez le fichier.

       # tar -xvf entities.tar

### Installation du DSL du TLDP

Enfin, nous installons la feuille de style personnalisée du TLDP.

1. Positionnez-vous dans le dossier `/tmp/download`.

       # cd /tmp/download

2. Copiez le fichier `ldp.dsl` à l'emplacement `/usr/local/dbtools/docbook-dsssl/print`.

       # cp ldp.dsl /usr/local/dbtools/docbook-dsssl/print

3. Copiez le fichier `ldp.dsl` à l'emplacement `/usr/local/dbtools/docbook-dsssl/html`.

       # cp ldp.dsl /usr/local/dbtools/docbook-dsssl/html

4. Le contenu du fichier `ldp.dsl` doit être modifié pour refléter le chemin absolu du fichier `docbook.dsl`. Voici la zone originale du fichier qui doit être adaptée :

       <![%html;[
       <!ENTITY % print "IGNORE">
       <!ENTITY docbook.dsl PUBLIC
                "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN"
                CDATA dsssl>
       ]]>
       <!ENTITY % print "INCLUDE">
       <![%print;[
       <!ENTITY docbook.dsl PUBLIC
                "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN"
                CDATA dsssl>
       ]]>

   Éditez le fichier `ldp.dsl` situé à l'emplacement `/usr/local/dbtools/docbook-dsssl/print` avec un éditeur de texte.

       # emacs /usr/local/dbtools/docbook-dsssl/print/ldp.dsl

   Modifiez le contenu du fichier comme suit :

       <![%html;[
       <!ENTITY % print "IGNORE">
       <!ENTITY docbook.dsl SYSTEM
                "/usr/local/dbtools/docbook-dsssl/print/docbook.dsl"
                CDATA dsssl>
       ]]>
       <!ENTITY % print "INCLUDE">
       <![%print;[
       <!ENTITY docbook.dsl SYSTEM
                "/usr/local/dbtools/docbook-dsssl/print/docbook.dsl"
                CDATA dsssl>
       ]]>

   Éditez le fichier `ldp.dsl` situé à l'emplacement `/usr/local/dbtools/docbook-dsssl/html` avec un éditeur de texte.

       # emacs /usr/local/dbtools/docbook-dsssl/html/ldp.dsl

   Modifiez le contenu du fichier comme suit :

       <![%html;[
       <!ENTITY % print "IGNORE">
       <!ENTITY docbook.dsl SYSTEM
                "/usr/local/dbtools/docbook-dsssl/html/docbook.dsl"
                CDATA dsssl>
       ]]>
       <!ENTITY % print "INCLUDE">
       <![%print;[
       <!ENTITY docbook.dsl SYSTEM
                "/usr/local/dbtools/docbook-dsssl/html/docbook.dsl"
                CDATA dsssl>
       ]]>

### Installation de HTMLDOC

Cette étape est facultative. Elle est utile seulement si vous désirez créer des documents PDF à partir de HTML.

Retournez dans le dossier des téléchargements.

    # cd /tmp/download

Décompressez et dépaquetez le code source de HTMLDOC.

    # gzip -d htmldoc-1.8.xx-source.tar.gz
    # tar -xvf htmldoc-1.8.xx-source.tar
    # cd htmldoc-1.8.xx-1

Exécutez `configure` pour définir le chemin d'installation.

    # ./configure --prefix=/usr/local/dbtools/htmldoc
    # make

Lors de la rédaction de ce document, HTMLDOC version 1.8.20-1 était disponible. Cette version connaît un problème de fontes dans le fichier `Makefile`. Il devrait se plaindre à l'installation des fontes, parce qu'elles ne sont pas disponibles sur le système.

Voici l'erreur obtenue lorsque vous exécuterez `make install` :

    # make install
    Making all in htmldoc...
    Making all in doc...
    Installing in fonts...
    Installing font files in /usr/local/dbtools/htmldoc/share/htmldoc/fonts...
    /bin/cp: cannot stat `ZapfChancery.afm': No such file or directory
    /bin/cp: cannot stat `ZapfChancery.pfa': No such file or directory
    /bin/cp: cannot stat `ZapfDingbats.afm': No such file or directory
    /bin/cp: cannot stat `ZapfDingbats.pfa': No such file or directory
    make[1]: *** [install] Error 1

Pour corriger ce problème d'installation, éditez le fichier `fonts/Makefile` et mettez en commentaires les lignes référencées aux fontes ZapfChancery et ZapfDingbats.

Ensuite, exécutez l'installation :

    # make install
    Making all in htmldoc...
    Making all in doc...
    Installing in fonts...
    Installing font files in /usr/local/dbtools/htmldoc/share/htmldoc/fonts...
    Installing in data...
    Installing in doc...
    Installing in htmldoc...

## Utilisation d'OpenJade

Dans cette section, nous utiliserons OpenJade pour convertir des documents DocBook SGML/XML en HTML, RTF, et PDF.

### Traitement du SGML

#### Définition de la variable environnementale `SGML_CATALOG_FILES` pour le SGML

La variable `SGML_CATALOG_FILES` doit être définie pour pointer sur les fichiers `catalog` appropriés. Pour définir la variable, utilisez la commande suivante pour le Bourne shell :

    # export SGML_CATALOG_FILES=/usr/local/dbtools/openjade/dsssl/catalog:\
    > /usr/local/dbtools/dtd3.1/docbook.cat:/usr/local/dbtools/docbook-dsssl/catalog

Pour le C shell, utilisez cette commande :

    # setenv SGML_CATALOG_FILES /usr/local/dbtools/openjade/dsssl/catalog
    # setenv SGML_CATALOG_FILES "$SGML_CATALOG_FILES":/usr/local/dbtools/dtd3.1/docbook.cat
    # setenv SGML_CATALOG_FILES "$SGML_CATALOG_FILES":/usr/local/dbtools/docbook-dsssl/catalog

#### SGML vers HTML

Pour convertir du SGML en HTML, utilisez la commande suivante :

    # /usr/local/dbtools/openjade/bin/openjade -t sgml \
    > -d /usr/local/dbtools/docbook-dsssl/html/ldp.dsl#html \
    > DocBook-OpenJade-SGML-XML-HOWTO.sgml

Pour créer un document d'une pièce (tout dans un seul fichier) :

    # /usr/local/dbtools/openjade/bin/openjade -V nochunks -t sgml \
    > -d /usr/local/dbtools/docbook-dsssl/html/ldp.dsl#html \
    > DocBook-OpenJade-SGML-XML-HOWTO.sgml

#### SGML vers RTF

Pour convertir du SGML en RTF, utilisez la commande suivante :

    # /usr/local/dbtools/openjade/bin/openjade -t rtf \
    > -d /usr/local/dbtools/docbook-dsssl/print/ldp.dsl#print \
    > DocBook-OpenJade-SGML-XML-HOWTO.sgml

### Traitement du XML

Vous pouvez télécharger un exemple de fichier DocBook 4.1.2 XML à http://www.xml-dev.com:8080/cocoon/mount/docbook/openjade.xml

#### Définition de la variable environnementale `SGML_CATALOG_FILES` pour le XML

La variable `SGML_CATALOG_FILES` doit être définie pour pointer sur les fichiers `catalog` appropriés. Pour définir la variable, utilisez la commande suivante pour le Bourne shell :

    # export SGML_CATALOG_FILES=/usr/local/dbtools/openjade/dsssl/catalog:\
    > /usr/local/dbtools/dtd4.1.2/docbook.cat:/usr/local/dbtools/docbook-dsssl/catalog

Pour le C shell, utilisez cette commande :

    # setenv SGML_CATALOG_FILES /usr/local/dbtools/openjade/dsssl/catalog
    # setenv SGML_CATALOG_FILES "$SGML_CATALOG_FILES":/usr/local/dbtools/dtd4.1.2/docbook.cat
    # setenv SGML_CATALOG_FILES "$SGML_CATALOG_FILES":/usr/local/dbtools/docbook-dsssl/catalog

#### XML vers HTML

Pour convertir du XML en HTML, utilisez la commande suivante :

    # /usr/local/dbtools/openjade/bin/openjade -t xml \
    > -d /usr/local/dbtools/docbook-dsssl/html/ldp.dsl#html\
    > /usr/local/dbtools/docbook-dsssl/dtds/decls/xml.dcl \
    > DocBook-OpenJade-SGML-XML-HOWTO.xml

#### XML vers RTF

Pour convertir du XML en RTF, utilisez la commande suivante :

    # /usr/local/dbtools/openjade/bin/openjade -t rtf \
    > -d /usr/local/dbtools/docbook-dsssl/print/ldp.dsl#print \
    > /usr/local/dbtools/docbook-dsssl/dtds/decls/xml.dcl \
    > DocBook-OpenJade-SGML-XML-HOWTO.xml

### HTML vers PDF (optionnel)

Pour convertir du HTML en PDF, il faut utiliser HTMLDOC. Tout d'abord, créez un fichier HTML d'une pièce à partir du SGML :

    # /usr/local/dbtools/openjade/bin/openjade -V nochunks -t sgml \
    > -d /usr/local/dbtools/docbook-dsssl/html/ldp.dsl#html \
    > DocBook-OpenJade-SGML-XML-HOWTO.sgml

Maintenant, exécutez HTMLDOC pour générer le PDF.

    # /usr/local/dbtools/htmldoc/bin/htmldoc -f outfile.pdf input.html

## Publier DocBook 4.1.2 XML

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.

Cocoon en action

Pour visualiser un exemple de serveur Internet publiant des contenus DocBook 4.1.2 XML avec Tomcat + Cocoon, visitez .

Dans cette section, nous verrons comment publier un contenu DocBook 4.1.2 XML avec Tomcat + Cocoon.

### Tomcat + Cocoon

Tomcat est le contenant de mini-serveurs Java (Java Servlet Container). Pour plus d'informations, visitez .

Apache Cocoon est une structure de publication XML. Pour plus d'informations, visitez .

Ce guide pratique ne détaillera pas la configuration de Tomcat + Cocoon, puisque c'est déjà fait dans le document . 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.

Avertissement important :

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 .

### Installation du XSL de Norman Walsh

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.

### Installation du 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

### Configuration de `sitemap.xmap`

`$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>

### Accès à un contenu DocBook 4.1.2 XML dans un navigateur Internet

Placez un fichier DocBook 4.1.2 XML dans le dossier `$COCOON_HOME/mount/docbook/`.

Un fichier d'exemple est disponible à .

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).

## Informations supplémentaires

Cette section vous oriente vers des liens utiles sur l'Internet.

Pour suggérer d'ajouter ici des ressources supplémentaires, écrivez-moi à saqib CHEZ seagate POINT com. Merci.

### Groupes de nouvelles

Voici quelques groupes de nouvelles dignes d'intérêt :

1. comp.text.sgml (facilement accessible par Google! Groups)

2. comp.text.xml (facilement accessible par Google! Groups)

3. htmldoc.general (serveur — news.easysw.com)

### Listes de diffusion

On trouve ici quelques listes de diffusion pertinentes.

1. Liste de diffusion DocBook d'OASIS. Visitez pour plus d'informations.

2. Liste de diffusion DocBook du TLDP. Visitez pour plus d'informations.

3. xml-doc de Yahoo Groups. Visitez pour plus d'informations.

### IRC

1. Canal IRC DocBook en français : #docbook-fr sur

2. Canal IRC DocBook en anglais : #docbook sur

### Sites Internet

1. , OASIS maintient un éventail de DTD DocBook

2. , XML / XHTML WebLog

3. , le Wiki DocBook

4. , version en ligne (et en v.o.) du livre « DocBook : La référence »

5. , document sur la rédaction utilisant DocBook : A Crash Course

6. , un guide léger sur DocBook (excellente introduction)

7. , guide d'auteur issu du projet de documentation Linux (TLDP)

8. , ressources DocBook fournies par le TLDP

9. , Guide pratique (HOWTO) : Démystification de DocBook de Eric Raymond

10. , site d'exemples de configuration de Tomcat + Cocoon + DocBook

### Applications de rédaction et de modelage du XML

Note

Une liste complète d'éditeurs XML se trouve à

1. eXchaNGeR — Navigateur XML (et éditeur XML) :

2. XERLIN — Application de modelage du XML :

3. DocPro par Command Prompt, INC :

4. YAWC Pro par XML Workshop LTD : . Peut être utilisé pour convertir des documents MS Word en simple DocBook XML.

5. Logictran — Convertisseur RTF : . Word/RTF vers HTML/XML.

6. MajiX — Convertisseur Word vers XML :

7. XMETAL par SoftQuad :

8. Éditeur non-balisé par i4i (DTD DocBook non-maintenues) :

9. Éditeur XML par XMLmind :

10. upCast et downCast par Inifinity Loop :

11. W2XML par DocSoft :

12. XMLWrite par Wattle Software :

13. oXygen — Éditeur XML basé sur Java :

14. Xeena par IBM :

15. Excosoft XML Client :

16. Timelux Xpress :

17. Morphon :

18. Conglomerate :