<xs:schema targetNamespace="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" xmlns:mows-xs="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" xmlns:muws-xs2="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" xmlns:muws-xs1="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd"/>
<xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd"/>
<xs:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<!-- MOWS::ManageabilityReferences -->
<xs:element name="GetManageabilityReferences"/>
<xs:element name="GetManageabilityReferencesResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="muws-xs1:ManageabilityEndpointReference"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- MOWS::Identification -->
<xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>
<xs:element name="EndpointDescriptions">
<xs:complexType>
<xs:sequence>
<xs:element name="description" type="xs:anyURI"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:complexType name="EndpointIdentificationPropertiesType">
<xs:sequence>
<xs:element ref="mows-xs:EndpointReference"/>
<xs:element ref="mows-xs:EndpointDescriptions" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="EndpointIdentificationProperties"
type="mows-xs:EndpointIdentificationPropertiesType"/>
<!-- MOWS::Metrics -->
<xs:complexType name="IntegerCounter">
<xs:simpleContent>
<xs:extension base="xs:nonNegativeInteger">
<xs:attributeGroup ref="muws-xs2:MetricAttributes"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DurationMetric">
<xs:simpleContent>
<xs:extension base="xs:duration">
<xs:attributeGroup ref="muws-xs2:MetricAttributes"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="NumberOfRequests" type="mows-xs:IntegerCounter"/>
<xs:element name="NumberOfSuccessfulRequests" type="mows-xs:IntegerCounter"/>
<xs:element name="NumberOfFailedRequests" type="mows-xs:IntegerCounter"/>
<xs:element name="ServiceTime" type="mows-xs:DurationMetric"/>
<xs:element name="MaxResponseTime" type="mows-xs:DurationMetric"/>
<xs:element name="LastResponseTime" type="mows-xs:DurationMetric"/>
<xs:complexType name="EndpointMetricsPropertiesType">
<xs:sequence>
<xs:element ref="mows-xs:NumberOfRequests" minOccurs="0"/>
<xs:element ref="mows-xs:NumberOfFailedRequests" minOccurs="0"/>
<xs:element ref="mows-xs:NumberOfSuccessfulRequests"
minOccurs="0"/>
<xs:element ref="mows-xs:ServiceTime" minOccurs="0"/>
<xs:element ref="mows-xs:MaxResponseTime" minOccurs="0"/>
<xs:element ref="mows-xs:LastResponseTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="EndpointMetricsProperties"
type="mows-xs:EndpointMetricsPropertiesType"/>
<!-- MOWS::OperationalState -->
<xs:complexType name="OperationalStateType">
<xs:complexContent>
<xs:extension base="muws-xs2:StateType"/>
</xs:complexContent>
</xs:complexType>
<xs:element name="UpState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="IdleState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType">
<xs:sequence>
<xs:element ref="mows-xs:UpState"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="BusyState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType">
<xs:sequence>
<xs:element ref="mows-xs:UpState"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="DownState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="StoppedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType">
<xs:sequence>
<xs:element ref="mows-xs:DownState"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="CrashedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType">
<xs:sequence>
<xs:element ref="mows-xs:DownState"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="SaturatedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:OperationalStateType">
<xs:sequence>
<xs:element ref="mows-xs:DownState"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="CurrentOperationalState" type="mows-xs:OperationalStateType"/>
<xs:element name="LastOperationalStateTransition"
type="muws-xs2:StateTransitionType"/>
<xs:complexType name="EndpointOperationalStatePropertiesType">
<xs:sequence>
<xs:element ref="mows-xs:CurrentOperationalState"/>
<xs:element ref="mows-xs:LastOperationalStateTransition"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="EndpointOperationalStateProperties"
type="mows-xs:EndpointOperationalStatePropertiesType"/>
<!-- MOWS::RequestProcessingState -->
<xs:complexType name="RequestProcessingStateType">
<xs:complexContent>
<xs:extension base="muws-xs2:StateType"/>
</xs:complexContent>
</xs:complexType>
<xs:element name="RequestReceivedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:RequestProcessingStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="RequestProcessingState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:RequestProcessingStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="RequestCompletedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:RequestProcessingStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="RequestFailedState">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="mows-xs:RequestProcessingStateType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="MessageContentNotIncludedFlag"/>
<xs:simpleType name="MessageSizeUnitType">
<xs:restriction base="xs:string">
<xs:enumeration value="bit"/>
<xs:enumeration value="byte"/>
<xs:enumeration value="word"/>
<xs:enumeration value="dword"/>
<xs:enumeration value="qword"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MessageContentSizeType">
<xs:simpleContent>
<xs:extension base="xs:positiveInteger">
<xs:attribute name="Unit"
type="mows-xs:MessageSizeUnitType" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="MessageContentType">
<xs:sequence>
<xs:element name="Size"
type="mows-xs:MessageContentSizeType" minOccurs="0"/>
<xs:choice>
<xs:element name="NotIncluded"
type="mows-xs:MessageContentNotIncludedFlag"/>
<xs:element name="Text" type="xs:string"/>
<xs:element name="Binary" type="xs:base64Binary"/>
<xs:element name="Xml"
type="mows-xs:AnyXmlContentsType"/>
</xs:choice>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="AnyXmlContentsType">
<xs:sequence>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
<xs:complexType name="MessageInformationType">
<xs:sequence>
<xs:element name="TransportInformation"
type="mows-xs:AnyXmlContentsType" minOccurs="0"/>
<xs:element name="Message" type="mows-xs:MessageContentType"/>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
<xs:complexType name="RequestProcessingStateInformationType">
<xs:sequence>
<xs:element ref="muws-xs2:StateTransition" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="RequestProcessingNotification">
<xs:complexType>
<xs:sequence>
<xs:element name="Request"
type="mows-xs:MessageInformationType"
minOccurs="0"/>
<xs:element name="Reply"
type="mows-xs:MessageInformationType"
minOccurs="0"/>
<xs:element name="StateInformation"
type="mows-xs:RequestProcessingStateInformationType"/>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="CurrentTime" type="xs:dateTime" use="required"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="IPV4AddressType">
<xs:restriction base="xs:hexBinary">
<xs:length value="8" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="IPV4Address" type="mows-xs:IPV4AddressType"/>
<xs:simpleType name="IPV6AddressType">
<xs:restriction base="xs:hexBinary">
<xs:length value="32" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="IPV6Address" type="mows-xs:IPV6AddressType"/>
<xs:simpleType name="TcpIpDirectionType">
<xs:restriction base="xs:string">
<xs:enumeration value="to"/>
<xs:enumeration value="from"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TcpIpProtocolType">
<xs:restriction base="xs:string">
<xs:enumeration value="TCP"/>
<xs:enumeration value="UDP"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="TcpIpInfo">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="mows-xs:IPV4Address"/>
<xs:element ref="mows-xs:IPV6Address"/>
</xs:choice>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Direction" type="mows-xs:TcpIpDirectionType"
use="required"/>
<xs:attribute name="Port" type="xs:positiveInteger" use="required"/>
<xs:attribute name="Protocol" type="mows-xs:TcpIpProtocolType"
use="required"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:element>
</xs:schema>
|