Files
2025/share/doc/seiscomp/html/base/contributing-docs.html

936 lines
52 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Contributing Documentation &#8212; SeisComP Development documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/seiscomp.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=72bcf2f2" />
<link rel="stylesheet" type="text/css" href="../_static/seiscomp.css?v=c6da7ce6" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/seiscomp.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=744d344a"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Style Guide for Documentation" href="style-guide.html" />
<link rel="prev" title="Getting the Source Code" href="build.html" />
</head>
<body>
<div class="header">
<div class="container">
<div class="brand">
<img class="logo" src="../_static/brands/seiscomp/text/white.svg"/>
<!-- span class="title">SeisComP Development</span -->
<span class="version">7.0.0</span>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="style-guide.html" title="Style Guide for Documentation"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="build.html" title="Getting the Source Code"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="contributing-documentation">
<span id="id1"></span><h1>Contributing Documentation<a class="headerlink" href="#contributing-documentation" title="Permalink to this heading"></a></h1>
<p>This is the documentation for the core processing elements and utilities that make up the <cite>SeisComP</cite> system.
It aims to document the configuration and command line options for
<cite>SeisComP</cite> in multiple formats (HTML, man, PDF, ePub etc) in a
consistent way. The functionality of <cite>SeisComP</cite> differs between
versions so the documentation is versioned along with <cite>SeisComP</cite>.
For more general topics and tutorials please refer to the
<cite>SeisComP</cite> website and documentation <span id="id2">[<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span>.</p>
<p>The documentation is written in <span id="id3"><em>reStructuredText</em> [<a class="reference internal" href="references.html#id226" title="reStructuredText. Source Forge. URL: https://docutils.sourceforge.io/rst.html.">37</a>]</span> (reST) a simple text
mark up format. The documentation is generated using Sphinx <span id="id4">[<a class="reference internal" href="references.html#id302" title="Sphinx. online. URL: https://www.sphinx-doc.org.">27</a>]</span>
which is used to create the Python documentation <span id="id5">[<a class="reference internal" href="references.html#id215" title="Python documentation. Python. URL: https://docs.python.org/.">23</a>]</span>.
The Sphinx website <span id="id6">[<a class="reference internal" href="references.html#id227" title="reStructuredText - Introduction. Sphinx documentation. URL: https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html.">36</a>]</span> has a very good
introduction to reST and also covers the Sphinx-specific
directives <span id="id7">[<a class="reference internal" href="references.html#id228" title="reStructuredText - Directives. Sphinx documentation. URL: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html.">35</a>]</span>.</p>
<p>If you would like to add to this documentation or you find an error, then please
submit a patch to <span id="id8"><em>SeisComP on GitHub</em> [<a class="reference internal" href="references.html#id291" title="Seiscomp on github. URL: https://github.com/SeisComP.">1</a>]</span> or report to the <span id="id9"><em>SeisComP forum</em> [<a class="reference internal" href="references.html#id289" title="SeisComP forum. GFZ. URL: https://forum.seiscomp.de/.">26</a>]</span>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please understand the <a class="reference internal" href="style-guide.html#documentation-style-guide"><span class="std std-ref">documentation style guide</span></a>
before contributing documentation.</p>
</div>
<p>If you view the HTML version of the documentation in a browser,
then you can use the <em>Show Source</em> link on each page to view the reST
source. The source and the documentation files for executables (see below) are
good starting points for a new patch.</p>
<section id="documenting-executables">
<h2>Documenting Executables<a class="headerlink" href="#documenting-executables" title="Permalink to this heading"></a></h2>
<p>The documentation for modules and plugins is generated from two sources:</p>
<dl>
<dt>executable.xml</dt><dd><p>An <a class="reference internal" href="#contributing-documentation-xml"><span class="std std-ref">XML file</span></a> that contains a brief
description of the command, markup describing the command line parameters,
and any configuration parameters for the executable. Each parameter should
have a brief description of the purpose of the parameter.</p>
<p>The description should be plain text and not contain reST markup. Where
parameters are common across a number of executables they should be placed
in the appropriate common file and referred to using their publicID.</p>
<p>All XML files live in the <code class="file docutils literal notranslate"><span class="pre">doc/apps</span></code> directory of the source
distribution or in <code class="file docutils literal notranslate"><span class="pre">etc/descriptions</span></code> of an installation.</p>
</dd>
<dt>executable.rst</dt><dd><p>This is a RST text file in <span class="xref std std-ref">reST markup</span> that gives
any more-detailed description and examples for modules or plugins. It is
combined with the corresponding <code class="file docutils literal notranslate"><span class="pre">executable.xml</span></code> file to create the
full HTML documentation and man pages of a module or plugin.</p>
<p>When listed in a table of content, the RST file allows generating general
content without providing an XML file. Examples can be found in the
<a class="reference external" href="https://github.com/SeisComP/seiscomp/blob/master/doc/templates/index.rst">documentation index file</a> <a class="footnote-reference brackets" href="#id10" id="id11" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> .</p>
<p>The first entry in the file should be a paragraph giving a more
detailed description of the executable. The following paragraphs provide
background information, use cases and examples.</p>
</dd>
</dl>
<p>These two files should be placed in a <code class="file docutils literal notranslate"><span class="pre">descriptions</span></code> sub-directory of the
respective module or plugin, e.g., the <a class="reference external" href="https://github.com/SeisComP/main/blob/master/apps/gui-qt/scolv/descriptions/">scolv description</a> <a class="footnote-reference brackets" href="#id12" id="id13" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> .
The intention is that the documentation is close to the code to make it easier
for developers to keep the documentation up to date with code changes.</p>
<p>For a new executable an entry can also be made in the man section of
<code class="file docutils literal notranslate"><span class="pre">conf.py</span></code>. For <cite>SeisComP</cite> modules located, <a class="reference external" href="https://github.com/SeisComP/seiscomp/tree/master/doc/templates">documentation templates directory</a> <a class="footnote-reference brackets" href="#id14" id="id15" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>.</p>
<p>The man page is a short form of the documentation of a module that is generated
from the XML and the RST files.
Example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>man<span class="w"> </span>scolv
</pre></div>
</div>
</section>
<section id="creating-the-rst">
<h2>Creating the RST<a class="headerlink" href="#creating-the-rst" title="Permalink to this heading"></a></h2>
<p>The RST file should be written according to the
<a class="reference internal" href="style-guide.html#documentation-style-guide"><span class="std std-ref">documentation style guide</span></a>.</p>
</section>
<section id="understanding-the-xml">
<span id="contributing-documentation-xml"></span><h2>Understanding the XML<a class="headerlink" href="#understanding-the-xml" title="Permalink to this heading"></a></h2>
<p>As mentioned before XML is used to generate brief descriptions of the configuration and command line parameters.
This section describes the XML format.</p>
<p>Any description XML uses the root element <em>seiscomp</em>:</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span>...
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
<p>Three elements are used inside the root element: <a class="reference internal" href="#xml-module"><span class="std std-ref">module</span></a>,
<a class="reference internal" href="#xml-plugin"><span class="std std-ref">plugin</span></a> and <a class="reference internal" href="#xml-binding"><span class="std std-ref">binding</span></a>.
Modules, plugins and bindings can be described in one XML or split up into one
file per description. It is better to have things as close as possible. A module
and its binding should go into one module.XML whereas plugins should go into
separate XML files. Examples can be found in the source code as well as in the
XML files installed in <code class="file docutils literal notranslate"><span class="pre">seiscomp/etc/descriptions</span></code>.</p>
<section id="module">
<span id="xml-module"></span><h3>Module<a class="headerlink" href="#module" title="Permalink to this heading"></a></h3>
<p>A template for a description XML file can be found in <code class="file docutils literal notranslate"><span class="pre">doc/templates/app.xml</span></code>.</p>
<p>The XML file describes the <cite>SeisComP</cite> <a class="reference internal" href="glossary.html#term-module"><span class="xref std std-term">module</span></a> with the configuration and command-line parameters.</p>
<p>Element: <strong>module</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>name</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the module. This name must be
unique among all available modules.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>category</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The category of the module. It is used by the
configurator to group modules and by the
documentation generator to create the final
document structure. The category can contain
slashes to introduce hierarchies.</p></td>
</tr>
<tr class="row-even"><td><p><strong>standalone</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The standalone attribute is also optional and
by default false. Standalone means that the
module does not take the global configuration
files (e.g. <code class="file docutils literal notranslate"><span class="pre">etc/global.cfg</span></code>) into
account.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>inherit-global-bindings</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>If global bindings are inherited. The default
is false. If yes, then all parameters of
the global binding are also available in
the module binding to allow overwriting them.
Standalone modules will never inherit global
bindings regardless the value of this
attribute.</p></td>
</tr>
<tr class="row-even"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A short description of the module.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>configuration</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>The available configuration parameters. See
element
<a class="reference internal" href="#xml-configuration"><span class="std std-ref">configuration</span></a>.</p></td>
</tr>
<tr class="row-even"><td><p><strong>command-line</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>The available command-line options. See
element
<a class="reference internal" href="#xml-command-line"><span class="std std-ref">command-line</span></a>.</p></td>
</tr>
</tbody>
</table>
<p>It follows a simple example of how a module definition looks like.</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span><span class="nt">&lt;module</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;scevent&quot;</span><span class="w"> </span><span class="na">category=</span><span class="s">&quot;Modules/Processing&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Associates<span class="w"> </span>an<span class="w"> </span>Origin<span class="w"> </span>to<span class="w"> </span>an<span class="w"> </span>Event<span class="w"> </span>or<span class="w"> </span>forms<span class="w"> </span>a<span class="w"> </span>new<span class="w"> </span>Event<span class="w"> </span>if<span class="w"> </span>no<span class="w"> </span>match
<span class="w"> </span>is<span class="w"> </span>found.<span class="w"> </span>Selects<span class="w"> </span>the<span class="w"> </span>preferred<span class="w"> </span>magnitude.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;configuration/&gt;</span>
<span class="w"> </span><span class="nt">&lt;command-line/&gt;</span>
<span class="w"> </span><span class="nt">&lt;/module&gt;</span>
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
</section>
<section id="plugin">
<span id="xml-plugin"></span><h3>Plugin<a class="headerlink" href="#plugin" title="Permalink to this heading"></a></h3>
<p>A template for a description XML file can be found in <code class="file docutils literal notranslate"><span class="pre">doc/templates/plugin.xml</span></code>.</p>
<p>The XML file describes the <cite>SeisComP</cite> <a class="reference internal" href="glossary.html#term-plugin"><span class="xref std std-term">plugin</span></a> with the configuration and command-line parameters. This is most likely the
case when an application loads dynamically shared libraries also called plugins.</p>
<p>Element: <strong>plugin</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>name</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the plugin.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>extends</strong></p></td>
<td><p>element</p></td>
<td><p>yes</p></td>
<td><p>The list of names of module names that
the plugin extends, separated by commas.</p></td>
</tr>
<tr class="row-even"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A short description of the plugin.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>configuration</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>The available configuration parameters. See
element
<a class="reference internal" href="#xml-configuration"><span class="std std-ref">configuration</span></a>.</p></td>
</tr>
</tbody>
</table>
<p>Below is a simple example of how a plugin definition appears in XML.</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span><span class="nt">&lt;plugin</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;NonLinLoc&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;extends&gt;</span>global<span class="nt">&lt;/extends&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>NonLinLoc<span class="w"> </span>locator<span class="w"> </span>wrapper<span class="w"> </span>plugin<span class="w"> </span>for<span class="w"> </span>SeisComP.
<span class="w"> </span>NonLinLoc<span class="w"> </span>was<span class="w"> </span>written<span class="w"> </span>by<span class="w"> </span>Anthony<span class="w"> </span>Lomax<span class="w"> </span>(http://alomax.free.fr/nlloc).
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;configuration/&gt;</span>
<span class="w"> </span><span class="nt">&lt;command-line/&gt;</span>
<span class="w"> </span><span class="nt">&lt;/plugin&gt;</span>
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
</section>
<section id="binding">
<span id="xml-binding"></span><h3>Binding<a class="headerlink" href="#binding" title="Permalink to this heading"></a></h3>
<p>A binding template can be found in <code class="file docutils literal notranslate"><span class="pre">doc/templates/binding.xml</span></code>.</p>
<p>It describes the set of configuration parameters to configure a station for a module.</p>
<p>Element: <strong>binding</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>module</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the module this binding belongs
to.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A short description of the binding.</p></td>
</tr>
<tr class="row-even"><td><p><strong>configuration</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>The available configuration parameters. See
element
<a class="reference internal" href="#xml-configuration"><span class="std std-ref">configuration</span></a>.</p></td>
</tr>
</tbody>
</table>
<p>Below is an example of how a simple binding definition appears as XML.</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span><span class="nt">&lt;binding</span><span class="w"> </span><span class="na">module=</span><span class="s">&quot;seedlink&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Configures<span class="w"> </span>sources<span class="w"> </span>and<span class="w"> </span>parameters<span class="w"> </span>of<span class="w"> </span>a<span class="w"> </span>SeedLink<span class="w"> </span>station.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;configuration/&gt;</span>
<span class="w"> </span><span class="nt">&lt;/binding&gt;</span>
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
</section>
<section id="configuration">
<span id="xml-configuration"></span><h3>Configuration<a class="headerlink" href="#configuration" title="Permalink to this heading"></a></h3>
<p>This element is used to describe the configuration parameters (not command-line, just
configuration file) of a module, binding and plugin.</p>
<p>Element: <strong>configuration</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>parameter</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A top level parameter that does not contain
dots in the configuration file.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="nv">param</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>value
group.param<span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;another value&quot;</span>
</pre></div>
</div>
<p>Here <code class="docutils literal notranslate"><span class="pre">param</span></code> is a top level parameter
whereas <code class="docutils literal notranslate"><span class="pre">group.param</span></code> is not. See
<a class="reference internal" href="#xml-configuration-parameter"><span class="std std-ref">parameter</span></a>.</p>
</td>
</tr>
<tr class="row-odd"><td><p><strong>struct</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A top level structure definition. Structures
are different from groups and parameters
as they can be instantiated by an arbitrary
name.</p></td>
</tr>
<tr class="row-even"><td><p><strong>group</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A parameter group that describes a logical
grouping of parameters also called “scope” or
“namespace”. If a parameter in the
configuration file contains dots, then only
the last part is a parameter all others are
groups.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>group1.group2.param<span class="w"> </span><span class="o">=</span><span class="w"> </span>value
</pre></div>
</div>
</td>
</tr>
</tbody>
</table>
<p id="xml-configuration-parameter">Element: <strong>parameter</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>name</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the parameter. This name must be
unique among all parameters of the same
level.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>type</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>An optional description of the parameter
type which can be interpreted by a
configurator to provide specialized input
widgets. It is also important for the user
how the parameter is read by the module.
Supported are: <em>uint, list:uint, int, list:uint,
double, list:double, float, list:float, file,
list:file, directory, list:directory, time
list:time, host-with-port, boolean, gradient</em></p></td>
</tr>
<tr class="row-even"><td><p><strong>options</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>Options to type if type is file or directory.
Supported: <em>read, write, execute</em></p></td>
</tr>
<tr class="row-odd"><td><p><strong>unit</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>An optional unit such as “s” or “km” or
“deg”.</p></td>
</tr>
<tr class="row-even"><td><p><strong>default</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The default value the module uses if this
parameter is not configured.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>values</strong></p></td>
<td><p>element
attrib</p></td>
<td><p>no</p></td>
<td><p>Lists the supported value separated by comma. For
files, the list describes file name suffices.</p></td>
</tr>
<tr class="row-even"><td><p><strong>range</strong></p></td>
<td><p>element
attrib</p></td>
<td><p>no</p></td>
<td><p>The range of values. Format: minimum:maximum</p></td>
</tr>
<tr class="row-odd"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Gives a brief description of the parameter.</p></td>
</tr>
</tbody>
</table>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Further explanations of <strong>type</strong>:</p>
<ul class="simple">
<li><p>uint: Non-negative integer. Example values: 0, 1</p></li>
<li><p>gradient: Colon-separated pairs of value and color. Example:
-4:”rgb(0,0,255)”.</p></li>
<li><p>host-with-port: Colon-separated pairs of host address and port number.
Example: localhost:8080.</p></li>
<li><p>time: Any <a class="reference internal" href="time-grammar.html#time-formats"><span class="std std-ref">time format supported by SeisComP</span></a> is
possible unless stated differently.</p></li>
<li><p>list: One ore more values separated by comma.</p></li>
</ul>
</div>
<p id="xml-configuration-struct">Element: <strong>struct</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>type</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the struct type. This name is
used in a configurator to give a selection
of available types to be instantiated.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>title</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The title of the struct as shown, e.g. in scconfig</p></td>
</tr>
<tr class="row-even"><td><p><strong>link</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The absolute reference parameter as it would
appear in the configuration file which
holds all instantiated structures.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># &#39;link&#39; parameter holding all available</span>
<span class="c1"># structures. &quot;local&quot; and &quot;teleseismic&quot;</span>
<span class="c1"># are instances of a structure defined</span>
<span class="c1"># below.</span>
locator.profiles<span class="w"> </span><span class="o">=</span><span class="w"> </span>local,<span class="w"> </span>teleseismic
<span class="c1"># The structure defined in locator.profile</span>
<span class="c1"># would have &quot;locator.profiles&quot; as link</span>
<span class="c1"># attribute.</span>
locator.profile.local.param<span class="w"> </span><span class="o">=</span><span class="w"> </span>value
locator.profile.teleseismic.param<span class="w"> </span><span class="o">=</span><span class="w"> </span>value
</pre></div>
</div>
</td>
</tr>
<tr class="row-odd"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Gives a brief description of the parameter.</p></td>
</tr>
<tr class="row-even"><td><p><strong>parameter</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a parameter in the struct. See
<a class="reference internal" href="#xml-configuration-parameter"><span class="std std-ref">parameter</span></a>.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>struct</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a struct part of this struct.</p></td>
</tr>
<tr class="row-even"><td><p><strong>group</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a group part of this struct. See
<a class="reference internal" href="#xml-configuration-group"><span class="std std-ref">group</span></a>.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>aliases</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>Explains where to find alias parameters.</p></td>
</tr>
</tbody>
</table>
<p id="xml-configuration-extend-struct">Element: <strong>extend-struct</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>type</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the struct type to be extended. This</p></td>
</tr>
<tr class="row-odd"><td><p><strong>match-name</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The name given of the struct with parameters
extending name the struct given by name.</p></td>
</tr>
</tbody>
</table>
<p id="xml-configuration-group">Element: <strong>group</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>name</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the group. This name must be
unique among all groups of the same level.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Gives a brief description of the parameter.</p></td>
</tr>
<tr class="row-even"><td><p><strong>parameter</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a parameter in the group. See
<a class="reference internal" href="#xml-configuration-parameter"><span class="std std-ref">parameter</span></a>.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>struct</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a struct part of this group. See
<a class="reference internal" href="#xml-configuration-struct"><span class="std std-ref">struct</span></a>.</p></td>
</tr>
<tr class="row-even"><td><p><strong>group</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes a group part of this group.</p></td>
</tr>
</tbody>
</table>
<p>Below is an example of the plugin definition for the NonLinLoc plugin. It contains
groups, parameters and structures.</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span><span class="nt">&lt;plugin</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;NonLinLoc&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;extends&gt;</span>global<span class="nt">&lt;/extends&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>...<span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;configuration&gt;</span>
<span class="w"> </span><span class="nt">&lt;group</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;NonLinLoc&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;parameter</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;publicID&quot;</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;string&quot;</span>
<span class="w"> </span><span class="na">default=</span><span class="s">&quot;NLL.@time/%Y%m%d%H%M%S.%f@.@id@&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>PublicID<span class="w"> </span>creation<span class="w"> </span>pattern<span class="w"> </span>for<span class="w"> </span>an<span class="w"> </span>origin<span class="w"> </span>created<span class="w"> </span>by<span class="w"> </span>NonLinLoc.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/parameter&gt;</span>
<span class="w"> </span><span class="nt">&lt;parameter</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;outputPath&quot;</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;directory&quot;</span><span class="w"> </span><span class="na">default=</span><span class="s">&quot;/tmp/sc3.nll&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Defines<span class="w"> </span>the<span class="w"> </span>output<span class="w"> </span>path<span class="w"> </span>for<span class="w"> </span>all<span class="w"> </span>native<span class="w"> </span>NonLinLoc<span class="w"> </span>input<span class="w"> </span>and
<span class="w"> </span>output<span class="w"> </span>files.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/parameter&gt;</span>
<span class="w"> </span><span class="nt">&lt;parameter</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;profiles&quot;</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;list:string&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Defines<span class="w"> </span>a<span class="w"> </span>list<span class="w"> </span>of<span class="w"> </span>active<span class="w"> </span>profiles<span class="w"> </span>to<span class="w"> </span>be<span class="w"> </span>used<span class="w"> </span>by<span class="w"> </span>the<span class="w"> </span>plugin.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/parameter&gt;</span>
<span class="w"> </span><span class="nt">&lt;group</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;profile&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;struct</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;NonLinLoc profile&quot;</span><span class="w"> </span><span class="na">link =</span><span class="w"> </span><span class="s">&quot;NonLinLoc.profiles&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Defines<span class="w"> </span>a<span class="w"> </span>regional<span class="w"> </span>profile<span class="w"> </span>that<span class="w"> </span>is<span class="w"> </span>used<span class="w"> </span>if<span class="w"> </span>a<span class="w"> </span>prelocation<span class="w"> </span>falls
<span class="w"> </span>inside<span class="w"> </span>the<span class="w"> </span>configured<span class="w"> </span>region.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;parameter</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;earthModelID&quot;</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;string&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>earthModelID<span class="w"> </span>that<span class="w"> </span>is<span class="w"> </span>stored<span class="w"> </span>in<span class="w"> </span>the<span class="w"> </span>created<span class="w"> </span>origin.
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/parameter&gt;</span>
<span class="w"> </span><span class="nt">&lt;/struct&gt;</span>
<span class="w"> </span><span class="nt">&lt;/group&gt;</span>
<span class="w"> </span><span class="nt">&lt;/group&gt;</span>
<span class="w"> </span><span class="nt">&lt;/configuration&gt;</span>
<span class="w"> </span><span class="nt">&lt;/plugin&gt;</span>
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
</section>
<section id="command-line">
<span id="xml-command-line"></span><h3>Command-line<a class="headerlink" href="#command-line" title="Permalink to this heading"></a></h3>
<p>This element is used to describe the command-line options of a module. The element structure is
much simpler than the <a class="reference internal" href="#xml-configuration"><span class="std std-ref">configuration</span></a> element. The command-line only
contains group elements which in turn have either option or optionReference elements. Through
the optionReference element it is possible to refer to existing command-line options. This is
important for all modules that are using the <cite>SeisComP</cite> libraries because they share a set of
basic command-line options inherited from the Application class.</p>
<p>Element: <strong>command-line</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>synopsis</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Optional description of how to start the
module.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Optional description of the command-line
and non option parameters.</p></td>
</tr>
<tr class="row-even"><td><p><strong>group</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Describes an option group. See
<a class="reference internal" href="#xml-command-line-group"><span class="std std-ref">group</span></a>.</p></td>
</tr>
</tbody>
</table>
<p id="xml-command-line-group">Element: <strong>group</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>name</strong></p></td>
<td><p>attrib</p></td>
<td><p>yes</p></td>
<td><p>The name of the group. This name must be
unique among all groups of the same level.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>option</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>An option part of this group. See
<a class="reference internal" href="#xml-command-line-option"><span class="std std-ref">option</span></a>.</p></td>
</tr>
<tr class="row-even"><td><p><strong>optionReference</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>A reference to an existing option using its
publicID.</p></td>
</tr>
</tbody>
</table>
<p id="xml-command-line-option">Element: <strong>option</strong></p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>XML type</p></th>
<th class="head"><p>Mandatory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><strong>flag</strong></p></td>
<td><p>attrib</p></td>
<td><p>semi</p></td>
<td><p>The short option flag. Either this attribute
or long-flag must be set.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>long-flag</strong></p></td>
<td><p>attrib</p></td>
<td><p>semi</p></td>
<td><p>The long option flag. Either this attribute
or flag must be set.</p></td>
</tr>
<tr class="row-even"><td><p><strong>param-ref</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>Refers to a configuration parameter name that
this parameter overrides. Name is the full
path, e.g. <em>connection.server</em> and not just
<em>server</em>.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>argument</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The optional argument string. If argument is
not set, the option is a switch.</p></td>
</tr>
<tr class="row-even"><td><p><strong>default</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The options default value used if the option
is not given though it is hard in most cases
because command-line options very often
redefine configuration parameters which is
then used as a default value for the option.</p></td>
</tr>
<tr class="row-odd"><td><p><strong>publicID</strong></p></td>
<td><p>attrib</p></td>
<td><p>no</p></td>
<td><p>The optional publicID of the option to be
able to reference it from an optionReference
element. The publicID must be unique among
all defined options.</p></td>
</tr>
<tr class="row-even"><td><p><strong>description</strong></p></td>
<td><p>element</p></td>
<td><p>no</p></td>
<td><p>Gives a brief description of the option.</p></td>
</tr>
</tbody>
</table>
<p>Below is an example of the module definition for <strong class="program">scautoloc</strong> (extract).</p>
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;seiscomp&gt;</span>
<span class="w"> </span><span class="nt">&lt;module</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;scautoloc&quot;</span><span class="w"> </span><span class="na">category=</span><span class="s">&quot;Modules/Processing&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>Locates<span class="w"> </span>seismic<span class="w"> </span>events.<span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;configuration&gt;</span>
<span class="w"> </span>...
<span class="w"> </span><span class="nt">&lt;/configuration&gt;</span>
<span class="w"> </span><span class="nt">&lt;command-line&gt;</span>
<span class="w"> </span><span class="nt">&lt;synopsis&gt;</span>
<span class="w"> </span>scautoloc<span class="w"> </span>[options]
<span class="w"> </span><span class="nt">&lt;/synopsis&gt;</span>
<span class="w"> </span><span class="nt">&lt;group</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;Generic&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#help<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#version<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#config-file<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#plugins<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#daemon<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#auto-shutdown<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#shutdown-master-module<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;optionReference&gt;</span>generic#shutdown-master-username<span class="nt">&lt;/optionReference&gt;</span>
<span class="w"> </span><span class="nt">&lt;/group&gt;</span>
<span class="w"> </span><span class="nt">&lt;group</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;Mode&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;option</span><span class="w"> </span><span class="na">flag=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">long-flag=</span><span class="s">&quot;test&quot;</span><span class="w"> </span><span class="na">argument=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">default=</span><span class="s">&quot;&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>Do<span class="w"> </span>not<span class="w"> </span>send<span class="w"> </span>any<span class="w"> </span>object<span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/option&gt;</span>
<span class="w"> </span><span class="nt">&lt;option</span><span class="w"> </span><span class="na">flag=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">long-flag=</span><span class="s">&quot;offline&quot;</span><span class="w"> </span><span class="na">argument=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">default=</span><span class="s">&quot;&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>
<span class="w"> </span>Do<span class="w"> </span>not<span class="w"> </span>connect<span class="w"> </span>to<span class="w"> </span>a<span class="w"> </span>messaging<span class="w"> </span>server.<span class="w"> </span>Instead<span class="w"> </span>a
<span class="w"> </span>station-locations.conf<span class="w"> </span>file<span class="w"> </span>can<span class="w"> </span>be<span class="w"> </span>provided.<span class="w"> </span>This<span class="w"> </span>implies
<span class="w"> </span>--test<span class="w"> </span>and<span class="w"> </span>--playback
<span class="w"> </span><span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/option&gt;</span>
<span class="w"> </span><span class="nt">&lt;option</span><span class="w"> </span><span class="na">flag=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">long-flag=</span><span class="s">&quot;playback&quot;</span><span class="w"> </span><span class="na">argument=</span><span class="s">&quot;&quot;</span><span class="w"> </span><span class="na">default=</span><span class="s">&quot;&quot;</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;description&gt;</span>Flush<span class="w"> </span>origins<span class="w"> </span>immediately<span class="w"> </span>without<span class="w"> </span>delay<span class="nt">&lt;/description&gt;</span>
<span class="w"> </span><span class="nt">&lt;/option&gt;</span>
<span class="w"> </span><span class="nt">&lt;/group&gt;</span>
<span class="w"> </span><span class="nt">&lt;/command-line&gt;</span>
<span class="w"> </span><span class="nt">&lt;/module&gt;</span>
<span class="nt">&lt;/seiscomp&gt;</span>
</pre></div>
</div>
</section>
</section>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading"></a></h2>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id10" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id11">1</a><span class="fn-bracket">]</span></span>
<p><a class="reference external" href="https://github.com/SeisComP/seiscomp/blob/master/doc/templates/index.rst">https://github.com/SeisComP/seiscomp/blob/master/doc/templates/index.rst</a></p>
</aside>
<aside class="footnote brackets" id="id12" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id13">2</a><span class="fn-bracket">]</span></span>
<p><a class="reference external" href="https://github.com/SeisComP/main/blob/master/apps/gui-qt/scolv/descriptions/">https://github.com/SeisComP/main/blob/master/apps/gui-qt/scolv/descriptions/</a></p>
</aside>
<aside class="footnote brackets" id="id14" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id15">3</a><span class="fn-bracket">]</span></span>
<p><a class="reference external" href="https://github.com/SeisComP/seiscomp/tree/master/doc/templates">https://github.com/SeisComP/seiscomp/tree/master/doc/templates</a></p>
</aside>
</aside>
</section>
</section>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
<div>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Contributing Documentation</a><ul>
<li><a class="reference internal" href="#documenting-executables">Documenting Executables</a></li>
<li><a class="reference internal" href="#creating-the-rst">Creating the RST</a></li>
<li><a class="reference internal" href="#understanding-the-xml">Understanding the XML</a><ul>
<li><a class="reference internal" href="#module">Module</a></li>
<li><a class="reference internal" href="#plugin">Plugin</a></li>
<li><a class="reference internal" href="#binding">Binding</a></li>
<li><a class="reference internal" href="#configuration">Configuration</a></li>
<li><a class="reference internal" href="#command-line">Command-line</a></li>
</ul>
</li>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="build.html"
title="previous chapter">Getting the Source Code</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="style-guide.html"
title="next chapter">Style Guide for Documentation</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/base/contributing-docs.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="horizontal layout content">
<a class="fade-in" href="https://www.gempa.de" target="_blank">
<img class="brand" src="../_static/brands/gempa.svg"/>
</a>
<div class="stretched align-center fitted content">
<div>
Version <b>7.0.0</b> Development
</div>
<div class="copyright">
Copyright &copy; gempa GmbH, GFZ Potsdam.
</div>
</div>
<a class="fade-in" href="https://www.gfz-potsdam.de" target="_blank">
<img class="brand" src="../_static/brands/gfz.svg"/>
</a>
</div>
</div>
</div>
</body>
</html>