¶
17.7.6. WS-RM Schema
<xsd:schema targetNamespace="http://schemas.xmlsoap.org/ws/2003/03/rm" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2003/03/rm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- *** BASE *** --> <xsd:complexType name="SequenceType"> <xsd:sequence> <xsd:element ref="wsu:Identifier"/> <xsd:element name="MessageNumber" type="xsd:unsignedLong"/> <xsd:element name="LastMessage" type="xsd:ENTITY" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SequenceTerminate_t"> <xsd:sequence> <xsd:element ref="wsu:Identifier"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AcknowledgmentRange_t"> <xsd:sequence/> <xsd:attribute name="Upper" type="xsd:unsignedLong" use="required"/> <xsd:attribute name="Lower" type="xsd:unsignedLong" use="required"/> </xsd:complexType> <xsd:complexType name="SequenceAcknowledgment_t"> <xsd:sequence> <xsd:element ref="wsu:Identifier"/> <xsd:element name="AcknowledgmentRange" type="wsrm:AcknowledgmentRange_t" maxOccurs="unbounded"> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AckRequestedType"> <xsd:sequence> <xsd:element ref="wsu:Identifier"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Sequence" type="wsrm:SequenceType"/> <xsd:element name="SequenceTerminate" type="wsrm:SequenceTerminate_t"/> <xsd:element name="SequenceAcknowledgment" type="wsrm:SequenceAcknowledgment_t" /> <xsd:element name="AckRequested" type="wsrm:AckRequestedType"/> <!-- *** FAULTS *** --> <xsd:simpleType name="FaultCodes"> <xsd:restriction base="xsd:QName"> <xsd:enumeration value="wsrm:UnknownSequence"/> <xsd:enumeration value="wsrm:SequenceTerminated"/> <xsd:enumeration value="wsrm:InvalidAcknowledgment"/> <xsd:enumeration value="wsrm:MessageNumberRollover"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="SequenceFaultType"> <xsd:sequence> <xsd:element ref="wsu:Identifier"/> <xsd:element name="FaultCode" type="wsrm:FaultCodes"/> </xsd:sequence> </xsd:complexType> <xsd:element name="SequenceFault" type="wsrm:SequenceFaultType"/> <!-- *** ASSERTIONS *** --> <xsd:complexType name="InactivityTimeout_t"> <xsd:sequence/> <xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/> </xsd:complexType> <xsd:complexType name="BaseRetransmissionInterval_t"> <xsd:sequence/> <xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/> </xsd:complexType> <xsd:complexType name="AcknowledgmentInterval_t"> <xsd:sequence/> <xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/> </xsd:complexType> <xsd:complexType name="PolicyAssertionType"> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute namespace="##other"/> </xsd:complexType> <xsd:simpleType name="DeliveryAssuranceEnum"> <xsd:restriction base="xsd:QName"> <xsd:enumeration value="wsrm:AtMostOnce"/> <xsd:enumeration value="wsrm:AtLeastOnce"/> <xsd:enumeration value="wsrm:ExactlyOnce"/> <xsd:enumeration value="wsrm:InOrder"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="DeliveryAssurance_t"> <xsd:sequence/> <xsd:attribute name="Value" type="xsd:QName" use="required"/> </xsd:complexType> <xsd:element name="InactivityTimeout" type="wsrm:InactivityTimeout_t" /> <xsd:element name="BaseRetransmissionInterval" type="wsrm:BaseRetransmissionInterval_t" /> <xsd:element name="ExponentialBackoff" type="wsrm:PolicyAssertionType"/> <xsd:element name="AcknowledgmentInterval" type="wsrm:AcknowledgmentInterval_t"/> <xsd:element name="DeliveryAssurance" type="wsrm:DeliveryAssurance_t"/> <!-- *** Sequence Reference *** --> <xsd:complexType name="SequenceRefType"> <xsd:sequence /> <xsd:attribute name="Identifier" type="xsd:anyURI" use="required"/> <xsd:attribute name="Match" type="wsrm:MatchChoiceType" use="optional"/> </xsd:complexType> <xsd:simpleType name="MatchChoiceType"> <xsd:restriction base="xsd:QName"> <xsd:enumeration value="wsrm:Exact"/> <xsd:enumeration value="wsrm:Prefix"/> </xsd:restriction> </xsd:simpleType> <xsd:element name="SequenceRef" type="wsrm:SequenceRefType"/> </xsd:schema>