Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/resource/schema/rti_replay_service.xsd
T
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- 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
2026-08-21 19:30:20 +02:00

896 lines
36 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- =================================================================== -->
<!-- RTI Replay XML Schema File -->
<!-- =================================================================== -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!--xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd" /-->
<xs:include schemaLocation="definitions/rti_recorder_common_definitions.xsd" />
<!-- ================================================================== -->
<!-- Replay Topic and Topic Group Types -->
<!-- ================================================================== -->
<xs:complexType name="entityId">
<xs:choice>
<xs:element name="entity_guid" type="stringGuid"/>
<xs:element name="entity_name" type="entityName"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="replayDataWriter">
<xs:choice minOccurs="0">
<xs:element name="original_identity"
type="entityId"/>
<xs:sequence>
<xs:element name="enable_original_sample_info_publication"
type="xs:boolean"/>
<xs:choice>
<xs:element name="writer_qos"
type="dataWriterQosProfileChild"/>
<xs:element name="original_writer_qos"
type="entityId"/>
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:complexType>
<!-- =================================================================== -->
<xs:complexType name="replayTopicGroup">
<xs:all>
<xs:element name="publish_with_original_info"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Writes the data sample as if it came from its original
writer.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="publish_with_original_timestamp"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
When this tag is true, the data samples read from the
input stream are written into the output stream with
the same timestamp that was associated with them when
they were made available in the input domain.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- 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
replayed. Topics with names that match this filter are
allowed to be replayed, unless they do not pass the
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 replayed. This is applied after the allow filter.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="allow_type_name_filter"
minOccurs="0"
type="nameFilterList">
<xs:annotation>
<xs:documentation>
<![CDATA[
A regular expression describing a set of type names
registered in the DDS domains. Topics with data types
that match this filter are allowed to be replayed.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="deny_type_name_filter"
minOccurs="0"
type="nameFilterList">
<xs:annotation>
<xs:documentation>
<![CDATA[
A regular expression describing a set of type names
registerd in the DDS domains to be filtered out.
Topics with data types that match this regex are not
allowed to be replayed. This is applied after the
allow_type_name_filter.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Wait for acknowledgment -->
<xs:element name="on_delete_wait_for_ack_timeout"
type="duration"
minOccurs="0"/>
<!-- Outputs -->
<xs:element name="datawriter_qos"
type="dataWriterQosProfileChild"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Allows you to specify the QoS for all DataWriters
created when replaying Topics that match the
topic and type name filters.
If this is not specified, by default the service will
use the first QoS recorded for a DataWriter of each
Topic
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!--xs:element name="enable_original_sample_info_publication"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Publishes data samples with original info such as
original virtual GUID, sequence number, etc.
]]>
</xs:documentation>
</xs:annotation>
</xs:element-->
</xs:all>
<xs:attribute name="participant_ref"
type="elementReference">
<xs:annotation>
<xs:documentation>
<![CDATA[
The DomainParticipant (and domain) to use when replaying
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="replayTopic">
<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 replayed. 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"/>
<xs:element name="publish_with_original_info"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Writes the data sample as if it came from its original
writer.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="publish_with_original_timestamp"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
When this tag is true, the data samples read from the
input stream are written into the output stream with
the same timestamp that was associated with them when
they were made available in the input domain.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Wait for acknowledgment -->
<xs:element name="on_delete_wait_for_ack_timeout"
type="duration"
minOccurs="0"/>
<!-- Data manipulation -->
<xs:element name="transformation"
type="transformation"
minOccurs="0"/>
<!-- Outputs -->
<xs:element name="datawriter_qos"
type="dataWriterQosProfileChild"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Allows you to specify the QoS for the DataWriter
created when replaying this Topic
If this is not specified, by default the service will
use the first QoS recorded for the DataWriter of this
Topic
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!--xs:element name="enable_original_sample_info_publication"
type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>
<![CDATA[
Publishes data samples with original info such as
original virtual GUID, sequence number, etc.
]]>
</xs:documentation>
</xs:annotation>
</xs:element-->
</xs:sequence>
<xs:attribute name="participant_ref"
type="elementReference">
<xs:annotation>
<xs:documentation>
<![CDATA[
The DomainParticipant (and domain) to use when replaying
this data.
]]>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="entityNameAttrGroup">
<xs:annotation>
<xs:documentation xml:lang="en-US">
<![CDATA[
Name of this Replay topic description. If the <topic_name>
tag is not present, this will also be the name of the DDS
topic to be replayed.
]]>
</xs:documentation>
</xs:annotation>
</xs:attributeGroup>
</xs:complexType>
<xs:complexType name="replayStream">
<xs:sequence>
<xs:element name="stream_name"
type="xs:string"
minOccurs="0"/>
<xs:element name="registered_type_name"
type="xs:string"/>
<xs:element name="wait_for_stream_match"
type="xs:boolean"
minOccurs="0"/>
<xs:element name="property"
type="property"
minOccurs="0"/>
<xs:element name="transformation"
type="transformation"
minOccurs="0" />
</xs:sequence>
<xs:attributeGroup ref="entityNameAttrGroup">
<xs:annotation>
<xs:documentation xml:lang="en-US">
<![CDATA[
Name of this Replay Stream description. If the <stream_name>
tag is not present, this will also be the name of the Stream
to be recorded.
]]>
</xs:documentation>
</xs:annotation>
</xs:attributeGroup>
<xs:attribute name="connection_ref"
type="elementReference"
use="required"/>
</xs:complexType>
<!-- ================================================================== -->
<!-- Replay Session Types -->
<!-- ================================================================== -->
<xs:complexType name="replaySession">
<xs:annotation>
<xs:documentation>
<![CDATA[
The session that will be used to replay data. The session
is associated with threads that replay the data, a publisher,
a set of Topics to replay, and a set of DataWriters used to
replay.
]]>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="publisher_qos"
minOccurs="0"
type="publisherQosProfileChild" />
<xs:element name="thread_pool"
type="threadPoolSettings"
minOccurs="0" />
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:element name="topic_group"
minOccurs="0"
maxOccurs="unbounded"
type="replayTopicGroup" >
<xs:annotation>
<xs:documentation>
<![CDATA[
Group of Topics to replay
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="topic"
minOccurs="0"
maxOccurs="unbounded"
type="replayTopic" >
<xs:annotation>
<xs:documentation>
<![CDATA[
Single Topic to replay
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!--
Internal use only: currently this capability is not available
for users since it's not complete. Future versions may
enable it as experimental and or fully supported. If you
have questions, contact support@rti.com.
<xs:element name="stream"
maxOccurs="unbounded"
type="replayStream">
<xs:annotation>
<xs:documentation>
<![CDATA[
Single Stream to replay (INTERNAL USE ONLY)
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
-->
</xs:choice>
</xs:sequence>
<xs:attribute name="default_participant_ref"
type="elementReference" >
<xs:annotation>
<xs:documentation>
<![CDATA[
The default DomainParticipant (and domain) to use when
replaying this data.
]]>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="entityNameAttrGroup">
<xs:annotation>
<xs:documentation xml:lang="en-US">
<![CDATA[
Participant reference name
]]>
</xs:documentation>
</xs:annotation>
</xs:attributeGroup>
</xs:complexType>
<!-- =================================================================== -->
<!-- Top-level DDS config inside a replay instance -->
<!-- =================================================================== -->
<xs:complexType name="replaySqliteSettings">
<xs:all>
<xs:element name="storage_format"
type="sqliteStorageFormatKind"
minOccurs="0" >
<xs:annotation>
<xs:documentation>
<![CDATA[
The storage format of the user data files found in the
database directory. If not specified, CDR is assumed.
Default: CDR
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="database_dir"
type="xs:string"
minOccurs="0" >
<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 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="participant_ref" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
<![CDATA[
The name of a domain participant specified below using a
<domain_participant> tag.
]]>
</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="replayLegacySettings">
<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="replayStorageSettings">
<xs:choice minOccurs="0">
<xs:element name="legacy"
type="replayLegacySettings"/>
<xs:element name="sqlite"
type="replaySqliteSettings"/>
<xs:element name="plugin"
type="storagePlugin"/>
</xs:choice>
</xs:complexType>
<!-- Playback settings -->
<xs:complexType name="fidelitySettings">
<xs:sequence>
<xs:element name="sampling_period"
minOccurs="0"
type="duration"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="localTime">
<xs:annotation>
<xs:documentation>
<![CDATA[
The local time at which Replay should start replaying data. This
time is defined in hour/minute/second format, and it's scoped
only within the current date (today). Any hour/minute/second
combination less or equal than the current time will be
considered to be in the past and thus Replay will start
immediately.
]]>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="hour"
type="dateTimeHour"/>
<xs:element name="minute"
type="dateTimeMinuteOrSec" />
<xs:element name="second"
type="dateTimeMinuteOrSec" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="breakpointType">
<xs:simpleContent>
<xs:extension base="xs:nonNegativeInteger">
<xs:attribute name="label" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="breakpointList">
<xs:sequence>
<xs:element name="element"
minOccurs="0"
maxOccurs="unbounded"
type="breakpointType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="debugModeSettings">
<xs:annotation>
<xs:documentation>
<![CDATA[
The settings for how this replay service will debug,
including the slice period or the list of initial breakpoints.
]]>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="enabled"
minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
<![CDATA[
When set to 'true', Replay will start in debug mode
Default: false.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="slice_period"
minOccurs="0"
type="duration">
<xs:annotation>
<xs:documentation>
<![CDATA[
The period of time that will represent a slice of the
replay on debug mode. When Replay receives a slice remote
command operation it will only continue the replay
for this period of time.
Default: 1 second.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="initial_breakpoints"
minOccurs="0"
type="breakpointList">
<xs:annotation>
<xs:documentation>
<![CDATA[
List of breakpoints to be set at the start of the Service.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InstanceHistoryType">
<xs:sequence>
<xs:element name="enabled"
minOccurs="0"
maxOccurs="1"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
<![CDATA[
Whether to enable or disable the feature. When enabled,
Replay will publish an initial value (or more, depending on
the depth setting) for every alive instance before the
specified start timestamp. After this startup publication,
Replay will start normal replay.
Default: false.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="playbackSettings">
<xs:annotation>
<xs:documentation>
<![CDATA[
The settings for how this replay service will play back,
including the replay fidelity (granularity of the sampling
period) or the local start time.
]]>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="fidelity"
minOccurs="0"
type="fidelitySettings" />
<xs:element name="rate"
minOccurs="0"
type="xs:double" />
<xs:element name="enable_looping"
minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
<![CDATA[
When set to 'true', Replay will never stop publishing
data but will loop continously, starting over at the
same start time and finishing at the same end time
specified using the 'data_selection' settings.
Default: false.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="debug_mode"
minOccurs="0"
type="debugModeSettings" />
<xs:element name="reverse_mode"
minOccurs="0"
type="xs:boolean" />
<xs:element name="sample_order"
minOccurs="0"
type="sampleOrderKind" />
<xs:element name="start_replay_local_time"
minOccurs="0"
type="localTime" />
<xs:element name="instance_history_replay"
minOccurs="0"
maxOccurs="1"
type="InstanceHistoryType">
<xs:annotation>
<xs:documentation>
<![CDATA[
This setting enables the Instance History Replay
feature. When this feature is enabled, Replay will
reconstruct the state of the world prior to the start
timestamp, for all keyed topics being replayed. Replay
will search for and publish the last value (or values,
depending on the depth) for any instances alive at that
point in time, before starting regular replay of
samples.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- =================================================================== -->
<!-- Replay Service configuration -->
<!-- =================================================================== -->
<xs:complexType name="replayService">
<xs:annotation>
<xs:documentation>
<![CDATA[
This contains the configuration for a Replay Service instance
]]>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="abstractService">
<xs:sequence>
<!-- Input config -->
<xs:element name="storage"
minOccurs="0"
type="replayStorageSettings"/>
<xs:element name="data_selection"
minOccurs="0"
type="dataSelection"/>
<!-- Runtime config -->
<xs:element name="playback"
minOccurs="0"
type="playbackSettings"/>
<!-- Output config -->
<xs:element name="domain_participant"
minOccurs="0"
maxOccurs="unbounded"
type="userParticipant"/>
<!-- <xs:element name="connection"
minOccurs="0"
maxOccurs="unbounded"
type="userConnection">
<xs:annotation>
<xs:documentation>
<![CDATA[
For internal use only.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>-->
<!-- Session -->
<xs:element name="session"
minOccurs="0"
maxOccurs="unbounded"
type="replaySession"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- =================================================================== -->
<!-- Root Element -->
<!-- =================================================================== -->
<xs:element name="dds">
<xs:annotation>
<xs:documentation>
<![CDATA[
Configuration of RTI Connext and RTI Replay Service.
]]>
</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[
Defines types that can be used by
RTI Replay Service
]]>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:group ref="moduleElements"/>
</xs:complexType>
</xs:element>
<!-- QoS definitions -->
<xs:element name="qos_library"
type="qosLibrary">
<xs:annotation>
<xs:documentation>
<![CDATA[
Specifies a QoS library and profiles. The
contents of this tag are specified in the same
manner as for an RTI Connext QoS profile file
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Transformation and Storage plugins -->
<xs:element name="plugin_library"
type="recorderPluginLibrary">
<xs:annotation>
<xs:documentation>
<![CDATA[
Specifies a library of transformation and
storage plugins.
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="replay_service"
type="replayService">
<xs:annotation>
<xs:documentation>
<![CDATA[
Specifies a named Replay Service instance
]]>
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>