This is an old revision of the document!
Table of Contents
Docbook
Cómo instalar Docbook en un sistema windows para generar documentos en html (una sóla página o varias páginas), chm, pdf y rtf (para Word).
Las presentes páginas las he creado para documentar mis progresos: cómo crear desde cero un sistema de procesado de documentos y también cómo conseguir el objetivo propuesto de obtener varios formatos. Además lo quiero en Windows y Linux y que me soporte Unicode (porque soportaré documentos en varios idiomas, no necesariamente Western European).
Máquina virtual java
Es preciso tener la máquina virtual java, así que recomiendo que nos hagamos una descarga de http://java.sun.com y procedamos con la instalación.
Necesitamos un procesador de XSLT
Bueno, no sé muy bien lo que es, pero necesitamos un procesador de xslt. Hay varios disponibles 1), pero yo me he decantado por xsltproc.
Me he decantado por xsltproc. Puede descargarse para windows aquí. Es preciso descargar todos los paquetes, descomprimirlos y juntar todos los archivos en uno sólo: xsltproc usa iconv (que viene en otro de los paquetes) libxml (que viene en otro de los paquetes), etc. Así que me he descargado todo:
- iconv
- libxmlsec
- openssl
- libxml2
- libxslt
- zlib
Para juntarlos todos, descomprimalos y el contenido de las carpetas “lib”, “bin”, “include” se ponen todos los archivos juntos.
Yo he creado un paquete xsltproc_todo.zip que ya lo contiene así. Hemos incluido la ruta al programa “xsltproc” en el path, de forma que al abrir una ventana de comandos, basta con escribir “xsltproc” para que se ejecute
c:\> xsltproc
Nos tiene que salir la ayuda del programa.
Descargando las hojas de estilo XSL de DocBook
Esto es realmente DocBook: unas hojas de estilo que nos permiten procesar un documento DocBook (que está en xml) para obtenerlo en un formato “interesante”: pdf, chm, etc.
Las hojas de estilo se descargan del sitio web de Docbook en sourceforge, para el caso de xsltproc hay que descargar el fichero “docbook-xsl.1.74.0.zip” y descomprimirlo en el ordenador. Yo lo he extraido en c:\archivos de programa\docbook, con un par.
La primera prueba sencilla.
Hemos creado un libro muy sencillo:
<book lang="es"> <bookinfo> <title>Mi primer documento DocBook</title> </bookinfo> <toc> </toc> <!-- Los comentarios tienen este aspecto --> <chapter> <title>Introducción</title> <para>La primera del documento y un párrafo.</para> <para>Otro párrafo de la introducción.</para> </chapter> </book>
Para generar la salida en formato html:
C:\>xsltproc --output minibook.html "C:\Archivos de programa\docbook\html\docbook.xsl" minibook.xml
Para generar la salida en formato html help de microsoft:
xsltproc --output prueba.html --stringparam use.extensions 0 /usr/share/xml/docbook/stylesheet/nwalsh5/1.73.1/htmlhelp/htmlhelp.xsl libro.xml
Obtendremos un fichero html único.
Pasos adicionales para generar un fichero rtf o pdf
Hay que instalarse una utilidad que se llama FOP.
Esta utilidad, desarrollada por apache, puede descargarse del sitio web de apache en http://xmlgraphics.apache.org/fop/.
En concreto el fichero fop-0.95-bin.zip.
Lo he descomprimido en archivos de programa y he puesto la ruta al programa “fop.bat” en el PATH.
HACEMOS UN FICHERO BAT QUE HACE LA COMPILACION DE UN DOCUMENTO EN WINDOWS
rem rem compilar - genera el libro en varios formatos: chm, html_single, html_multi, pdf, rtf rem set document=minibook set docbook=C:\Archivos de programa\docbook set XML_CATALOG_FILES=%docbook%\catalog.xml rem rem HTML una sola pagina rem set dest_folder=html_single rem copiamos todo el contenido de la carpeta images a la carpeta rem de destino dest_folder xcopy images %dest_folder%\images /e /i /y xsltproc --output "%dest_folder%\%document%.html" "%docbook%\html\docbook.xsl" "%document%.xml" rem rem HTML multipágina rem set dest_folder=html_multi rem copiamos todo el contenido de la carpeta images a la carpeta rem de destino dest_folder xcopy images %dest_folder%\images /e /i /y xsltproc --output "%dest_folder%\%document%.html" "%docbook%\html\chunk.xsl" "%document%.xml" rem rem CHM (ayuda de microsoft) rem set dest_folder=chm rem copiamos todo el contenido de la carpeta images a la carpeta rem de destino dest_folder xcopy images %dest_folder%\images /e /i /y xsltproc --output "%dest_folder%\%document%" "%docbook%\htmlhelp\htmlhelp.xsl" "%document%.xml" REM rem REM rem RTF REM rem REM set dest_folder=rtf REM rem copiamos todo el contenido de la carpeta images a la carpeta REM rem de destino dest_folder REM xcopy images %dest_folder%\images /e /i /y REM xsltproc --output "%dest_folder%\%document%.fo" "%docbook%\fo\docbook.xsl" "%document%.xml" REM fop "%dest_folder%\%document%.fo" -rtf "%dest_folder%\%document%.rtf" rem rem PDF rem set dest_folder=pdf rem copiamos todo el contenido de la carpeta images a la carpeta rem de destino dest_folder xcopy images %dest_folder%\images /e /i /y xsltproc --output "%dest_folder%\%document%.fo" "%docbook%\fo\docbook.xsl" "%document%.xml" fop "%dest_folder%\%document%.fo" -pdf "%dest_folder%\%document%.pdf"
Otros ficheros que me he descargado
xmlNotepad: bloc de notas xml de Microsoft. Puede descargarse del sitio web de descargas de microsoft http://downloads.microsoft.com
Microsoft HTML Help Compiler: compilador de ayudas de microsoft, para generar los archivos de ayuda de microsoft (*.chm).
Manual de referencia de docbook: puede descargarse de esta página web http://docbook.org/tdg5/index.html.
Hay dos ficheros: uno es el fichero “tdg5-en-0.0.20.chm” que viene en formato chm, y el otro viene en formato zip: tdg5-0.0.25.zip.