.. highlight:: rst

.. _scxmldump:

#########
scxmldump
#########

**Dump database objects to XML files.**


Description
===========

scxmldump reads various parameters from a SeisComP database:

* Availability,
* Config (bindings parameters),
* Event parameters,
* Inventory,
* Journal,
* Routing.

The parameters are sent to stdout or written into an XML (:term:`SCML`) file.

.. note::

   Waveform quality control (QC) parameters can be read from databases using
   :ref:`scqcquery`.


Event parameters
----------------

To get event, origin or pick information from the database without using SQL
commands is an important task for the user. :ref:`scxmldump` queries the
database and transforms that information into XML. Events and origins can be
treated further by :ref:`scbulletin` for generating bulletins or conversion
into KML.

Many processing modules, e.g., :ref:`scevent` support the on-demand processing
of dumped event parameters by the command-line option :option:`--ep`.
Importing event parameters into another database is possible with :ref:`scdb`
and sending to a SeisComP messaging is provided by :ref:`scdispatch`.

.. hint::

   Events, origins and picks are referred to by their public IDs. IDs of events
   and origins can be provided by :ref:`scevtls` and :ref:`scorgls`,
   respectively. Event, origin and pick IDs can also be read from graphical
   tools like :ref:`scolv` or used database queries assisted by :ref:`scquery`.


Format conversion
-----------------

Conversion of :term:`SCML` into other formats is supported by :ref:`sccnv`.
An XSD schema of the XML output can be found under
:file:`$SEISCOMP_ROOT/share/xml/`.


Examples
--------

Dump inventory

.. code-block:: sh

   scxmldump -fI -o inventory.xml -d mysql://sysop:sysop@localhost/seiscomp

Dump config (bindings parameters)

.. code-block:: sh

   scxmldump -fC -o config.xml -d mysql://sysop:sysop@localhost/seiscomp

Dump full event data incl. the relevant journal entries

.. code-block:: sh

   scxmldump -fPAMFJ -E test2012abcd -o test2012abcd.xml \
             -d mysql://sysop:sysop@localhost/seiscomp


Dump summary event data

.. code-block:: sh

   scxmldump -fap -E test2012abcd -o test2012abcd.xml \
             -d mysql://sysop:sysop@localhost/seiscomp


Create bulletin from an event

.. code-block:: sh

   scxmldump -fPAMF -E test2012abcd
             -d mysql://sysop:sysop@localhost/seiscomp | \
   scbulletin


Copy event parameters to another database

.. code-block:: sh

   scxmldump -fPAMF -E test2012abcd \
             -d mysql://sysop:sysop@localhost/seiscomp | \
   scdb -i - -d mysql://sysop:sysop@archive-db/seiscomp


Export the entire journal:

.. code-block:: sh

   scxmldump -fJ -o journal.xml \
             -d mysql://sysop:sysop@localhost/seiscomp


.. _scxmldump_configuration:

Module Configuration
====================

| :file:`etc/defaults/global.cfg`
| :file:`etc/defaults/scxmldump.cfg`
| :file:`etc/global.cfg`
| :file:`etc/scxmldump.cfg`
| :file:`~/.seiscomp/global.cfg`
| :file:`~/.seiscomp/scxmldump.cfg`

scxmldump inherits :ref:`global options<global-configuration>`.




Command-Line Options
====================

.. program:: scxmldump

:program:`scxmldump [options]`


Generic
-------

.. option:: -h, --help

   Show help message.

.. option:: -V, --version

   Show version information.

.. option:: --config-file arg

   Use alternative configuration file. When this option is
   used the loading of all stages is disabled. Only the
   given configuration file is parsed and used. To use
   another name for the configuration create a symbolic
   link of the application or copy it. Example:
   scautopick \-> scautopick2.

.. option:: --plugins arg

   Load given plugins.

.. option:: -D, --daemon

   Run as daemon. This means the application will fork itself
   and doesn't need to be started with \&.

.. option:: --auto-shutdown arg

   Enable\/disable self\-shutdown because a master module shutdown.
   This only works when messaging is enabled and the master
   module sends a shutdown message \(enabled with \-\-start\-stop\-msg
   for the master module\).

.. option:: --shutdown-master-module arg

   Set the name of the master\-module used for auto\-shutdown.
   This is the application name of the module actually
   started. If symlinks are used, then it is the name of
   the symlinked application.

.. option:: --shutdown-master-username arg

   Set the name of the master\-username of the messaging
   used for auto\-shutdown. If \"shutdown\-master\-module\" is
   given as well, this parameter is ignored.


Verbosity
---------

.. option:: --verbosity arg

   Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
   4:debug.

.. option:: -v, --v

   Increase verbosity level \(may be repeated, eg. \-vv\).

.. option:: -q, --quiet

   Quiet mode: no logging output.

.. option:: --component arg

   Limit the logging to a certain component. This option can
   be given more than once.

.. option:: -s, --syslog

   Use syslog logging backend. The output usually goes to
   \/var\/lib\/messages.

.. option:: -l, --lockfile arg

   Path to lock file.

.. option:: --console arg

   Send log output to stdout.

.. option:: --debug

   Execute in debug mode.
   Equivalent to \-\-verbosity\=4 \-\-console\=1 .

.. option:: --log-file arg

   Use alternative log file.


Messaging
---------

.. option:: -u, --user arg

   Overrides configuration parameter :confval:`connection.username`.

.. option:: -H, --host arg

   Overrides configuration parameter :confval:`connection.server`.

.. option:: -t, --timeout arg

   Overrides configuration parameter :confval:`connection.timeout`.

.. option:: -g, --primary-group arg

   Overrides configuration parameter :confval:`connection.primaryGroup`.

.. option:: -S, --subscribe-group arg

   A group to subscribe to.
   This option can be given more than once.

.. option:: --content-type arg

   Overrides configuration parameter :confval:`connection.contentType`.

.. option:: --start-stop-msg arg

   Set sending of a start and a stop message.


Database
--------

.. option:: --db-driver-list

   List all supported database drivers.

.. option:: -d, --database arg

   The database connection string, format:
   service:\/\/user:pwd\@host\/database.
   \"service\" is the name of the database driver which
   can be queried with \"\-\-db\-driver\-list\".

.. option:: --config-module arg

   The config module to use.

.. option:: --inventory-db arg

   Load the inventory from the given database or file, format:
   [service:\/\/]location .

.. option:: --config-db arg

   Load the configuration from the given database or file,
   format: [service:\/\/]location .


Dump
----

.. option:: --listen

   Enable server mode which listens to the message server for
   incoming events and dumps each received add\/update.

.. option:: -I, --inventory

   Dump the inventory.

.. option:: --without-station-groups

   Remove all station groups from inventory.

.. option:: --stations sta-list

   If inventory is exported, filter the stations to export.
   Wildcards are supported. Format of each item: net[.{sta\|\*}].

.. option:: -C, --config

   Dump the configuration \(bindings\).

.. option:: -J, --journal

   Dump the journal. In combination with \-E only corresponding
   journal entries are included.

.. option:: -R, --routing

   Dump the routing.

.. option:: -Y, --availability

   Dump data availability information.

.. option:: --with-segments

   Dump individual data segments.

.. option:: --pick ID

   Pick public ID\(s\) to dump. Multiple IDs may be specified
   as a comma\-separated list.

.. option:: -O, --origin ID

   Origin public ID\(s\) to dump. Multiple origins may be specified
   as a comma\-separated list.

.. option:: -E, --event ID

   Event public ID\(s\) to dump. Multiple events may be specified
   as a comma\-separated list.

.. option:: -P, --with-picks

   Add picks associated to origins.

.. option:: -A, --with-amplitudes

   Add amplitudes associated to magnitudes.

.. option:: -M, --with-magnitudes

   Add station magnitudes associated to origins.

.. option:: -F, --with-focal-mechanism

   Add focal mechanisms associated to events.

.. option:: -a, --ignore-arrivals

   Do not dump arrivals part of origins.

.. option:: --ignore-magnitudes

   Do not export \(network\) magnitudes of origins. This
   option is most useful in combination with \-O to only
   export the location information.

.. option:: -p, --preferred-only

   When exporting events only the preferred origin, the preferred
   magnitude and the preferred focal mechanism will be dumped.

.. option:: -m, --all-magnitudes

   If only the preferred origin is exported, all magnitudes for
   this origin will be dumped.


Output
------

.. option:: -f, --formatted

   Use formatted XML output. Otherwise all XML is printed
   on one line.

.. option:: -o, --output

   Name of output file. If not given, output is sent to
   stdout.

.. option:: --prepend-datasize

   Prepend a line with the length of the XML data.

