Question

J'ai écrit un document DocBook 5.0 avec l'en-tête:

<?xml version="1.0" encoding="UTF-8"?>
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:svg="http://www.w3.org/2000/svg"
      xmlns:m="http://www.w3.org/1998/Math/MathML"
      xmlns:html="http://www.w3.org/1999/xhtml"
      xmlns:db="http://docbook.org/ns/docbook">

et docbook2pdf sur Ubuntu 9.10 imprime de nombreux Messages d'erreur et ne faire aucun document pdf. Les erreurs sont:

openjade:test.xml:2:0:E: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES
openjade:test.xml:2:0:E: no document type declaration; will parse without validation
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbtitle.dsl:18:5:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbbibl.dsl:704:4:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence

docbook2pdf pour le document au format DocBook 4.5 avec en-tête normal comme:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">

fonctionne tout à fait OK.

Y at-il moyen de générer des pdf de DocBook 5.0?

Était-ce utile?

La solution

Je vois trois options (disponibles dans Debian / Ubuntu) pour générer pdf de DocBook:

  • jade, qui fournit la commande docbook2pdf le demandeur a utilisé. jade est ancienne et travaille avec SGML, XML et qui est antérieure ne prend pas en charge Unicode; il manque aussi un support pour DocBook 5.

  • docbook-xsl stylesheets qui passent par XSL-FO. docbook-xsl est à docbook 4,5, docbook-xsl-ns est à docbook5. Utilisez FOP pour aller de XSL-FO au format PDF. Pipeline: docbook5 - (xsl) -> xml.fo - (FOP) -> pdf. Les commandes impliquées. Xsltproc, FOP

  • dblatex, qui cible principalement docbook4.5 mais a été mis à jour pour certains docbook5.

xmlto peut conduire les deux dernières, bien qu'il actuellement par défaut docbook-xsl et non docbook-xsl-ns.


Un guide d'utilisation rapide Docbook5

Pré-requis

sudo aptitude install docbook5 docbook-xsl-ns xsltproc fop xmlto libxml2-utils xmlstarlet

Validation

xmlstarlet val --err --xsd /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd book.xml

Sortie PDF

xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl book.xml > book.fo
fop -fo book.fo -pdf book.pdf

Autres conseils

En dehors de l'en-tête que vous avez donné, avez-vous essayé un exemple plus petit, comme celui-ci de la DocBook 5.0: The Definitive Guide

<?xml version="1.0" encoding="UTF-8"?>

<book xmlns='http://docbook.org/ns/docbook'>
  <title>An Example Book</title>
  <titleabbrev>Example</titleabbrev>
  <info>
    <legalnotice><para>No notice is required.</para></legalnotice>
    <author><personname>
      <firstname>Norman</firstname><surname>Walsh</surname>
    </personname></author>
  </info>

  <dedication>
  <para>
      This book is dedicated to you.
  </para>
  </dedication>

  <preface>
    <title>Foreword</title>
    <para>
        Some content is always required.
    </para>
  </preface>

  <chapter>
    <title>A Chapter</title>
    <para>
        Content is required in chapters too.
    </para>
  </chapter>

  <appendix>
    <title>Optional Appendix</title>
    <para>
        Appendixes are optional.
    </para>
  </appendix>
</book>

Juste rendu à un PDF par l'un de mes environnements Maven. Pouvez-vous donner un petit exemple (ou quelques séparés onces) contenant une partie du contenu, ce qui rend l'utilisation de tous les espaces de noms supplémentaires nécessaires.

Dans le cas où l'exemple ci-dessus ne fonctionne pas, et vous êtes intéressé par la façon dont j'ai installé mon environnement lu la création du contenu DocBook disponible dans un site de projet Maven . Il suffit de remplacer l'exemple avec l'exemple ci-dessus DocBook 5.0. Seul le docbkx-maven-plugin est intéressant, par rapport à cette question. (PS:. Est requis Une connaissance élémentaire de Java et Maven2 pour cela)

publicain

Vous pouvez utiliser publicain pour publier votre DocBook XML au format PDF, HTML et les formats HTML simple. Publicain est utilisé par Red Hat dans le cadre de son toolchain de documentation interne, et est une application open source hébergé par le projet Fedora. L'outil utilise des « marques » pour obtenir une modularité dans l'application des styles au contenu en cours de publication. Cette manière prédéfinie simusing une grande variété de CMS ou d'outils de documentation.

JBoss Guide de Documentation

Un bon exemple de l'outil en action est le JBoss Press Gang Documentation , qui lui-même est une grande ressource la documentation donne des conseils communautaires sur l'utilisation de XML DocBook dans la documentation JBoss. Les versions HTML et PDF ont été générés avec publicain.

Il existe des différences significatives entre les DocBook 4,5 et 5,0. Et ces différences peuvent empêcher votre document d'être transformé.

Si vous voulez vérifier la validité de votre document 5.0, vous pouvez utiliser l'outil de ligne de commande suivante:

  1. il est un outil java, donc vous devez avoir un environnement récent d'exécution Java.

  2. l'outil est Jing. Vous pouvez le télécharger à partir du site Web thaiopensource: http://www.thaiopensource.com/relaxng/jing.html

  3. vous aurez également besoin du fichier ng pour se détendre DocBook 5.0. Il est fourni avec la distribution DocBook 5.

  4. le test de validation avec la ligne de commande suivante:
    java -jar path_to_Jing / jing.jar -t -i path_to_docbook5 / docbook.rng document.xml

S'il y a des échecs, ils devraient être renvoyés de cette façon: Erreur à l'URL « file: ..... / document.xml », numéro de la ligne 211, numéro de colonne 59: mauvaise valeur pour l'attribut « id » de l'espace de noms " http://www.w3.org/XML/1998/namespace " Temps écoulé 968 + 166 = 1134 millisecondes

http://docbookpublishing.com prend en charge les documents DocBook 5.0. Il est un service en ligne pour DocBook à la mise en forme de PDF. Vous pouvez également soumettre vos documents DocBook via l'API REST.

Accédez à Eclipse et installer DocBook Modification et traitement pour Eclipse ( DEP4E) plug-in . Vous pouvez le trouver en allant dans le marché et la recherche de DocBook là-bas. Ce plugin va créer un exemple DocBook et peut publier en html, pdf, et même ebook.

Ou consultez le DEP4E site web , lisez la page section Guide de démarrage rapide 3. Mise en route , pour avoir une idée de ses possibilités.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top