<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.omg.org/dds/"
xmlns="http://www.omg.org/dds/"
elementFormDefault="qualified">
<xsd:element name="dcps">
<xsd:complexType>
<xsd:all>
<xsd:element ref="domain" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="domain">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="topic" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="topic">
<xsd:complexType>
<xsd:all>
<xsd:element ref="keylist" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="topic_qos" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="idltype" type="xsd:string" use="required"/>
<xsd:attribute name="idlfile" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="keylist">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="keyMember" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="keyMember" type="xsd:string"/>
<xsd:element name="topic_qos">
<xsd:complexType>
<xsd:all>
<xsd:element ref="topicDataQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="deadlineQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="durabilityQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="durabilityServiceQosPolicy" minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="latencyBudgetQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="livelinessQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="reliabilityQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="destinationOrderQosPolicy" minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="historyQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="resourceLimitsQosPolicy" minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="transportPriorityQosPolicy" minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="lifespanQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="ownershipQosPolicy" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="timeBasedFilterQosPolicy" minOccurs="0"
maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="deadlineQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="timeBasedFilterQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="topicDataQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element name="value" type="xsd:base64Binary" minOccurs="1"
maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="duration">
<xsd:complexType>
<xsd:all>
<xsd:element name="sec" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="nanosec" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="durabilityQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="durabilityKind" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="durabilityKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VOLATILE_DURABILITY_QOS"/>
<xsd:enumeration value="TRANSIENT_LOCAL_DURABILITY_QOS"/>
<xsd:enumeration value="TRANSIENT_DURABILITY_QOS"/>
<xsd:enumeration value="PERSISTENT_DURABILITY_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="durabilityServiceQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="historyKind" minOccurs="1" maxOccurs="1"/>
<xsd:element name="history_depth" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="max_samples" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="max_instances" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="max_samples_per_instance"
type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="historyKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="KEEP_LAST_HISTORY_QOS"/>
<xsd:enumeration value="KEEP_ALL_HISTORY_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="latencyBudgetQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="livelinessQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="livelinessKind" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="reliabilityQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="reliabilityKind" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="reliabilityKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BEST_EFFORT_RELIABILITY_QOS"/>
<xsd:enumeration value="RELIABLE_RELIABILITY_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="destinationOrderQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="destinationOrderKind" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="destinationOrderKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS"/>
<xsd:enumeration value="BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="livelinessKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="AUTOMATIC_LIVELINESS_QOS"/>
<xsd:enumeration value="MANUAL_BY_PARTICIPANT_LIVELINESS_QOS"/>
<xsd:enumeration value="MANUAL_BY_TOPIC_LIVELINESS_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="historyQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="historyKind" minOccurs="1" maxOccurs="1"/>
<xsd:element name="depth" type="xsd:positiveInteger" default="1"
minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="resourceLimitsQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element name="max_samples" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="max_instances" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="max_samples_per_instance"
type="xsd:positiveInteger" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="initial_samples" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="initial_instances" type="xsd:positiveInteger"
minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="transportPriorityQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element name="value" type="xsd:nonNegativeInteger"
minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="lifespanQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="duration" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="ownershipQosPolicy">
<xsd:complexType>
<xsd:all>
<xsd:element ref="ownershipKind" minOccurs="1" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="ownershipKind">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SHARED_OWNERSHIP_QOS"/>
<xsd:enumeration value="EXCLUSIVE_OWNERSHIP_QOS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>