Introducción a Docbook
De WikiEducator
Contenido
Introducción
|
¿Cómo escribo un documento con docbook?
Un documento docbook es un texto escrito en xml siguiendo unas reglas. Ejemplo:
<?xml version="1.0" encoding="utf-8"?> <article xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"> <title>Sample article</title> <para>This is a very short article.</para> </article>
Ejemplos
- Modelo de artículo para xmlprague: http://archive.xmlprague.cz/2012/files/article-template.xml
- Documentación de inkscape: http://bazaar.launchpad.net/~inkscape.dev/inkscape-docs/trunk/files/head:/ https://inkscape.svn.sourceforge.net/svnroot/inkscape/doc-docbook/trunk/
- http://dev.mysql.com/doc/mysqldoc-guide/en/index.html
- http://developer.gnome.org/gdp-handbook/stable/gettingstarted.html.en
Transformaciones
Ayudas para instalar un procesador xslt: http://www.sagehill.net/docbookxsl/InstallingAProcessor.html
En Ubuntu
Instalamos: xsltproc, docbook5-xml y docbook-xsl-ns
En la carpeta donde has creado el fuente .xml:
$ DB=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns/html $ xsltproc $DB/docbook.xsl fuente.xml > salida.html # múltiples archivos $ xsltproc $DB/chunk.xsl fuente.xml
En Windows
Hojas de estilo CSS
- Crea la hoja de estilos para el html en una documento aparte.
- Añade el parámetro a la instrucción del procesador:
xsltproc --stringparam html.stylesheet hoja_estilos.css chunk.xsl miarticulo.xml
Más info: http://www.sagehill.net/docbookxsl/UsingCSS.html
Herramientas
Creación Epubs
Hacks
Insertar un mapa como un iframe en html
- Crea un documento de docbook usando una instrucción de proceso para el mapa:
<?xml version="1.0" encoding="utf-8"?> <article xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"> <title>Ejemplo de uso de mapa de google en un documento docbook</title> <para>Este hack ha sido sugerencia de Jirka Kosek </para> <para>Coloco una instrucción de proceso en el lugar donde tiene que aparecer el mapa</para> <?google-map?> <para>Después edito la hoja de estilos ...</para> <para>Y proceso usando mi hoja de estilos modificada ...</para> </article>
- Escribe una adaptación para las hojas de estilo:
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- 1. Importo las hojas de estilo de docbook que voy a usar --> <xsl:import href="/usr/share/xml/docbook/stylesheet/docbook-xsl-ns/html/docbook.xsl"/> <!-- 2. Template que va a mostrar el mapa de google que me interesa --> <xsl:template match="processing-instruction('google-map')"> <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/?ie=UTF8&ll=41.645158,-0.923731&spn=0.003263,0.004823&t=k&z=18&output=embed"> </iframe> <br /> <small><a href="http://maps.google.es/?ie=UTF8&ll=41.645158,-0.923731&spn=0.003263,0.004823&t=k&z=18&source=embed" style="color:#0000FF;text-align:left"> Ver mapa más grande</a> </small> </xsl:template> </xsl:stylesheet>
- Proceso usando la nueva hoja de estilos:
$ xsltproc -o mapa.html a_html_mapa.xsl ejemplo_mapa.xml