-- XSD schema extracted from ITU-T Q.818 (05/2012)

<?xml version="1.0" encoding="UTF-8"?> <!-- XML Schema Definition for data types to be used in Notification Service specified in this Recommendation. Filename : q818_NotificationService.xsd --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:x782="http://www.itu.int/xml-namespace/itu-t/x.782" xmlns:nts="http://www.itu.int/xml-namespace/itu-t/q.818/NotificationService" targetNamespace="http://www.itu.int/xml-namespace/itu-t/q.818/NotificationService" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <xsd:import namespace="http://www.itu.int/xml-namespace/itu-t/x.782" schemaLocation="x782.xsd"/> <xsd:complexType name="FilterType"> <xsd:sequence> <xsd:element name="language" type="xsd:string"/> <xsd:any minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="EndpointReferenceType" mixed="false"> <xsd:sequence> <xsd:element name="address" type="nts:AttributedURIType"/> <xsd:element name="referenceParameters" type="nts:ReferenceParametersType" minOccurs="0"/> <xsd:element name="metadata" type="nts:MetadataType" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> <xsd:complexType name="AttributedURIType" mixed="false"> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="ReferenceParametersType" mixed="false"> <xsd:sequence> <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> <xsd:complexType name="MetadataType" mixed="false"> <xsd:sequence> <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> <xsd:simpleType name="StatusType"> <xsd:restriction base="xsd:boolean"/> </xsd:simpleType> <xsd:simpleType name="IdType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <xsd:complexType name="IdSetType"> <xsd:sequence> <xsd:element name="id" type="nts:IdType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="SubscriptionStatusType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="locked"/> <xsd:enumeration value="unlocked"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="SubscribeRequestType"> <xsd:sequence> <xsd:element name="managerId" type="nts:IdType"/> <xsd:element name="notificationTypes" type="nts:NotificationTypeListType"/> <xsd:element name="filteringCriteria" type="nts:FilterType" minOccurs="0"/> <xsd:element name="destination" type="nts:EndpointReferenceType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SubscribeResponseType"> <xsd:sequence> <xsd:element name="subscriptionId" type="nts:IdType"/> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="UnsubscribeRequestType"> <xsd:sequence> <xsd:element name="managerId" type="nts:IdType"/> <xsd:element name="subscriptionId" type="nts:IdType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="UnsubscribeResponseType"> <xsd:sequence> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SuspendSubscriptionRequestType"> <xsd:sequence> <xsd:element name="managerId" type="nts:IdType"/> <xsd:element name="subscriptionId" type="nts:IdType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SuspendSubscriptionResponseType"> <xsd:sequence> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ResumeSubscriptionRequestType"> <xsd:sequence> <xsd:element name="managerId" type="nts:IdType"/> <xsd:element name="subscriptionId" type="nts:IdType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ResumeSubscriptionResponseType"> <xsd:sequence> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="GetNotificationTypesRequestType"> <xsd:sequence> <xsd:element name="notificationIRPId" type="x782:NameType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="GetNotificationTypesResponseType"> <xsd:sequence> <xsd:element name="notificationTypeList" type="nts:NotificationTypeListType"/> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="QuerySubscriptionRequestType"> <xsd:sequence> <xsd:element name="subscriptionId" type="nts:IdType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="QuerySubscriptionResponseType"> <xsd:sequence> <xsd:element name="notificationTypeList" type="nts:NotificationTypeListType"/> <xsd:element name="subscriptionStatus" type="nts:SubscriptionStatusType"/> <xsd:element name="filteringCriteria" type="nts:FilterType"/> <xsd:element name="destination" type="nts:EndpointReferenceType"/> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ModifySubscriptionRequestType"> <xsd:sequence> <xsd:element name="subscriptionId" type="xsd:string"/> <xsd:element name="filteringCriteria" type="nts:FilterType" minOccurs="0"/> <xsd:element name="destination" type="nts:EndpointReferenceType" minOccurs="0"/> <xsd:element name="notificationTypes" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ModifySubscriptionResponseType"> <xsd:sequence> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ListAllSubscriptionIdsRequestType"> <xsd:sequence> <xsd:element name="managerId" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ListAllSubscriptionIdsResponseType"> <xsd:sequence> <xsd:element name="subscriptionIdSet" type="nts:IdSetType"/> <xsd:element name="status" type="nts:StatusType"/> </xsd:sequence> </xsd:complexType> <!-- The following provides the XML Schema definitions for the common notifications contents defined in clause 8.3.1.2 and 8.3.1.3 of this Recommendation. The common data types referenced in this Annex is from [ITU-T X.782]. --> <xsd:simpleType name="NotificationTypeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="objectCreation"/> <xsd:enumeration value="objectDeletion"/> <xsd:enumeration value="attributeValueChange"/> <xsd:enumeration value="stateChange"/> <xsd:enumeration value="communicationsAlarm"/> <xsd:enumeration value="environmentalAlarm"/> <xsd:enumeration value="equipmentAlarm"/> <xsd:enumeration value="processingErrorAlarm"/> <xsd:enumeration value="qualityOfServiceAlarm"/> <xsd:enumeration value="integrityViolation"/> <xsd:enumeration value="operationalViolation"/> <xsd:enumeration value="physicalViolation"/> <xsd:enumeration value="securityViolation"/> <xsd:enumeration value="timeDomainViolation"/> <xsd:enumeration value="relationshipChange"/> <xsd:enumeration value="heartbeat"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="NotificationTypeListType"> <xsd:sequence> <xsd:element name="notificationType" type="nts:NotificationTypeType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <!-- The following is the common notification header content definition --> <xsd:complexType name="CommonNotificationHeaderType"> <xsd:sequence> <xsd:element name="objectClass" type="xsd:string"/> <xsd:element name="objectInstance" type="x782:NameType"/> <xsd:element name="notificationID" type="x782:NotificationIDType"/> <xsd:element name="eventTime" type="xsd:dateTime"/> <xsd:element name="systemDN" type="x782:NameType"/> <xsd:element name="notificationType" type="nts:NotificationTypeType"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for objectCreation and objectDeletion--> <xsd:complexType name="ObjectCreationDeletionNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="sourceIndicator" type="x782:SourceIndicatorType" minOccurs="0" maxOccurs="1"/> <xsd:element name="attributeList" type="x782:AttributeNameAndValueType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for stateChange --> <xsd:complexType name="StateChangeNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="sourceIndicator" type="x782:SourceIndicatorType" minOccurs="0" maxOccurs="1"/> <xsd:element name="stateChanges" type="x782:AttributeChangeSetType"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for attributeValueChange --> <xsd:complexType name="AttributeValueChangeNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="sourceIndicator" type="x782:SourceIndicatorType" minOccurs="0" maxOccurs="1"/> <xsd:element name="attributeChanges" type="x782:AttributeChangeSetType"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for "communicationAlarm", "environmentalAlarm", "equipmentAlarm", "processingErrorAlarm", "qualityOfServiceAlarm" --> <xsd:complexType name="AlarmNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="probableCause" type="x782:ProbableCauseType"/> <xsd:element name="specificProblems" type="x782:SpecificProblemSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="perceivedSeverity" type="x782:PerceivedSeverityType"/> <xsd:element name="backedUpStatus" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> <xsd:element name="backedUpObject" type="x782:NameType" minOccurs="0" maxOccurs="1"/> <xsd:element name="trendIndication" type="x782:TrendIndicationType" minOccurs="0" maxOccurs="1"/> <xsd:element name="thresholdInfo" type="x782:ThresholdInfoType" minOccurs="0" maxOccurs="1"/> <xsd:element name="stateChangeDefinition" type="x782:AttributeChangeSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="monitoredAttributes" type="x782:AttributeNameAndValueType" minOccurs="0" maxOccurs="1"/> <xsd:element name="proposedRepairActions" type="x782:ProposedRepairActionSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="alarmEffectOnService" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> <xsd:element name="alarmingResumed" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> <xsd:element name="suspectObjectList" type="x782:SuspectObjectSetType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for "integrityViolation", "operationalViolation", "physicalViolation", "securityViolation", "timeDomainViolation" --> <xsd:complexType name="ViolationNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="securityAlarmCause" type="x782:SecurityAlarmCauseType"/> <xsd:element name="securityAlarmSeverity" type="x782:PerceivedSeverityType"/> <xsd:element name="securityAlarmDetector" type="x782:SecurityAlarmDetectorType" minOccurs="0" maxOccurs="1"/> <xsd:element name="serviceUser" type="x782:ServiceUserType" minOccurs="0" maxOccurs="1"/> <xsd:element name="serviceProvider" type="x782:ServiceProviderType" minOccurs="0" maxOccurs="1"/> <xsd:element name="thresholdInfo" type="x782:ThresholdInfoType" minOccurs="0" maxOccurs="1"/> <xsd:element name="stateChangeDefinition" type="x782:AttributeChangeSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="monitoredAttributes" type="x782:AttributeNameAndValueType" minOccurs="0" maxOccurs="1"/> <xsd:element name="proposedRepairActions" type="x782:ProposedRepairActionSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="alarmEffectOnService" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> <xsd:element name="alarmingResumed" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> <xsd:element name="suspectObjectList" type="x782:SuspectObjectSetType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for "relationshipChange" --> <xsd:complexType name="RelationshipChangeNotificationType"> <xsd:sequence> <xsd:element name="notificationHeader" type="nts:CommonNotificationHeaderType"/> <xsd:element name="correlatedNotifications" type="x782:CorrelatedNotificationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalText" type="x782:AdditionalTextType" minOccurs="0" maxOccurs="1"/> <xsd:element name="additionalInfo" type="x782:AdditionalInformationSetType" minOccurs="0" maxOccurs="1"/> <xsd:element name="sourceIndicator" type="x782:SourceIndicatorType" minOccurs="0" maxOccurs="1"/> <xsd:element name="RelationshipChanges" type="x782:AttributeChangeSetType"/> </xsd:sequence> </xsd:complexType> <!-- The following is the notification content definition for "heartbeat" --> <xsd:complexType name="HeartbeatNotificationType"> <xsd:sequence> <xsd:element name="systemLabel" type="xsd:string"/> <xsd:element name="period" type="xsd:unsignedLong"/> <xsd:element name="timeStamp" type="xsd:dateTime"/> </xsd:sequence> </xsd:complexType> </xsd:schema>