7.0.0

# scxmldump

Dump objects from database or messaging to XML.

## Description

scxmldump reads SeisComP objects from database or messaging and writes them in SeisComP XML (SCML) to stdout or into a file (`-o`).

- Dumping from a SeisComP database supports various objects:

  - Availability,

  - Config (bindings parameters),

  - Event parameters,

  - Inventory,

  - Journal,

  - Routing.

- Dumping from a SeisComP messaging (`--listen`) considers only event parameters.

Note

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

- Furthermore any object carrying a publicID can be retrieved from the database including its hierarchie or not. See PublicObjects.

### Event parameters

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

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

Hint

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

### PublicObjects

The option `--public-id` defines a list of publicIDs to be retrieved from the database. As the data model is extendable via plugins and custom code, scxmldump cannot know all of those object types and how to retrieve them from the database. If a publicID belongs to a type for which the code resides in another library or plugin, then scxmldump must load this plugin or library in order to find the correct database tables. For example, if a strong motion object should be dumped, then the plugin dmsm must be loaded into scxmldump.

    scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456

This command would only export the StrongMotionOrigin itself without all child objects. Option `--with-childs` must be passed to export the full hierarchy:

    scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456 --with-childs

If the extension code resides in a library then LD_PRELOAD can be used to inject the code into scxmldump:

    LD_PRELOAD=/home/sysop/seiscomp/lib/libseiscomp_datamodel_sm.so scxmldump -d localhost --public-id StrongMotionOrigin/123456 --with-childs

### Format conversion

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

### Examples

- Dump inventory

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

- Dump config (bindings parameters)

      scxmldump -d localhost -fC -o config.xml

- Dump full event data including the relevant journal entries

      scxmldump -d localhost -fPAMFJ -E test2012abcd -o test2012abcd.xml

- Dump full event data. Event IDs are provided by scevtls and received from stdin

      scevtls -d localhost --begin 2025-01-01 |\
      scxmldump -d localhost -fPAMF -E - -o events.xml

- Dump summary event data

      scxmldump -d localhost -fap -E test2012abcd -o test2012abcd.xml

- Create bulletin from an event using scbulletin

      scxmldump -d localhost -fPAMF -E test2012abcd | scbulletin

- Copy event parameters to another database

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

- Dump the entire journal:

      scxmldump -d localhost -fJ -o journal.xml

- Dump events received from messaging on local computer:

      scxmldump -H localhost/production --listen

## Module Configuration

`etc/defaults/global.cfg`
`etc/defaults/scxmldump.cfg`
`etc/global.cfg`
`etc/scxmldump.cfg`
`~/.seiscomp/global.cfg`
`~/.seiscomp/scxmldump.cfg`

scxmldump inherits global options.

## Command-Line Options

scxmldump [options]

### Generic

-h, --help

  Show help message.

-V, --version

  Show version information.

--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.

--plugins arg

  Load given plugins.

-D, --daemon

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

--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).

--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.

--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

--verbosity arg

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

-v, --v

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

-q, --quiet

  Quiet mode: no logging output.

--component arg

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

-s, --syslog

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

-l, --lockfile arg

  Path to lock file.

--console arg

  Send log output to stdout.

--debug

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

--log-file arg

  Use alternative log file.

### Messaging

-u, --user arg

  Overrides configuration parameter `connection.username`.

-H, --host arg

  Overrides configuration parameter `connection.server`.

-t, --timeout arg

  Overrides configuration parameter `connection.timeout`.

-g, --primary-group arg

  Overrides configuration parameter `connection.primaryGroup`.

-S, --subscribe-group arg

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

--content-type arg

  Overrides configuration parameter `connection.contentType`.

  Default: `binary`

--start-stop-msg arg

  Default: `0`

  Set sending of a start and a stop message.

### Database

--db-driver-list

  List all supported database drivers.

-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".

--config-module arg

  The config module to use.

--inventory-db arg

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

--config-db arg

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

### Dump

-I, --inventory

  Dump the inventory.

--without-station-groups

  Remove all station groups from inventory.

--stations sta-list

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

-C, --config

  Dump the configuration (bindings).

-J, --journal

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

-R, --routing

  Dump the routing.

-Y, --availability

  Dump data availability information.

--with-segments

  Dump individual data segments. Requires "--availability".

--listen

  Listen to the message server for incoming events. Otherwise scxmldump reads from database.

-E, --event ID

  Event public ID(s) to dump. Multiple events may be specified as a comma-separated list. Use "-" for reading the IDs as individual lines from stdin.

-O, --origin ID

  Origin public ID(s) to dump. Multiple origins may be specified as a comma-separated list. Use "-" for reading the IDs as individual lines from stdin

-P, --with-picks

  Add picks associated to origins.

-A, --with-amplitudes

  Add amplitudes associated to magnitudes.

-M, --with-magnitudes

  Add station magnitudes associated to origins.

-F, --with-focal-mechanism

  Add focal mechanisms associated to events.

-a, --ignore-arrivals

  Do not dump arrivals of origins.

--ignore-magnitudes

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

-p, --preferred-only

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

-m, --all-magnitudes

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

--pick ID

  ID(s) of pick(s) to dump. Use ‘-’ to read the IDs as individual lines from stdin.

--public-id ID

  ID(s) of any object(s) to dump. Use ‘-’ to read the IDs as individual lines from stdin. No parent objects are dumped.

--with-childs

  Dump also all child objects of dumped objects. Valid only in combination with --public-id.

--with-root

  Whether to add the container of exported PublicObjects or not. Objects which are not a direct child of EventParameters, Inventory and so on, also referred to as top-level objects, will not be exported. Valid in combination with --public-id.

### Output

-f, --formatted

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

-o, --output

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

--prepend-datasize

  Prepend a line with the length of the XML data.