Introducción a Docbook

De WikiEducator
Saltar a: navegación, buscar



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

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

  1. Crea la hoja de estilos para el html en una documento aparte.
  2. 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

Creación de epubs


Hacks

Insertar un mapa como un iframe en html

  1. 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>
  2. 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&amp;ll=41.645158,-0.923731&amp;spn=0.003263,0.004823&amp;t=k&amp;z=18&amp;output=embed">
    </iframe>
    <br />
    <small><a href="http://maps.google.es/?ie=UTF8&amp;ll=41.645158,-0.923731&amp;spn=0.003263,0.004823&amp;t=k&amp;z=18&amp;source=embed" style="color:#0000FF;text-align:left">
    Ver mapa más grande</a>
    </small>
    </xsl:template>
    </xsl:stylesheet>
  3. Proceso usando la nueva hoja de estilos:
    $ xsltproc -o mapa.html a_html_mapa.xsl ejemplo_mapa.xml