DocBook és un llenguatge de marques semà ntic per a
documentació tècnica. Originalment es va preveure per a escriure document
tècnics relacionats amb maquinari i programari d'ordinadors però també es pot
fer servir per a qualsevol tipus de documentació.
En ser un llenguatge semà ntic, DocBook permet als usuaris crear el contingut
del document independentment de la seva presentació de manera que el contingut
es pot publicar en diversos formats, entre ells HTML, XHTML, EPUB,
PDF, pà gines de man i ajuda
HTML sense necessitat de fer cap canvi al document.
Introducció
DocBook és un llenguatge XML. En la versió actual (5.0), està formalment
definit per un esquema RELAX NG amb regles Schematron
integrades. (També hi ha un esquema XML+Schematron i una
definició de tipus de document (DTD), però no són
considerats està ndard).
Com que és un llenguatge semà ntic, els documents DocBook no descriuen l'aparença
del seu contingut, sinó el significat d'aquest contingut. Per exemple, en
comptes d'explicar com s'ha de formatar un sumari d'un article, DocBook
simplement diu que una secció en particular és el sumari. Decidir a on i
com es mostra, si és que s'ha de mostrar, el resum a la plana és feina de
l'eina o l'aplicació externa que processa el document.
DocBook disposa d'un gran nombre d'etiquetes per a descriure elements
semà ntics, dividides en tres gran categories: estructurals, de bloc i de lÃnia.
Les etiquetes estructurals són les que especifiquen caracterÃstiques
generals del contingut. Per exemple, l'element book especifica que
els elements fills formen part d'un llibre, com som el tÃtol, capÃtols,
glossaris, apèndixs, etc. Alguns dels elements estructurals són:
- set: un conjunt amb tÃtol d'un o més book. Els conjunts poden estar aniuats dins d'altres col·leccions.
- book: un conjunt amb tÃtol de chapter, article i/o part, amb glossaris, apèndixs, i altres elements opcionals.
- part: un conjunt amb tÃtol d'un o més chapter que poden estar aniuats dins d'altres parts. Poden tenir un text especial d'introducció.
- article: un conjunt sense numerar i amb tÃtiol d'elements de blocs.
- chapter: un conjunt numerat i amb tÃtol d'elements de blocs. DocBook no necessita que els capÃtol indiquin explÃcitament el seu número; se sobreenten que el número d'un capÃtol és el número de l'anterior més 1.
- appendix: El text contingut en aquest element representa ún apèndix.
- dedication: Els text contingut en aquest element representa una dedicatòria.
Els elements estructurals poden contenir altres elements estructurals, però
tots els elements de primer nivell han de ser sempre estructurals.
Les etiquetes de bloc són elements com ara parà grafs, llistes, etc., però no
tots ells han de contenir text necessà riament. Els elements de bloc col·locats
de manera seqüencial són visualitzats un "després" de l'altre. Després, en
aquest cas, pot ser diferent segons la cultura. El la majoria de les llengües
occidentals, "després" significa avall: els parà grafs s'imprimeixen de manera
descendent a la pà gina. D'altres llengües poden tenir un sistema d'escriptura
en què els textos s'escriuen en columnes, com ara el japonès, on els parà grafs
van de dreta a esquerra. En aquests casos, "després" voldria dir a l'esquerra.
La semà ntica de DocBook és completament neutral a aquest tipus de conceptes
intrÃnsecs a cada llengua.
Les etiquetes de lÃnia representen elements com ara èmfasis,
hyper-enllaços, etc. Se solen aplicar a parts del texts dins d'elements de
bloc provocant, generalment, que l'eina de processament del document apliqui
algun tipus de distinció tipogrà fica especial a aquest text, com canvis de la
mida de la font, or atributs especials. L'especificació de DocBook diu que
espera un tractament tipogrà fic especial, però no indica exactament quin
tractament especÃfic s'ha d'aplicar. Per exemple, no és obligat que un
processador de DocBook transformi una etiqueta emphasis a "cursiva".
Una eina de reproducció de text a veu podria augmentar el volum de les paraula,
o un processador de textos podria fer servir negreta en comptes de cursiva.
Exemple
<?xml version="1.0" encoding="UTF-8"?>
<book lang="ca" xml:id="llibre_senzill" xmlns="http://docbook.org/ns/docbook" version="5.0">
<title>Llibre molt senzill</title>
<chapter xml:id="capitol_1">
<title>CapÃtol 1</title>
<para>Hola mon!</para>
<para>Espero que tinguis un <emphasis>molt bon</emphasis> dia!</para>
</chapter>
<chapter xml:id="capitol_2">
<title>CapÃtol 2</title>
<para>Hola mon altre cop!</para>
</chapter>
</book>
Des d'un punt de vista semà ntic, aquest document és un "llibre" amb un "tÃtol"
que conté dos "capÃtols", cada un amb el seu propi "tÃtol". Aquests "capÃtols"
conten "parà grafs" de text. Tots els elements són fà cilment comprensible per a
les persones.
Més detalladament, l'element arrel del document és book. Tots els
elements de DocBook es troben en un espai de noms XML, de
manera que l'element arrel ha de contenir l'atribut xmlns per indicar el
seu espai de noms. A més, l'element arrel d'un document DocBook ha
d'especificar la versió del format del document.
Un element book ha de contenir forçosament un title o un
element info que contingui un title. Aquest tÃtol ha de
venir abans de qualsevol element estructural fill. A continuació del tÃtol
venen els elements estructurals que, en aquest cas, són dos chapter.
Cada un d'ells ha de contenir un title. També tenen elements de bloc
para amb text i altres elements de lÃnia com ara el emphasis
del segon parà graf del primer capÃtol.
Edició de documents DocBook
Com que DocBook és de fet XML, els document es poden editar amb qualsevol
editor de text. De la mateixa manera, un editor de XML es pot fer servir per a
editar documents en DocBook. Alguns editors grà fics o de tipus WYSIWYG
poden editar documents DocBook com si fossin un processadors de textos corrent.
Processament
Precisament perquè el DocBook és un format XML, es poden processar els
documents que segueixin correctament l'esquema amb eines o llenguatges de
programació que suportin XML.
Aquestes eines se solen utilitzar per crear document en un gran à mbit de
formats. Quasi sempre, això s'aconsegueix utilitzant fulles d'estil de
DocBook XSL, que són fulles d'estil XSLT que transformen el document
DocBook a altres formats (HTML, XSL-FO per convertir-lo després a
PDF, etc.) Aquestes fulles d'estil són suficientment sofisticades per a
generar automà tica de taules de continguts, glossaris i Ãndexs. Fins i tot
permeten filtrar seccions en particular d'un document mestre per a generar
versions diferents del mateix document (com ara "tutorials" o "guies de
referència rà pida" on ambdós són un subconjunt del material).
Història
DocBook va néixer el 1991 com un projecte conjunt de HAL Computer Systems i O'Reilly & Associates evolucionant, posteriorment, en la seva pròpia organització (el Grup Davenport) fins a acabar, el 1998, gestionat pel consorci SGML Open, que més tard esdevingué l'organització OASIS. El DocBook Technical Comittee dins d'OASIS és l'encarregat de mantenir DocBook.
L'especificació de DocBook està disponible tant en SGML com en XML. Existeixen formats en RELAX NG i W3C XML Schema per a la definició en XML. A partir de la versió 5, la versió RELAX NG és la "normativa" i els altres format es generen a partir d'aquesta. Tot i que DocBook cam començar originalment com una aplicació SGML, avui dia la versió XML és la més utilitzada per la majoria dels casos. Fins i tot, a partir de la versió 4, la versió en XML ha començat a seguir la seva pròpia numeració de versions. Al principi només el grup d'empreses responsables del disseny del DocBook el feien servir. Tanmateix, eventualment, la comunitat de programari lliure ha adoptat DocBook com el format està ndard per a crear documentació dins de diversos projectes, com són FreeBSD, KDE, GNOME, GTK+ i Linux. Normal Walsh i l'equip de desenvolupament del Projecte DocBook mantenen les eines clau per generar els diversos formats a partir de documents DocBook: un conjunt de fulles d'estil XSL, aixà com el conjunt de fulles d'estil DSSSL, que poden generar fitxers HTML i PDF d'alta qualitat i també en altres formats com ara RTF. Walsh és també el principal autor del llibre DocBook: The Definitive Guide, la documentació oficial de DocBook. Aquest llibre es distribueix lliurement sota la GFDL.
Vegeu també