<?xml version="1.0" encoding="UTF-8"?>
<!-- XML Schema Definition for common data types to be used in this framework.
	Filename : x782.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
   xmlns:x782="http://www.itu.int/xml-namespace/itu-t/x.782" 
   targetNamespace="http://www.itu.int/xml-namespace/itu-t/x.782" 
   elementFormDefault="qualified" 
   attributeFormDefault="unqualified"
   version="1.0">

<xsd:simpleType name="RDNType">
   <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:complexType name="NameType">
   <xsd:sequence>
      <xsd:element name="rdn" type="x782:RDNType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="NameSetType">
   <xsd:sequence>
      <xsd:element name="dn" type="x782:NameType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="UIDType">
   <xsd:sequence>
      <!-- uri indicates the namespace where the constant is defined. -->
      <xsd:element name="uri" type="xsd:string"/>
      <!-- value indicates the constant value for this item in the above namespace. -->
      <xsd:element name="value" type="xsd:unsignedLong"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="UIDSetType">
   <xsd:sequence>
      <xsd:element name="uid" type="x782:UIDType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="MOClassListType">
   <xsd:sequence>
      <xsd:element name="moClass" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="AdministrativeStateType">   
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="locked"/>
      <xsd:enumeration value="unlocked"/>
      <xsd:enumeration value="suttingDown"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="OperationalStateType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="disabled"/>
      <xsd:enumeration value="enabled"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="AvailabilityStatusType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="inTest"/>
      <xsd:enumeration value="failed"/>
      <xsd:enumeration value="powerOff"/>
      <xsd:enumeration value="offLine"/>
      <xsd:enumeration value="offDuty"/>
      <xsd:enumeration value="dependency"/>
      <xsd:enumeration value="degraded"/>
      <xsd:enumeration value="notInstalled"/>
      <xsd:enumeration value="logFull"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="AvailabilityStatusSetType">
   <xsd:sequence>
      <xsd:element name="availableState" type="x782:AvailabilityStatusType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="BackedUpStatusType">
   <xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
<xsd:simpleType name="ControlStatusType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="subjectToTest"/>
      <xsd:enumeration value="partOfServicesLocked"/>
      <xsd:enumeration value="reservedForTest"/>
      <xsd:enumeration value="suspended"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="ControlStatusSetType">
   <xsd:sequence>
      <xsd:element name="controlState" type="x782:ControlStatusType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="ExternalTimeType">
   <xsd:restriction base="xsd:dateTime"/>
</xsd:simpleType>

<xsd:simpleType name="ObjectClassType">
   <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:simpleType name="ProceduralStatusType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="initializationRequired"/>
      <xsd:enumeration value="notInitialized"/>
      <xsd:enumeration value="initializing"/>
      <xsd:enumeration value="reporting"/>
      <xsd:enumeration value="terminating"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="ProceduralStatusSetType">
   <xsd:sequence>
      <xsd:element name="proceduralState" type="x782:ProceduralStatusType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="SourceIndicatorType">   
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="resourceOperation"/>
      <xsd:enumeration value="managementOperation"/>
      <xsd:enumeration value="unknown"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="StandbyStatusType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="hotStandby"/>
      <xsd:enumeration value="coldStandby"/>
      <xsd:enumeration value="providingService"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="StringSetType">
   <xsd:sequence>
      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="SystemLabelType">
   <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:simpleType name="UsageStateType">   
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="idle"/>
      <xsd:enumeration value="active"/>
      <xsd:enumeration value="busy"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="UnknownStatusType">
   <xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>

<xsd:complexType name="AttributeValueType">
   <xsd:sequence>
      <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AttributeNameAndValueType">
   <xsd:sequence>
      <xsd:element name="attributeName" type="xsd:string"/>
      <xsd:element name="attributeType" type="xsd:string"/>
      <xsd:element name="attributeValue" type="x782:AttributeValueType"/>
   </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AttributeNameAndValueSetType">
   <xsd:sequence>
      <xsd:element name="attributeNameAndValue" type="x782:AttributeNameAndValueType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="AdditionalTextType">   
   <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:complexType name="AnyValueType">
   <xsd:sequence>
      <xsd:element name="typeURI" type="xsd:string"/>
      <xsd:element name="value" type="x782:AttributeValueType"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AdditionalInformationSetType">
   <xsd:sequence>
      <xsd:element name="additionalInfo" type="x782:AnyValueType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>
	
<xsd:simpleType name="NotificationIDType">   
   <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:complexType name="NotificationIDSetType">
   <xsd:sequence>
      <xsd:element name="source" type="x782:NameType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="CorrelatedNotificationType">
   <xsd:sequence>
      <xsd:element name="source" type="x782:NameType"/>
      <xsd:element name="notifIDs" type="x782:NotificationIDSetType"/>
   </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CorrelatedNotificationSetType">
   <xsd:sequence>
      <xsd:element name="notifications" type="x782:CorrelatedNotificationType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType><xsd:complexType name="AttributeChangeType">
   <xsd:sequence>
      <xsd:element name="attribugteName" type="xsd:string"/>
      <xsd:element name="attributeTypeURI" type="xsd:string"/>
      <xsd:element name="oldValue" type="x782:AttributeValueType"/>
      <xsd:element name="newValue" type="x782:AttributeValueType"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AttributeChangeSetType">
   <xsd:sequence>
      <xsd:element name="attributeChange" type="x782:AttributeChangeType" minOccurs="1" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ProbableCauseType">
   <xsd:complexContent>
	   <xsd:extension base="x782:UIDType"/>
   	</xsd:complexContent>
</xsd:complexType>

<xsd:simpleType name="PerceivedSeverityType">   
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="indeterminate"/>
      <xsd:enumeration value="critical"/>
      <xsd:enumeration value="major"/>
      <xsd:enumeration value="minor"/>
      <xsd:enumeration value="warning"/>
      <xsd:enumeration value="cleared"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="TrendIndicationType">   
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="lessSevere"/>
      <xsd:enumeration value="noChange"/>
      <xsd:enumeration value="moreSevere"/>
   </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ThresholdIndicationType">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="up"/>
      <xsd:enumeration value="down"/>
   </xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ThresholdLevelIndType">
   <xsd:sequence>
      <xsd:element name="indication" type="x782:ThresholdIndicationType"/>
      <!-- observed value -->
      <xsd:element name="low" type="xsd:float" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="high" type="xsd:float"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ThresholdInfoType">
   <xsd:sequence>
      <xsd:element name="attributeID" type="xsd:string"/>
      <xsd:element name="observedValue" type="xsd:float"/>
      <xsd:element name="thresholdLevel" type="x782:ThresholdLevelIndType"/>
      <xsd:element name="armTime" type="xsd:dateTime"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ProposedRepairActionSetType">
   <xsd:complexContent>
      <xsd:extension base="x782:UIDType"/>
   </xsd:complexContent>
</xsd:complexType>

<xsd:complexType name="SuspectObjectType">
   <xsd:sequence>
      <xsd:element name="moClass" type="xsd:string"/>
      <xsd:element name="suspectedMOInstance" type="x782:NameType"/>
      <xsd:element name="failureProbability" type="xsd:unsignedShort" minOccurs="0" maxOccurs="1"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="SuspectObjectSetType">
   <xsd:sequence>
      <xsd:element name="suspectedMO" type="x782:SuspectObjectSetType" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="SecurityAlarmCauseType">
   <xsd:complexContent>
      <xsd:extension base="x782:UIDType"/>
   </xsd:complexContent>
</xsd:complexType>

<xsd:complexType name="SecurityAlarmDetectorType">
   <xsd:sequence>
      <xsd:element name="mechanism" type="x782:UIDType"/>
      <xsd:element name="obj" type="x782:NameType"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ServiceUserType">
   <xsd:sequence>
      <xsd:element name="typeURI" type="xsd:string"/>
      <xsd:element name="value" type="x782:AttributeValueType"/>
   </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ServiceProviderType">
   <xsd:sequence>
      <xsd:element name="typeURI" type="xsd:string"/>
      <xsd:element name="value" type="x782:AttributeValueType"/>
   </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SpecificProblemSetType">
   <xsd:complexContent>
      <xsd:extension base="x782:UIDSetType"/>
   </xsd:complexContent>
</xsd:complexType>
 
<!-- XML Schema Definition for generic Managed Object -->
<xsd:complexType name="ManagedObject_C">
   <xsd:sequence>
      <xsd:element name="objectClass" type="xsd:string"/>
      <xsd:element name="objectInstance" type="x782:NameType"/>
      <xsd:element name="packages" type="x782:StringSetType"/>
      <xsd:element name="creationSource" type="x782:SourceIndicatorType"/>
   </xsd:sequence>
</xsd:complexType>
</xsd:schema>