W środowiskach uniksowych od długiego już czasu wykorzystuje się formaty SGML/XML do tworzenia wszelkiego rodzaju dokumentów strukturalnych. SGML (Standard Generalized Markup Language) oraz jego młodszy krewniak przeznaczony do zastosowań IT - XML (eXtensible Markup Language), są narzędziami do tworzenia języków opierających się na znacznikach. Takim językiem jest np. HTML, VRML czy właśnie DocBook. Języki te są niczym innym jak aplikacjami SGML lub XML. Żeby zdefiniować taki język należy wskazać jakie atrybuty są w jego obrębie dopuszczalne. Innymi słowy parser takiego języka musi wiedzieć, co oznaczają znaczniki '<META>' czy np. '<BODY>'. Definicje takie określa się jako DTD (Data Type Definitions). DocBook jest określonym DTD służącym głównie do tworzenia dokumentacji oprogramowania oraz dokumentacji technicznej. Dostępny jest zarówno jako SGML-owy, jak i XML-owy DTD. Przed powstaniem XML-a był aplikacją wyłącznie SGML-ową. DocBook jest często wykorzystywany do tworzenia dokumentacji projektów Open Source. Przykładami są: Linux Documentation Project, dokumentacja GNOME i GTK+ API, dokumentacja jądra Linuksa, czy np. FreeBSD. W docbookowych dokumentach nie umieszcza się znaczników odpowiedzialnych za wygląd. Oznacza się jedynie treść oraz strukturę danych. Dokument taki jest więc plikiem XML, w którym posługujemy się znacznikami opisanymi w docbokowym DTD. Następnie za pomocą parsera, oraz z wykorzystaniem stylów XSL konwertujemy wspomniany dokument np. do formatu HTML lub PDF. Dokumenty DocBooka można tworzyć w dowolnym edytorze tekstu. Są również wyspecjalizowane edytory obsługujące ten format, np. Conglomerate lub Quanta (oba dostępne w repozytoriach Debiana. Quanta posiada również wbudowany parser oraz potrafi uzupełniać docbookowe znaczniki). Dokumenty DocBooka mają rozszerzenie *.xml lub *.sgml. Przykład prostego dokumentu, który przekonwertujemy za chwilę do formatu HTML: --------------------------------------------------------------- <xml version="1.0" encoding="iso-8859-2"> <!DOCTYPE book PUBLIC "-//OASIS/DTD DocBook V4.1.2//EN"> <book lang="pl"> <article> <title> Przykładowy dokument </title> <artheader> <abstract> Treść abstraktu </abstract> </artheader> <section> <title> Tytuł sekcji </title> <para> Treść paragrafu </para> </section> <section> <title> Tytuł sekcji 2</title> <para> <ulink url="http://www.skos.org/">SKOS</ulink> </para> </section> </article> </book> ----------------------------------------------------------------- Na początku mamy deklarację DOCTYPE - która określa nam typ tworzonego dokumentu oraz wykorzystywane DTD. Struktura dokumentów w DocBooku przedstawia się następująco: - zestawy książek (set) Książki mogą np. zawierać dedykacje (dedication), spis treści (toc), listę tabel (lot). Wiele elementów może również zawierać metainformacje, jak np. bookinfo lub docinfo. Po utworzeniu określonego dokumentu, musimy zainstalować DocBooka wraz z wymaganymi narzędziami do konwersji. W tym celu w dystrybucjach debianopochodnych (bazujących na Debianie, oraz wykorzystujących jego repozytoria i system obsługi pakietów) wydajemy polecenie: apt-get install docbook-utils Jako że apt-get dba o zależności międzypakietowe - sam pobierze nam DocBook-a, konwertery, procesor XSLT i wszystko co potrzebne do przeprowadzenia poprawnej konwersji. W przypadku Linux-EduCD i Knoppiksa będzie to ok. 40 megabajtowy zestaw debów. Po instalacji wykonujemy kolejne polecenie: db2html dokument.xml Konwerter db2html utworzy nam katalog o takiej samej nazwie jak plik DocBook-a - a w nim pliki w formacie HTML. Po otworzeniu w dowolnej przeglądarce plik book[jakaś liczba].html, zauważymy że mamy już automatycznie wygenerowany spis treści, menu nawigacyjne itp. |