Docbook Conventions

From GnuCash
Jump to: navigation, search

Conventions to use while writing Documentation in Docbook

Source File Format

A unique format facilitates updating translations and improves readability. You can get this now by using xmlformat after saving your changes, but if you want to adjust your editors settings:.

No trailing spaces
2 spaces per level, no Tabs
<screen> and other verbatim elements
Block elements
require a new line, while for
Inline elements
should stay on one line.
Line length
not longer than your display.

Full recent configuration

Figures, Tables, Examples, Formulas

  • should have a unique, but short title. This will
    1. be printed bold on top of the element
    2. generate an entry in the respective list of the document content.
      This lists are currently not displayed by yelp, but in all other formats.
  • If an extended description of an MediaObject is required, add a caption.


Yelp dislikes missing table entries and aborts the rendering after the last defined entry, while HTML completes the rest.

No Direct Formating

Like for HTML you can use CSS, Docbook delegates the formating to xsl stylesheets.

Markups like
<emphasis role="bold">Fat text</emphasis>
are a bad idea. How should a screenreader interpret this? Do other elements exist which tell about the semantic of your string? A few examples:
  The <keycap>F1</keycap> key on an IBM PC keyboard generates the
  scan code <keycode>0x3B</keycode> when pressed.  This value
  is defined as <keysym>KEY_F1</keysym> in 
  <filename class="headerfile">keyboard.h</filename>.

  <title>Fields in the xyz Dialog</title>
  <listitem><para><guilabel>Encoding</guilabel>: This is usually the UTF-8 variant.</para</listitem>
  <listitem><para><guilabel>Magic</guilabel>: Mages will know.</para>
    <warning><para>Do not use it!</para></warning>

  Typing <userinput>Ex</userinput> will match the <computeroutput>Expenses</computeroutput> section of the account list.

  You can exit from GNU Emacs with 
    <guimenuitem>Exit Emacs</guimenuitem>
See also
Docbook Links and Docbook Processing for some subtile differences.