This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View [cnsl Bolivia 2005]docbook Tutorial as PDF for free.
Introducción Comenzado con DocBook Creando un artículo DocBook Conociendo marcas útiles de DocBook Generando documentos HTML y PDF Personalizando hojas de estilo Conclusiones y Referencias Preguntas V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Introducción
¿ Y qué es documentación Técnica ? Hardy Beltran Monasterios • www.hardy.com.bo
Para nosotros del mundo de las compu Manuales de usuario Libros, Tutoriales Ensayos y artículos técnicos Documentación de un API Preguntas Comunes Diapositivas
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
¿ Y qué es DocBook ? Es un sistema para escribir documentos estructurados en SGML o XML Bien adaptado para escribir documentos técnicos relacionados con las computadoras, aunque no está limitado a ello Apoyado por empresas y organizaciones Cuenta con un número amplio de usuarios y desarrolladores V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Un poco de historia Creado en 1991 por HaL Computer Systems y O'Reilly & Associates Desde 1998 es parte de OASIS Hoy en día participan varias empresas Novell Sun Microsystems Hewlett Packard Fujitsu y muchos otros mas V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Varias empresas del sector IT Varias distribuciones de Linux Red Hat, Fedora, Suse, Gentoo, LFS, etc.
Varios proyectos de documentación de Software Libre/Abierto GNOME, KDE, PHP, Linux Documentation Proyect, etc.
Varios consultores y autores de documentación libre V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
¿ Por qué usar DocBook ? El autor se concentra en el contenido y no en el aspecto del documento Estilos personalizables y extensibles Se pueden producir varios formatos HTML, XHTML, Ayuda Java, Ayuda HTML PostScript, PDF, RTF, Texto «man pages», «XSL Formating Objects»
Número creciente de herramientas comerciales y libres/abiertas V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Desventajas de DocBook Hardy Beltran Monasterios • www.hardy.com.bo
Demasiadas marcas XML/SGML Inicialmente su aprendizaje es lento para quienes nunca usaron «lenguajes de marcas» Algunas herramientas libres no son suficiente maduras para ciertos usos (Ej. Editor XML, Convertir XML FO a PDF) Varias herramientas maduras son solo para Windows y no son libres V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
¿ Cómo funciona DocBook ? FOP
Hardy Beltran Monasterios • www.hardy.com.bo
XSL FO
PDF
FO XML
Procesador XSLT
DVI PassiveTex
XSL
HTML, XHTML, Java Help
Modo de operación de DocBook XML
Postscript
dvips
Los íconos fueron tomados de GNOME
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Comenzando con DocBook
¿ DocBook XML o SGML ? Hardy Beltran Monasterios • www.hardy.com.bo
XML es más simple de manejar Clara tendencia a XMLizar el mundo ;-) Históricamente DocBook ha sido SGML Desde la versión 4 es XML y SGML La versión 5 será principalmente XML Hay un creciente número de herramientas para tratar XML
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Básicamente se necesita Hardy Beltran Monasterios • www.hardy.com.bo
Un editor de texto o editor XML DocBook instalado en su sistema El DTD de DocBook XML Hojas de estilo XSLT DocBook
Un procesador XSLT Por ejemplo xsltproc
Un procesador FO (si quiere PDF) Por ejemplo Apache FOP V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Editando XML Hardy Beltran Monasterios • www.hardy.com.bo
Emacs y nXML Emacs es un poderoso editor de textos ampliamente usado en Linux. nXML es un complemento que facilita escribir marcas XML. Valida mientras se escribe, ofrece sintaxis coloreada y autocompleta.
VIM Con ayuda de determinadas macros se puede editar también fácilmente XML.
Conglomerate Editor XML Libre basado en GTK. (no maduro) V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Instalar DTD y XSL DocBook Hardy Beltran Monasterios • www.hardy.com.bo
En sistemas Debian Linux apt-get install docbook-xml docbook-xsl
En sistemas RPM con yum yum install docbook
Vea si su distro ya trae instalado DocBook Red Hat, Fedora, CentOS, WhiteBox instalan de modo predeterminado las herramientas DocBook V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
El DTD de DocBook Define la estructura, elementos y atributos de un documento DocBook Los procesadores XSLT requieren el DTD para validar el documento XML El DTD puede ser accedido en línea o puede estar en el sistema de archivos local
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Hojas de estilo DocBook Norman Walsh mantiene las hojas de estilo estándar Hay dos tipos de hojas de estilo, pero con DocBook XML usamos hojas de estilo XSL Las hojas de estilo son las que permiten generar varios formatos de salida HTML, XHTML, PS, PDF, RTF, etc V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Sobre el procesador XSLT Hardy Beltran Monasterios • www.hardy.com.bo
Puede utilizar los siguientes libxsl/xsltproc – escrito en C, originalmente para GNOME. Veloz y maduro. Saxon – escrito en Java incluye funciones experimentales. Xalan – escrito en Java por el proyecto Apache, ampliamente usado en la comunidad.
Hay también alternativas comerciales V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Instalar un procesador XSLT Hardy Beltran Monasterios • www.hardy.com.bo
En sistemas Debian Linux apt-get install xmlto En sistemas RPM con yum yum install xmlto Para usar Xalan vaya al sitio de Apache, descarge el programa y siga las instrucciones. Varias distribuciones ya traen libxsl/xsltproc instalado xmlto es un conjunto de scripts que facilita el uso de un «toolchain». Actualmente sólo usa xsltproc V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Creando un artículo DocBook
Cabecera de DocBook XML Hardy Beltran Monasterios • www.hardy.com.bo
Un documento empieza con la cabecera:
DOCTYPE define el tipo de documento article – para un artículo (varias secciones) book – para un libro (varios capítulos con varias secciones) V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Datos básicos de un artículo ... <article id="tutorial-ejemplo" lang="es"> <articleinfo> Trabajando con directorios2005Hardy Beltran Monasterios <surname>Beltran Monasterios Hardy <email>[email protected]<para>... ... ...
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Secciones de un artículo Un documento tipo artículo puede estar formado de varias secciones: ... <sect1 id=”seccion_1”> Título de esta sección <para>Este párrafo aparece en la sección 1 <sect1 id=”seccion_2”> Otra sección <para>Algún texto <sect2 id=”seccion_2.1> Otro título <para>... ...
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marcas de sección Una sección es una división lógica del contenido del documento Las secciones se definen usando las marcas <sect1> a <sect5> o simplemente <section> Esta última sólo se puede usar en documentos tipo “article” Se pueden usar cuantas secciones se necesite. V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Conociendo marcas útiles de DocBook
Hardy Beltran Monasterios • www.hardy.com.bo
Recomendaciones generales Todas las marcas DocBook XML se deben escribir en minúsculas Toda marca que se abra se debe cerrar Los identificadores de capítulos, secciones, tablas, figuras, etc., deben ser únicos
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para referirse a una aplicación gráfica o texto. Ejemplo: Para trabajar con archivos Zip comprimidos, usted puede usar el programa File Roller en modo gráfico o utilizar el programa Zip desde la línea de órdenes.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para hacer cita una referencia externa. Por ejemplo: Para una descripción detallada del proceso de instalación consulte la Guía Oficial de Instalación para Intel x86.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para referirse al ejecutable de una aplicación, a una orden o una directiva de configuración. Por ejemplo: Para configurar la red en Linux Red Hat usted puede usar la orden netconfig. DocumentRoot - Esta directiva de configuración le indica al servidor Apache la ubicación de los documentos (páginas web) a servir.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para mostrar mensajes que aparecen en la pantalla. Por ejemplo: rm: ¿borrar el fichero regular «Makefile»? (s/n)
El contenido se debe poner inmediatamente después de la marca. Como en la marca <screen> se respetan los espacios y líneas extras.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Marca <emphasis> Hardy Beltran Monasterios • www.hardy.com.bo
Se usa para poner énfasis a una frase Ejemplo: Usar /sbin/mke2fs sobre un sistema de archivos existente, provocará que se pierda <emphasis>toda la información contenida en éste.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <example> Se usa para mostrar ejemplos acompañados de un título Típicamente son secciones de código o de archivos de configuración. Ejemplo: <example id=”ej-resolv”> Dominio y servidor DNS a utilizar <screen> domain unsitio.com nameserver 192.168.1.4;
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para hacer referencia a nombres de archivo o directorios. Si es un directorio se sugiere incluir “/” al final para clarificar el texto Ejemplo: El archivo /etc/passwd contiene varias piezas de información de una cuenta de usuario.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca
Use si quiere incluir una figura que tenga un título y una breve descripción
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para insertar una nota al pie de página Ejemplo: En una instalación estándar, la partición asignada a /boot <para>En algunos sistemas debido a problemas con discos grandes, se acostumbra crear esta partición dentro los primeros 1024 cilindros. requerirá un espacio de 60 a 100 MiB.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa para mostrar una palabra o frase en un idioma diferente al del documento Ejemplo: Las siguientes órdenes deben ser escritas desde el indicador del sistema (prompt ).
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Lista de ítemes Se usa para mostrar información breve que no requiere un orden específico Ejemplo: <listitem> <para>Revisar uso de espacio libre en disco <listitem> <para>Monitorear y gestionar procesos <listitem> <para>Mantener programas al día
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Lista ordenada Para mostrar una lista de ítemes cuyo orden tiene importancia Ejemplo: <listimtem> <para>Instalar el paquete <listimtem> <para>Modificar el archivo de configuración <listimtem> <para>Iniciar el servicio
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Lista de términos y definiciones Para mostrar una lista de términos y definiciones con sus descripciones Servidor <listimtem> <para>Ofrece Servidor <listimtem> <para>Provee ...
X las operaciones básicas de...
de Letras X los tipos de letras...
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Lista simple <simplelist> Se usa principalmente para crear una lista contenida en una tabla Ejemplo: <simplelist> <member>Procesador Intel <member>Pentium IV 4.2 Ghz <member>512 MiB RAM <member>80 GiB Disco <member>CDWR/DVD
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca muestra la versión de núcleo que está ejecutando su sistema.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <para> Esta marca se emplea alrededor de cualquier párrafo simple. Ejemplo: <para> La orden uname seguida de la opción muestra la versión de núcleo que está ejecutando su sistema.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Contenido en marcas <para> Sólo use marcas <para> alrededor de párrafos simples únicamente Específicamente no use <para> alrededor de las siguientes marcas: <screen>
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <prompt> Se usa para mostrar un indicador (prompt). Ejemplo: En el indicador <prompt>LILO: escriba linux para arrancar su sistema. El indicador <prompt># está reservado al usuario privilegiado root.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca Se usa indicar que el lector debe remplazar el texto mostrado de manera adecuada a su situación Ejemplo: Los módulos del núcleo se encuentran en el directorio /lib/modules/versión-denúcleo/
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <screen> Se usa para mostrar listado de programas, contenido de archivos o cualquier resultado mostrado en pantalla. Por ejemplo <para>Para ver la versión de su núcleo escriba: <screen> <userinput>uname -r <para>Que mostrará un resultado similar a: <screen> 2.4.29-686
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Contenido en marcas <screen> La marca y el contenido deben estar justificados a la izquierda Cualquier espacio dentro la marca <screen> se conserva Esta marca puede contener otras como: , <userinput>, o Por definición no se requiere incluir otras marcas dentro de <screen> V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca
Características de POP e IMAP <entry>Característica <entry>POP <entry>IMAP <entry>Trabaja en modo conectado (on-line) <entry>Si <entry>Si
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Tablas
Características de POP... Tabla 1. Características POP e IMAP <entry>Característica <entry>POP Característica POP IMAP <entry>IMAP Trabaja en modo conectado Si Si <entry>Trabaja en modo... <entry>Si <entry>Si
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <userinput> Se usa para indicar lo que el usuario debe escribir. Ejemplo: En el indicador del sistema escriba: <userinput>fdformat /dev/fd0
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Marca <xref> Use para hacer referencia a otra sección o capítulo del documento Ejemplo: Para ver más información sobre las particiones de disco en Linux, refiérase a <xref linkend=”sec-particiones” />.
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Generando documentos
Generar un sólo archivo HTML Hardy Beltran Monasterios • www.hardy.com.bo
Por claridad vamos a usar la variable DB=/usr/share/xml/docbook/stylesheet/nwalsh
Aplicamos la hoja de estilo al documento XML para generar HTML xsltproc -o ejemplo.html $DB/html/docbook.xsl ejemplo.xml
Ver el documento en el navegador mozilla ~/Vcongreso/ejemplo.html
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Generar varios archivos HTML Hardy Beltran Monasterios • www.hardy.com.bo
Cada sección es un archivo HTML El archivo inicial es «index.html» La hoja de estilo que se debe usar es «chunk.xsl» xsltproc $DB/html/chunk.xsl ejemplo.xml
Ver el documento en el navegador mozilla ~/Vcongreso/index.html
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Generar PDF Hardy Beltran Monasterios • www.hardy.com.bo
Es un proceso de dos pasos Generar documento FO desde XML Generar PDF desde FO
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Limitaciones de generar PDF Las herramientas libres para generar PDF no están del todo maduras FOP PassiveTex / pdflatex
Los problemas típicos son: Contenido dentro de tablas Manejo de imágenes con formato especial de presentación Problemas de memoria al generar documentos de muchas páginas (> 100) V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Alternativas propietarias Muchos autores de DocBook usan la herramienta XEP XEP genera a partir de XML documentos PDF y PostScript aplicando XSL FO Tienen una versión gratuita para uso no comercial (Personal Edition) Visite http://www.renderx.com/ para más información V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Personalización de XSL Una ventaja de las hojas de estilo XSL es su flexible personalización (uso de «capas») La personalización es posible de dos formas Modificando parámetros predeterminados Ej. Tipo de papel, enumerar títulos
Modificando procesamiento de elementos Ej. Insertar una imagen al inicio de un capítulo V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Personalización por capas Significa que se crea una capa de personalización con todos los cambios deseados y se mantienen las hojas de estilo DocBook XSL estándar Una capa de personalización es una hoja de estilo XSL, que se aplica encima de las hojas de estilo DocBook XSL existentes
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Ejemplo de capa de personalización XSL Hardy Beltran Monasterios • www.hardy.com.bo
Mire en /usr/share/doc/docbook-xsl/doc/reference.html para ver una referencia de los parámetros disponibles V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Uso de la capa de personalización XSL Basta con usar nuestra hoja de estilo en lugar de la hoja de estilo estándar Usando nuestro procesador XSLT xsltproc -o ejemplo-mixsl.html miestilo_1.xsl ejemplo.xml
Para ver el resultado abrimos ejemplomixsl.html en el navegador
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Usando CSS con HTML/XHTML Para mejorar la calidad de presentación de los documentos HTML/XHTML podemos utilizar CSS CSS tiene la ventaja de ser muy flexible y lograr ricos resultados Para esto requerimos Una capa de personalización XSL que indique la hoja de estilo CSS a utilizar Crear las hojas de estilo CSS V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
La capa de personalización Hardy Beltran Monasterios • www.hardy.com.bo
V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
¿ Necesita saber más ? Hay dos libros que cubren ampliamente DocBook XML/SGML y DocBook XSL DocBook: The Definitive Guide Norman Walsh and Leonard Muellner http://www.docbook.org DocBook XSL: The Complete Guide Bob Stayton http://www.docbook.org
Hay versiones impresas y para leer en línea (HTML) V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia
Hardy Beltran Monasterios • www.hardy.com.bo
Conclusiones DocBook llama la atención por dos cualidades importantes Se puede generar varios formatos desde una sola fuente Los documentos estructurados abren la posibilidad de crear sistemas avanzados de búsqueda de información
Cada día las herramientas en Linux maduran más y la adopción de DocBook se extiende. V Congreso Nacional de Software Libre y GNU/Linux • Agosto 2005 • Cochabamba, Bolivia