<?xml version="1.0" encoding='UTF-8'?>

<!--
Copyright 2006 Niels Heirbaut. All rights reserved.

Redistribution and use in source (XML DocBook) and 'compiled' forms (SGML,
XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are
permitted provided that the following conditions are met:

   1.  Redistributions of source code (XML DocBook) must retain the above
       copyright notice, this list of conditions and the following disclaimer
       as the first lines of this file unmodified.

THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-->

<!--
This template can be used to create a Programming Guidelines as described in
the Rational Unified Process. Where applicable, comments will provide guidance
to the author. At the authors discretion these comments can be deleted.
-->

<!--{{{-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
[

<!--
Text entities. They are used to define document wide definitions. Replace the
'@@@ xxx @@@' definitions with the correct ones. If necessary custom text
entities should be added here.
-->
<!--{{{-->
<!ENTITY projectname    "@@@ Your Project @@@">
<!ENTITY projectacronym "@@@ Your Project Acronym @@@">
<!ENTITY firstname      "@@@ First Name @@@">
<!ENTITY surname        "@@@ Last Name @@@">
<!ENTITY copyrightyear  "@@@ Year @@@">
<!--}}}-->

]>
<!--}}}-->

<book lang="en"><!-- Programming Guidelines {{{-->

  <!--
  This is the front matter definition of the Programming Guidelines. Most data
  is set through the text entities above. Only the history per revision has to
  be set by hand. See <revhistory> below.
  -->
  <bookinfo><!-- Front Matter {{{-->

    <title>&projectname;</title>
    <subtitle>Programming Guidelines</subtitle>

    <author>
      <firstname>&firstname;</firstname>
      <surname>&surname;</surname>
    </author>

    <copyright>
      <year>&copyrightyear;</year>
      <holder>&firstname; &surname;</holder>
    </copyright>

    <revhistory>

      <!--
      For each revision a <revision> section has to be added.
      -->
      <revision>
        <revnumber></revnumber>
        <date></date>
        <authorinitials></authorinitials>
        <revremark></revremark>
      </revision>

    </revhistory>

  </bookinfo><!--}}}-->

  <!--
  The introduction of the Programming Guidelines should provide an overview of
  the entire document. It should include the purpose, scope, definitions,
  acronyms, abbreviations, references, and overview of the Programming
  Guidelines.
  -->
  <chapter><!-- Introduction {{{-->
    <title>Introduction</title>

    <!--
    Specify the purpose of the Programming Guidelines.
    -->
    <section><!-- Purpose {{{-->
      <title>Purpose</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    A brief description of the scope of the Programming Guidelines; what
    Project(s) it is associated with and anything else that is affected or
    influenced by this document.
    -->
    <section><!-- Scope {{{-->
      <title>Scope</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section provides the definitions of all terms, acronyms, and
    abbreviations required to properly interpret the Programming Guidelines.
    This information may be provided by reference to the project's Glossary.
    -->
    <section><!-- Definitions, acronyms and abbreviations {{{-->
      <title>Definitions, acronyms and abbreviations</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section provides a complete list of all documents referenced elsewhere
    in the Programming Guidelines. Identify each document by title, report
    number if applicable, date, and publishing organization. Specify the
    sources from which the references can be obtained. This information may be
    provided by reference to an appendix or to another document.
    -->
    <section><!-- References {{{-->
      <title>References</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section describes what the rest of the Programming Guidelines contains
    and explains how the document is organized.
    -->
    <section><!-- Overview {{{-->
      <title>Overview</title>

      <para>
      </para>

    </section><!--}}}-->

  </chapter><!--}}}-->

  <!--
  A description of the size of a module, layout of a module, space, nesting,
  legibility, and so on.
  -->
  <chapter><!-- Code Organization and Style {{{-->
    <title>Code Organization and Style</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of the use of comments.
  -->
  <chapter><!-- Comments {{{-->
    <title>Comments</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of how each kind of entity, such as types, variables, and
  subprograms, will be named.
  -->
  <chapter><!-- Naming {{{-->
    <title>Naming</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of how declarations will be written.
  -->
  <chapter><!-- Declaration {{{-->
    <title>Declaration</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of how expressions and statements will be written.
  -->
  <chapter><!-- Expressions and Statements {{{-->
    <title>Expressions and Statements</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of how memory will be managed.
  -->
  <chapter><!-- Memory Management {{{-->
    <title>Memory Management</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter gives rules and guidelines on how error handling and exceptions
  will be handled.
  -->
  <chapter><!-- Error Handling and Exceptions {{{-->
    <title>Error Handling and Exceptions</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter describes special rules to ensure portability across different
  platforms and compilers.
  -->
  <chapter><!-- Portability {{{-->
    <title>Portability</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter gives rules and guidelines to foster easier reuse.
  -->
  <chapter><!-- Reuse {{{-->
    <title>Reuse</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter describes dependencies between modules, compiler directives, and
  so on.
  -->
  <chapter><!-- Compilation Issues {{{-->
    <title>Compilation Issues</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter summarizes all guidelines; one line for each.
  -->
  <chapter><!-- Annex: Summary of Guidelines {{{-->
    <title>Annex: Summary of Guidelines</title>

    <para>
    </para>

  </chapter><!--}}}-->

</book><!--}}}-->

<!-- vim: set ts=2 sw=2 fo+=t et ff=unix filetype=docbkxml fdm=marker: -->

