8. QoS policies XML schema — RMI User Guide

### Navigation

- index
- next |
- previous |
- RMI User Guide »

# 8. QoS policies XML schema

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

### Navigation

- index
- next |
- previous |
- RMI User Guide »