- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten - svcTabCommon: Export-Header-Fix via Fallback-Target - TrainingAreaBase: Stub-Header für BUILD_RTI=OFF - ddsfts: Include-Pfad und Dependency-Fixes - BUILD_RTI=OFF Compilation vollständig unterstützt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
790 lines
33 KiB
XML
790 lines
33 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
(c) Copyright, Real-Time Innovations, 2009-2016.
|
|
All rights reserved.
|
|
No duplications, whole or partial, manual or electronic, may be made
|
|
without express written permission. Any such copies, or
|
|
revisions thereof, must display this notice unaltered.
|
|
This code contains trade secrets of Real-Time Innovations, Inc.
|
|
-->
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- RTI Converter XML Schema File -->
|
|
<!-- =================================================================== -->
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified">
|
|
|
|
<xs:include schemaLocation="definitions/rti_recorder_common_definitions.xsd" />
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Storage Settings -->
|
|
<!-- ================================================================== -->
|
|
|
|
<!-- Tags for the integrated CSV storage plugin in storageUtilsLib -->
|
|
|
|
<xs:complexType name="seqSizeLimitSettings">
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element name="field_name_expr"
|
|
minOccurs="1"
|
|
maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Regular expression to match field names of unbounded
|
|
sequences.
|
|
The expression represents a pattern using the POSIX®
|
|
fnmatch syntax.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="max_size"
|
|
type="xs:nonNegativeInteger"
|
|
use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Maximum number of elements to print for each matched
|
|
field.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="outputCsvSettings">
|
|
<xs:all>
|
|
<xs:element name="workspace_dir"
|
|
type="xs:string"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
This value indicates the absolute or relative path to
|
|
where the converted topic data file(s) are placed.
|
|
Default: current working directory of the executable.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="file_basename"
|
|
type="xs:string"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Prefix for the name of the generated file(s). The
|
|
file generated for each topic has the following name:
|
|
[file_basename]-[topic_name].
|
|
If merge_files is true, then the final file name is
|
|
equal to [file_basename].
|
|
Default: csv_converted
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="merge_files"
|
|
type="xs:boolean"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Specifies whether the generated files shall be
|
|
consolidated into a single file.
|
|
Default: true
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="default_member_value"
|
|
type="xs:string"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Sets the value used for data members that are not
|
|
present or empty e.g. optional members or bounded
|
|
sequences where all members may not be populated.
|
|
Default: nil
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="enum_as_string"
|
|
type="xs:boolean"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Indicates whether values for enumeration members
|
|
defined in IDL are printed as their corresponding
|
|
label string or as an integer.
|
|
Default: true
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="include_source_timestamp"
|
|
type="xs:boolean"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Indicates whether the source timestamp shall be
|
|
included in the output file.
|
|
Default: false
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="unbounded_seq_size_limits"
|
|
type="seqSizeLimitSettings"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Defines a collection of regular expressions to match
|
|
field names associated with unbounded sequences and the
|
|
maximum number of elements to print for each matched
|
|
field.
|
|
Fields that are not unbounded sequences are not
|
|
affected even if they match the expressions.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="outputSqliteSettings">
|
|
<xs:sequence>
|
|
<xs:element name="storage_format"
|
|
minOccurs="0"
|
|
type="sqliteStorageFormatKind" />
|
|
<xs:choice>
|
|
<xs:element name="fileset"
|
|
type="complexSqliteSettings" />
|
|
<xs:sequence>
|
|
<xs:element name="file"
|
|
type="xs:string"
|
|
minOccurs="0" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The output file should be in a different
|
|
directory than the input's.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="file_suffix"
|
|
type="xs:string"
|
|
minOccurs="0" />
|
|
</xs:sequence>
|
|
</xs:choice>
|
|
<xs:element name="overwrite_policy_kind"
|
|
minOccurs="0"
|
|
type="overwritePolicyKind" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Defines what to do when database files are already
|
|
present in the current Converter execution directory.
|
|
There are two options:
|
|
- OVERWRITE: delete old files and replace them with
|
|
newly created ones.
|
|
- DO_NOT_TOUCH: do not delete any old files and just
|
|
exit.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:element name="sql_initialization_string"
|
|
minOccurs="0"
|
|
type="xs:string" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Allows configuring a SQLite SQL expression to use when
|
|
establishing sqlite output connections using this
|
|
plugin.
|
|
Default:
|
|
PRAGMA SYNCHRONOUS = OFF; PRAGMA JOURNAL_MODE = MEMORY;
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="rolloverSettings">
|
|
<xs:all>
|
|
<xs:element name="file_size_limit"
|
|
type="dataSize"
|
|
minOccurs="0" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The maximum allowed size (orientative) for a file in a
|
|
set.
|
|
Converter only accepts limiting the files by size, and
|
|
not by time (which may seem obvious) like Recorder also
|
|
offers.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="complexSqliteSettings">
|
|
<xs:all>
|
|
<xs:element name="workspace_dir"
|
|
type="xs:string" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The workspace directory for Converter. This field is
|
|
mandatory and has to be different than the input's
|
|
<database_dir> directory.
|
|
If left empty, the current directory will be used.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="filename_expression"
|
|
type="xs:string"
|
|
minOccurs="0" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The file name Converter will use for the generated user
|
|
data file(s).
|
|
This setting accepts text and any combination of the
|
|
following parameters in it:
|
|
- autonumeric. Format: %auto:M%. This parameter
|
|
describes an integer that auto-increments every
|
|
time recorder is started. In order words, an
|
|
unlimited sequence of numbers starting at M.
|
|
- timestamp. Format: %ts%. This parameter will take
|
|
the current timestamp in the system (the time
|
|
represented as number of seconds since Epoch).
|
|
- time. Format: %T%. Current time expressed in ISO
|
|
8601 time format (THHMMSS). Example: T145502.
|
|
This parameter uses the strftime() parameter %T.
|
|
- short date. Format: %F%. Short date in YYYY-MM-DD
|
|
format. Example: 2001-08-23.
|
|
This parameter uses the strftime() parameter %F.
|
|
Note: this parameter will not vary in 24 hours, so
|
|
use with caution when in combination with the
|
|
file size feature.
|
|
- date and time. Format: %c%. Date and time
|
|
representation, locale-dependent.
|
|
This parameter is based on the strftime() parameter %c
|
|
but we use the time expressed in ISO 8601
|
|
format (THHMMSS).
|
|
Example: Thu Aug 23 T145502 2001
|
|
Note: Converter one-shots all data in the old file(s)
|
|
out into the new file(s). This means that files can get
|
|
pretty big, pretty quickly. Thus, time-based parameters
|
|
(with minimum resolution of a second) have to be used
|
|
taking that into account, as well as the file size
|
|
limit. If no maximum file size is specified then none of
|
|
this will be a problem, as there will only be a single
|
|
output file.
|
|
Default: rti_recorder_default_%auto:0%.db (auto-numeric
|
|
starting at zero, unlimited).
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="rollover"
|
|
type="rolloverSettings"
|
|
minOccurs="0" />
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="inputSqliteSettings">
|
|
<xs:all>
|
|
<xs:element name="storage_format"
|
|
minOccurs="0"
|
|
type="sqliteStorageFormatKind" />
|
|
<xs:element name="database_dir"
|
|
type="xs:string" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The directory where to look for a recorded database.
|
|
The directory must contain a valid metadata file, as
|
|
well as a discovery file and one or many user data
|
|
files.
|
|
This field is optional and when not included, the
|
|
current directory will be used.
|
|
Default: the current directory.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<xs:element name="sql_initialization_string"
|
|
minOccurs="0"
|
|
type="xs:string" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Allows configuring a SQLite SQL expression to use when
|
|
establishing sqlite input connections using this
|
|
plugin.
|
|
Default:
|
|
PRAGMA SYNCHRONOUS = OFF; PRAGMA JOURNAL_MODE = MEMORY;
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="domainMapType">
|
|
<xs:attribute name="legacy_domain_name" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Name of the recorded domain name as specified in the old
|
|
Recorder domain tag, example:
|
|
<domain name="domain0">.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="domain_id" type="xs:unsignedInt" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The domain ID to link the legacy domain name with.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="legacyDomainMapping">
|
|
<xs:sequence>
|
|
<xs:element name="domain_map"
|
|
type="domainMapType"
|
|
minOccurs="1"
|
|
maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
A link between a recorded legacy domain name and a
|
|
domain participant defined below.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="converterLegacySettings">
|
|
<xs:all>
|
|
<xs:element name="file_path"
|
|
type="xs:string"
|
|
minOccurs="0" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Path to the legacy format recorded file. File set and
|
|
version properties will be obtained automatically from
|
|
the file itself.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="domain_mapping"
|
|
type="legacyDomainMapping"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Latest versions of the old Recorder database allowed the
|
|
usage of field filters. This means that by default, the
|
|
domain ID field was not recorded (it was filtered out by
|
|
default). Thus, there is no information available in the
|
|
database to relate the domain name used to record the
|
|
data with the domain ID we're supplying in this
|
|
configuration. This tag allows the user to link legacy
|
|
domain names with domain participants defined below.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
|
|
<xs:complexType name="inputStorageSettings">
|
|
<xs:sequence>
|
|
<xs:choice minOccurs="0">
|
|
<xs:element name="sqlite"
|
|
type="inputSqliteSettings"/>
|
|
<xs:element name="legacy"
|
|
type="converterLegacySettings"/>
|
|
<xs:element name="plugin"
|
|
type="storagePlugin"/>
|
|
</xs:choice>
|
|
<xs:element minOccurs="0"
|
|
name="max_samples_per_read"
|
|
type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
When defined, this value specifies the maximum number of
|
|
samples to be returned by the read() operation.
|
|
When the recorded tables contain huge amounts of samples
|
|
this setting can help improve the responsiveness of
|
|
Converter, because the tool won't - for each table -
|
|
attempt to get all samples at once.
|
|
If not specified, the default value is 1024 samples.
|
|
If a negative value means unlimited number of samples.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="outputStorageSettings">
|
|
<xs:sequence>
|
|
<xs:choice minOccurs="0">
|
|
<xs:element name="sqlite"
|
|
type="outputSqliteSettings"/>
|
|
<xs:element name="plugin"
|
|
type="storagePlugin"/>
|
|
<xs:element name="csv"
|
|
type="outputCsvSettings"/>
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Domain selection configuration -->
|
|
<!-- =================================================================== -->
|
|
|
|
<xs:complexType name="domainSelection">
|
|
<xs:sequence>
|
|
<xs:element name="domain_id"
|
|
type="xs:nonNegativeInteger" />
|
|
<xs:element name="register_type"
|
|
type="registerType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
Local registration of types is allowed.
|
|
This is useful when the types being converted were not
|
|
published via DDS discovery.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="entityNameAttrGroup">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
Participant name
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attributeGroup>
|
|
</xs:complexType>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Topic selection configuration -->
|
|
<!-- =================================================================== -->
|
|
<xs:complexType name="converterTopicGroup">
|
|
<xs:all>
|
|
<!-- Select topics/types -->
|
|
<xs:element name="allow_topic_name_filter"
|
|
minOccurs="0"
|
|
type="nameFilterList">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
A regular expression describing which Topics should be
|
|
converted. Topics with names that match this filter are
|
|
allowed to be converted, unless they do not pass other
|
|
additional filters.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="deny_topic_name_filter"
|
|
minOccurs="0"
|
|
type="nameFilterList">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
A regular expression describing which Topics should not
|
|
be converted. This is applied after the allow filter.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
<xs:attribute name="participant_ref"
|
|
type="elementReference">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The name of the Domain ID (as defined in the
|
|
<domain_participant> tag) to use when converting this data.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attributeGroup ref="entityNameAttrGroup">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
Topic group name
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attributeGroup>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="converterTopic">
|
|
<xs:sequence>
|
|
<!-- DDS topic name -->
|
|
<xs:element name="topic_name"
|
|
type="xs:string"
|
|
minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
When defined, this represents the name of the DDS topic
|
|
to be converted. If not present, that name is taken from
|
|
the name attribute of the parent <topic> tag.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- Type associated with the topic -->
|
|
<xs:element name="registered_type_name"
|
|
type="xs:string"/>
|
|
<!-- Data manipulation -->
|
|
<xs:element name="transformation"
|
|
type="transformation"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="participant_ref"
|
|
type="elementReference">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The DomainParticipant (and domain) to use when converting
|
|
this data.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attributeGroup ref="entityNameAttrGroup">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
Name of this Converter topic description. If the
|
|
<topic_name> tag is not present, this will also be the name
|
|
of the DDS topic to be converted.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attributeGroup>
|
|
</xs:complexType>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Replay Session Types -->
|
|
<!-- ================================================================== -->
|
|
<xs:complexType name="converterSession">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The session that will be used to convert data. The session
|
|
is associated with threads that convert the data and with a set
|
|
of Topics to convert.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:sequence>
|
|
<xs:element name="thread_pool"
|
|
type="threadPoolSettings"
|
|
minOccurs="0" />
|
|
<xs:choice maxOccurs="unbounded">
|
|
<xs:element name="topic_group"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"
|
|
type="converterTopicGroup" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Group of Topics to convert
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="topic"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"
|
|
type="converterTopic" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Single Topic to convert
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="default_participant_ref"
|
|
type="elementReference" >
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
The name of the default Domain ID (as defined in the
|
|
<domain_participant> tag) to use when converting this data.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attributeGroup ref="entityNameAttrGroup">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en-US">
|
|
<![CDATA[
|
|
Session name
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attributeGroup>
|
|
</xs:complexType>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Converter configuration -->
|
|
<!-- =================================================================== -->
|
|
<xs:complexType name="Converter">
|
|
<xs:sequence>
|
|
<!-- Input config -->
|
|
<xs:element name="input_storage"
|
|
minOccurs="1"
|
|
maxOccurs="1"
|
|
type="inputStorageSettings"/>
|
|
<!-- Output config -->
|
|
<xs:element name="output_storage"
|
|
minOccurs="1"
|
|
maxOccurs="1"
|
|
type="outputStorageSettings"/>
|
|
<!-- Data selection -->
|
|
<xs:element name="data_selection"
|
|
minOccurs="0"
|
|
type="dataSelection"/>
|
|
<!-- Domain selection -->
|
|
<xs:element name="domain_participant"
|
|
maxOccurs="unbounded"
|
|
type="domainSelection"/>
|
|
<!-- Session -->
|
|
<xs:element name="session"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"
|
|
type="converterSession"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="entityNameAttrGroup"/>
|
|
<xs:attribute name="verbosity" type="xs:integer"/>
|
|
</xs:complexType>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Root Element -->
|
|
<!-- =================================================================== -->
|
|
<xs:element name="dds">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Configuration of RTI Converter.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<!-- User Env -->
|
|
<xs:element name="configuration_variables"
|
|
type="KeyValuePairSeq">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Defines a set of default values for user variables.
|
|
The values specified in this section can be overridden
|
|
by command-line arguments, Library API, or
|
|
environment variables.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- Type definitions -->
|
|
<xs:element name="types">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Type definitions that can be used by Converter
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:group ref="moduleElements"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Storage plugins -->
|
|
<xs:element name="plugin_library"
|
|
type="recorderPluginLibrary">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Specifies a library of storage plugins.
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
<!-- Converter Configuration -->
|
|
<xs:element name="converter"
|
|
type="Converter">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<![CDATA[
|
|
Specifies a named Converter instance
|
|
]]>
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:schema>
|