Setting Up Docbook

Introduction

This solutions are based on free tools and on some information from internet.

Installation, Setup

Install script: install.sh Editor: xxe. Converter: xml2pdf.sh.

Installation, Setup on Centos 5

Installation, Setup on FreeBSD 8

Installation, Setup on SuSe 11.3

Documentation (links)

Examples and Running

Submittal Header XML in Smarty Template


Installation, Setup on MacOS X

Requirements for PDF generation:

  1. Apache XML Commons Resolver available here

  2. Apache FOP

Apache XML Commons Resolver

  1. Get resolver.jar here

  2. Unpack and move to ...
      sudo mv -i ~/Downloads/xml-commons-resolver-1.2 /usr/share/java/
  3. Add location to CLASSPATH in .bashrc
     CLASSPATH=$CLASSPATH":/usr/share/java/xml-commons-resolver-1.2/resolver.jar"

Apache FOP

  1. Get Apache FOP

  2. Unpack and move ...
      sudo mv -i ~/Downloads/fop-1.0 /usr/local/
  3. Create symbolic links for ~/Library/Java/Extensions/
      ln -s /usr/local/fop-1.0/lib/*.jar ~/Library/Java/Extensions/
      ln -s /usr/local/fop-1.0/build/fop.jar ~/Library/Java/Extensions/

DocBook

  1. Get DocBook

  2. Unpack and move ...
      sudo mv -i ~/Downloads/docbook-xsl-1.76.1 /usr/local/
  3. Go there and run installation ...
      cd /usr/local/docbook-xsl-1.76.1/
      ./install.sh
  4. Test if everything went fine ...
      ./test.sh

Examples

DocBook to HTML

Copy the following UTF-8 encoded and save as docbook-test.xml:

 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
           "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
 <article>
 <articleinfo>
   <author><firstname>Norman</firstname><surname>Walsh</surname></author>
   <authorinitials>ndw</authorinitials>
   <artpagenums>339-343</artpagenums>
   <volumenum>15</volumenum>
   <issuenum>3</issuenum>
   <publisher><publishername>The TeX User's Group</publishername></publisher>
   <pubdate>1994</pubdate>
   <title>A World Wide Web Interface to CTAN</title>
   <titleabbrev>CTAN-Web</titleabbrev>
   <revhistory>
      <revision>
         <revnumber>1.0</revnumber>
         <date>28 Mar 1994</date>
         <revremark>Submitted.</revremark>
      </revision>
      <revision>
         <revnumber>0.5</revnumber>
         <date>15 Feb 1994</date>
         <revremark>First draft for review.</revremark>
      </revision>
   </revhistory>
 </articleinfo>
 <para>
 The body of the article &hellip;
 </para>
 </article>

Now you can generate a chunked XHTML (separate HTML pages for each document section) with style file chunked.xsl using xsltproc ...

 xsltproc /usr/local/docbook-xsl-1.76.1/xhtml/chunk.xsl docbook-test.xml

This should generate you index.html.

DocBook to PDF

Copy the following UTF-8 encoded and save as book.xml:

 <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE set SYSTEM ".\dtds\docbookx.dtd">
   <set>
     <book>
     <chapter>
       <title>Mein erstes Kapitel</title>
       <para>Hier ist ein Absatz</para>
       <sect1>
         <title>Ein Abschnitt im Kapitel</title>
         <para>Mindestens ein Absatz im Aschnitt macht ihn DTD-Gerecht.</para>
       </sect1>
       </chapter>
     </book>
   </set>

PDF generation requires to first create a FO file ...

 xsltproc --output book.fo /usr/local/docbook-xsl-1.76.1/fo/docbook.xsl book.xml

Now, generate the PDF from the resulting FO source ...

 java org.apache.fop.cli.Main -fo book.fo -pdf book.pdf

This should give you book.pdf.

Have fun!

SetupDocBook (last edited 2011-06-22 12:31:49 by 77-58-102-220)

Copyright 2008-2014, SoftXS GmbH, Switzerland