DocBook

**DocBook** ialah bahasa penanda Semantik bagi dokumentasi teknikal. Pada asalnya DocBook ditujukan kepada penulisan teknikal berkaitan peralatan dan perisian komputer tetapi ia boleh digunakan untuk dokumentasi lain.

Sebagai sebuah bahasa semantik, DocBook membolehkan penggunanya mencipta dokumen dalam bentuk penyampaian neutral, yang menawan struktur logik kandungan; kandungan tersebut kemudiannya boleh diterbitkan dalam pelbagai format, termasuk HTML, XHTML, EPUB, PDF, man page, Web help dan HTML Help, tanpa memerlukan pengguna membuat apa-apa pertukaran kepada dokumen sumber.

## Gambaran keseluruhan

DocBook ialah sebuah bahasa XML. Dalam bentuknya sekarang (versi 5.x), bahasa DocBook diberi definisi formal oleh schema RELAX NG yang berintegrasikan peraturan Achematron. (Terdapat juga schema versi W3C XML Schema+Schematron dan Document Type Definition (DTD), akan tetapi versi-versi ini dianggap tidak piawai).

Sebagai sebuah bahasa semantik, dokumen-dokumen DocBook tidak memerikan bagaimana kandungan "akan kelihatan", tetapi ia menunjukkan *makna* kandungan. Sebagai contoh, daripada menjelaskan bagaimana sebuah abstrak sebuah rencana dapat diletak atur secara visual, DocBook hanya menagatan bahawa sesebuah seksyen itu *ialah* sebuah abstrak dan terpulanglah kepada alat atau aplikasi pemproses menentukan sama ada seksyen itu akan dimasukkan atau tidak, dan di mana ia akan diletakkan dalam dokumen sekiranya ia dimasukkan.

DocBook menyediakan sejumlah besar teg unsur semantik. Teg-teg ini dibahagikan kepada tiga kategori: struktur, aras blok, dan sebaris.

Teg *struktur* menentukan ciri am kandungannya. Unsur book (buku), misalnya, menentukan bahasa unsur-unsur anaknya mewakili bahagian-bahagian buku. Ini termasuk tajuk, bab, glosari, sisipan, dan sebagainya. Teg-teg struktur DocBook termasuk: 

* set: himpunan satu atau lebih book. Set boleh bersarang dalam set lain.
* book: himpunan berjudul chapter (bab), article (rencana), dan/atau  part (bahagian), dengan pilihan bagi glosari, sisipan, dan sebagainya.
* part: himpunan berjudul satu atau lebih chapter (bab). *Parts* boleh bersarang dengan *part* lain. Boleh memiliki teks pengenalan khas.
* article: himpunan berjudul dan tidak bernombor unsur aras blok. 
* chapter: himpunan berjudul dan bernombor unsur aras blok. DocBook sebenarnya tidak memerlukan bab diberikan nomber tersurat; semantik menetukan bahawa nombor bab ialah nombor unsur *chapter* dalam dokumen XML itu tambah 1.
* appendix: teks yang terkandung mewakili Adendum atau sisipan..
* dedication: teks mewakili penghormatan unsur struktur yang terkandung.

Unsur-unsur struktur boleh mengandungi unsur struktur lain. Dalam dokumen DocBook, hanya unsur struktur dibenarkan sebagai unsur aras atas.

Teg *aras blok* merupakan unsur seperti perenggan, senarai, san sebagainya. Tidak semua unsur-unsur ini boleh mengandungi teks sebenar secara langsung. Unsur aras blok berjujukan perlu dipaparkan satu "selepas" yang lain. Maksud "selepas", dalam kes ini, boleh berbeza bergantung kepada bahasa yang digunakan. Dalam kebanyakan bahasa Eropah (dan juga Bahasa Melayu) "selepas" bermaksud "di bawah" atau "berikut". Sistem penulisan bahasa lain, misalnya bahasa Jepun, lazimnya menulis dalam lajur, dengan perenggan dari kanan ke kiri, jadi "selepas" dalam kes ini bermaksud ke kiri. Semantik DocBook bertindak neutral terhadap konsep-konsep berlandaskan bahasa dan boleh digunakan dalam semua kes.

Teg *aras sebaris* merupakan unsur seperti penekanan (*emphasis*), hiperpautan, dan sebagainya.  Teg-teg ini membedung teks yang terkandung dalam unsur aras blok. Unsur-unsur ini tidak menyebabkan teks bepercah apabila dipaparkan dalam bentuk perenggan, tetapi, secara lazimnya unsur-unsur sedemikian menyebabkan tindakan tipografi terhadap teks berkaitan oleh pemproses dokumen. Tindakan tipografi ini boleh mengandungi pertukaran kepada fon, saiz atau atrubut yang seakan. Spesifikasi DocBook *ada* menyatakan bahawa sesuatu tindakan tipografi harus dilakukan terhadap teks, tetapi ia tidak memberi keperluan tipografi khusus.  Ini bermakna tidak ada keperluan bagi pemproses DocBook mengubah teg emphasis kepada "italik". Pemproses DocBook dalam peranti pembaca DocBook boleh membesarkan saiz teks berkaitan; pemproses teks pula boleh menggunakan huruf tebal dan tidak menggunakan huruf italik.

### Dokumen sampel


```xml
<?xml version="1.0" encoding="UTF-8"?>
 <book xml:id="simple_book" xmlns="http://docbook.org/ns/docbook" version="5.0">
   <title>Buku yang amat mudah</title>
   <chapter xml:id="chapter_1">
     <title>Bab 1</title>
     <para>Helo dunia!</para>
     <para>Saya berharap rencana <emphasis>berguna</emphasis> dan memberi manfaat!</para>
   </chapter>
   <chapter xml:id="chapter_2">
     <title>Bab 2</title>
     <para>Ketemu kembali!</para>
   </chapter>
 </book>
```


Dari segi semantik, dokumen ini ialah sebuah "buku" (*book*,) dengan sebuah "tajuk" (*title*), yang mengandungi dua "bab" (*chapter*) masing-masing dengan "tajuk" (*title*) sendiri.  "Bab" pula mengandungi "perenggan" yang mengandungi "perenggan" (*paragraph*) yang mengandungi teks. Penanda dapat dibaca dengan mudah dalam bahasa Inggeris.

Secara terperinci, unsur akar dokumen di atas ialah book. Semua unsur DocBook berada dalam  XML Namespace, justeru unsur akar perlu ada atribut *xmlns* bagi menetapkan ruang nama. Juga, unsur akar dokumen DocBook perlu ada *version* yang menentukan versi susun atur yang digunakan bagi penulisan dokumen itu.

## Lihat juga
*Senarai bahasa penanda
*Bandingan bahasa penanda dokumen
*LinuxDoc
*LaTeX
*Mumasy

## Rujukan

## Bacaan lanjut

*
*
*

## Pautan luar
* DocBook.org - Collection of DocBook information, including a 4.x and 5.0 version of *DocBook: The Definitive Guide* and all versions of the DocBook schemas/DTDs.
* DocBook Repository at OASIS - Normative home of DocBook schema/DTD.
* DocBook XSL Project page at SourceForge.net
* DocBook Demystification HOWTO
* DocBook: The Definitive Guide, 1st edition, v. 2.0.6  - Fully bookmarked PDF of the Guide for DocBook 3.x and 4.x.