blob: d20e984ec4f2d0f485247f0cff9ef56de15267ff [file] [log] [blame]
<xs:schema targetNamespace="http://www.w3.org/2011/03/ws-evt" xmlns:tns="http://www.w3.org/2011/03/ws-evt" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2006/03/addressing/ws-addr.xsd"/>
<!-- Types and global elements -->
<xs:complexType name="DeliveryType" mixed="true">
<xs:sequence>
<xs:element ref="tns:NotifyTo" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="FormatType" mixed="true">
<xs:sequence>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:anyURI" use="optional" default="http://www.w3.org/2011/03/ws-evt/DeliveryFormats/Unwrap"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:simpleType name="NonNegativeDurationType">
<xs:restriction base="xs:duration">
<xs:minInclusive value="P0Y0M0DT0H0M0S"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DurationDateTime">
<xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType"/>
</xs:simpleType>
<xs:complexType name="MiniExpirationType">
<xs:simpleContent>
<xs:extension base="tns:DurationDateTime">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ExpirationType">
<xs:simpleContent>
<xs:extension base="tns:MiniExpirationType">
<xs:attribute name="BestEffort" type="xs:boolean" use="optional"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="FilterType" mixed="true">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Dialect" type="xs:anyURI" use="optional" default="http://www.w3.org/2011/03/ws-evt/Dialects/XPath10"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="LanguageSpecificStringType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="NotifyTo" type="wsa:EndpointReferenceType"/>
<xs:complexType name="NotificationPolicy">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- Subscribe request -->
<xs:element name="Subscribe">
<xs:complexType>
<xs:sequence>
<xs:element name="EndTo" type="wsa:EndpointReferenceType" minOccurs="0"/>
<xs:element name="Delivery" type="tns:DeliveryType"/>
<xs:element name="Format" type="tns:FormatType" minOccurs="0"/>
<xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
<xs:element name="Filter" type="tns:FilterType" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- Subscribe response -->
<xs:element name="SubscribeResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="SubscriptionManager" type="wsa:EndpointReferenceType"/>
<xs:element name="GrantedExpires" type="tns:MiniExpirationType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- Used in a fault if there's an unsupported dialect -->
<xs:element name="SupportedDialect" type="xs:anyURI"/>
<!-- Used in a fault if there's an unsupported format name -->
<xs:element name="SupportedDeliveryFormat" type="xs:anyURI"/>
<!-- Renew request -->
<xs:element name="Renew">
<xs:complexType>
<xs:sequence>
<xs:element name="Expires" type="tns:ExpirationType" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- Renew response -->
<xs:element name="RenewResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="GrantedExpires" type="tns:MiniExpirationType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- GetStatus request -->
<xs:element name="GetStatus">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- GetStatus response -->
<xs:element name="GetStatusResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="GrantedExpires" type="tns:MiniExpirationType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- Unsubscribe request -->
<xs:element name="Unsubscribe">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- Unsubscribe response -->
<xs:element name="UnsubscribeResponse">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<!-- SubscriptionEnd message -->
<xs:element name="SubscriptionEnd">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="tns:OpenSubscriptionEndCodeType"/>
<xs:element name="Reason" type="tns:LanguageSpecificStringType" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="SubscriptionEndCodeType">
<xs:restriction base="xs:anyURI">
<xs:enumeration value="http://www.w3.org/2011/03/ws-evt/DeliveryFailure"/>
<xs:enumeration value="http://www.w3.org/2011/03/ws-evt/SourceShuttingDown"/>
<xs:enumeration value="http://www.w3.org/2011/03/ws-evt/SourceCancelling"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OpenSubscriptionEndCodeType">
<xs:union memberTypes="tns:SubscriptionEndCodeType xs:anyURI"/>
</xs:simpleType>
<!-- RetryAfter Fault Detail Element -->
<xs:element name="RetryAfter" type="tns:RetryAfterType"/>
<xs:complexType name="RetryAfterType">
<xs:simpleContent>
<xs:extension base="xs:nonNegativeInteger">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Wrapped Events -->
<xs:complexType name="EventType" mixed="true">
<xs:sequence>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="actionURI" type="xs:anyURI" use="optional"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="Notify" type="tns:EventType"/>
<!-- Policy -->
<xs:complexType name="Duration">
<xs:simpleContent>
<xs:extension base="tns:NonNegativeDurationType">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="URI">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Empty">
<xs:sequence/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="EventSource">
<xs:complexType>
<xs:sequence>
<xs:element name="FilterDialect" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="URI" type="xs:anyURI" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element name="FormatName" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="URI" type="xs:anyURI" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element name="DateTimeSupported" type="tns:Empty" minOccurs="0"/>
<xs:element name="Expires" minOccurs="0">
<xs:complexType>
<xs:attribute name="min" type="xs:duration" use="optional"/>
<xs:attribute name="max" type="xs:duration" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="EndToSupported" type="tns:Empty" minOccurs="0"/>
<xs:element name="NotificationPolicy" type="tns:NotificationPolicy" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element name="SubscriptionManager">
<xs:complexType>
<xs:sequence>
<xs:element name="DateTimeSupported" type="tns:Empty" minOccurs="0"/>
<xs:element name="Expires" minOccurs="0">
<xs:complexType>
<xs:attribute name="min" type="xs:duration" use="optional"/>
<xs:attribute name="max" type="xs:duration" use="optional"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
</xs:schema>