\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Help File Format}
This document is intended to help developers create/edit an application's help file.

\section{Help File Location}
The help file is located in an application's locale directory at this location:

<pre><code>
locale/xx\_XX/help.xml
</code></pre>
Where xx\_XX is the locale (country and language code), e.g. en\_GB or es\_ES.

The master help file is in English and is located at:

<pre><code>
locale/en/help.xml
</code></pre>
Any help entry additions \textbf{MUST} be made in the master English help file.  These changes will be propagated to the translated help files through the translation build process.

\section{Help File Translation}
See Doc/Dev/Translation.

\section{Help File Format}
The help file has the following format:

<pre><code>
<?xml version='1.0'?>
<help>
  <entry id="[id]">
    <title>Title</title>
    [Entry content (see below)]
  </entry>

  ...

  <view id="[view]">
    <entry>
      ...
    </entry>
    ...
  </view>
</help>
</code></pre>
Help structure tags are as follows:

<table class="horde-table">Tag & Description \\
\hline
help & Defines the help data. All other tags must live under this tag. \\
\hline
entry & Defines a help entry. The 'id' attribute is a unique (by application) identifier to this entry. Entries living directly under <help> are shown in all views. \\
\hline
title & The title of the entry. Displayed in the help topics tree to allow a user to quickly browse for the entry. \\
\hline
view & Defines entries only shown in this view. Children are <entry> elements. The 'id' attribute identifies the view in which to show these entries (currently: \texttt{basic} and \texttt{dynamic}). \\
\hline
</table>
Each <entry> tag can have one or more of the following:

<table class="horde-table">Tag & Description \\
\hline
para & A paragraph block. \\
\hline
raw & A raw block. Content will be displayed in fixed format. \\
\hline
tip & Tip block. Used to identify the containing text as tip (i.e. useful instructions; UI shortcuts) content. \\
\hline
warn & Warning block. Used to identify the containing text as warning (i.e. potential issues; dangerous behavior) content. \\
\hline
</table>
Each <entry> block can be formatted with the following tags:

<table class="horde-table">Tag & Description \\
\hline
b & Strong formatting of text. This tag can contain additional formatting tags in its content. \\
\hline
css & Outputs containing data in a CSS class. The 'class' atrribute contains the CSS class name. This tag can contain additional formatting tags in its content. \\
\hline
eref & Create URL link. The 'url' attribute contains the URL to link to. \\
\hline
i & Emphasis formatting of text. This tag can contain additional formatting tags in its content. \\
\hline
pre & Preformatted formatting of text. This tag can contain additional formatting tags in its content. \\
\hline
ref & Reference to another Help entry. The 'module' attribute should be the application id. The 'topic' attribute should be the id attribute of the entry to link to. \\
\hline
text & Raw text contained in this node (sub-tags are ignored). \\
\hline
</table>
\end{document}
