XML Schema for IBM Common Base Event, V 2.0

Bibliographic reference: "Canonical Situation Data Format: The Common Base Event." By David Ogle (Autonomic Computing), Heather Kreger (Emerging Technologies), Abdi Salahshour (Autonomic Computing), Jason Cornpropst (Tivoli Event Management), Eric Labadie (WSAD PD Tooling), Mandy Chessell (Business Integration), Bill Horn (IBM Research - Yorktown), and John Gerken (Emerging Technologies). Submitted by Thomas Studwell to the OASIS Web Services Distributed Management TC. Wednesday, 10-September-2003. Reference: ACAB.BO0301.2.0 Update to Common Base Event document submitted to WS-DM TC on August 21, 2003. 72 pages. See the posting of October 14, 2003. "This document defines a common base event (CBE) that defines the structure of an event in a consistent and a common format. The purpose of the CBE is to facilitate effective intercommunication among disparate components that support logging, management, problem determination, autonomic computing and e-business functions in an enterprise. This document specifies a baseline that encapsulates properties common to a wide variety of events, including business, management, tracing and logging type events. The format of the event is first rendered in UML allowing the reader to better understand the structure of the CBE. In an appendix, the CBE is expressed as an XML document using UTF-8 or UTF-16 encoding. This document is prescriptive about the format and content of the data that is passed or retrieved from a component. However, it is not prescriptive about the ways in which how individual applications are to store their data locally. Therefore, the application requirement is only to be able to generate or render events in this format, not necessarily to store them in this format. The goal of this effort is to ensure the accuracy, improve the detail, and standardize the format of events to assist in designing robust, manageable and deterministic systems. Quality event data leads to accurate, deterministic and proper management of the enterprise. Poor fidelity can lead to misguided, potentially harmful or fatal results. The results of this effort is a specification for the 'Common Base Event' definition that serves as a new standard for events among enterprise management and business applications..." [canonical source .DOC, cache]



5.0 CommonBaseEvent XML schema

The following XML Schema is a document that describes
the element and the attribute declarations for the 
Common Base Event (CBE) data model.  This schema MUST
be used to verify that the event XML document is
valid according to the defined set of rules.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cbe="http://www.ibm.com/AC/commonbaseevent2_0" targetNamespace="http://www.ibm.com/AC/commonbaseevent2_0" version="2.0">
   <xsd:complexType name="CommonBaseEvent">      
      <xsd:sequence>
<xsd:element name="affectedComponentId" type="cbe:ComponentIdentification" minOccurs="1" maxOccurs="1" />
<xsd:element name="reporterComponentId" type="cbe:ComponentIdentification" minOccurs="0" maxOccurs="1" />
<xsd:element name="correlatorDataElements" type="cbe:CorrelatorDataElement" minOccurs="0" maxOccurs="unbounded" />
         <xsd:element name="situation" type="cbe:Situation" minOccurs="1" maxOccurs="1" />
         <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
      </xsd:sequence>
      <xsd:attribute name="globalInstanceId" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:ID">
               <xsd:minLength value="32"></xsd:minLength>
               <xsd:maxLength value="64"></xsd:maxLength>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="observerTime" type="xsd:dateTime" use="required" />
      <xsd:attribute name="extensionName" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="version" type="xsd:string" use="optional" />
   </xsd:complexType>
   <xsd:element name="CommonBaseEvent" type="cbe:CommonBaseEvent" />   
   <xsd:complexType name="Situation">
      <xsd:sequence>
         <xsd:element name="situationData" type="cbe:SituationData" minOccurs="1" maxOccurs="1" />
         <xsd:element name="situationType" type="cbe:SituationType" minOccurs="1" maxOccurs="1" />                  
      </xsd:sequence>
      <xsd:attribute name="reporterSeverity" type="cbe:SeverityType" use="optional" />
      <xsd:attribute name="reporterPriority" use="optional" type="cbe:PriorityType" />
      <xsd:attribute name="categoryName" type="cbe:CategoryNameType" use="required"/>      
   </xsd:complexType>   
   <xsd:complexType name="SituationData">
      <xsd:sequence>
<xsd:element name="extendedDataElements" type="cbe:ExtendedDataElementType" minOccurs="0" maxOccurs="unbounded" />         
<xsd:element name="msgDataElement" type="cbe:MsgDataElementType" minOccurs="0" maxOccurs="1" />      
      </xsd:sequence>
      <xsd:attribute name="localInstanceId" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="128" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="msg" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="1024" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="sequenceNumber" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:long">
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="9223372036854775807" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="repeatCount" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:short">
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="32767" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="elapsedTime" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:long">
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="9223372036854775807" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>      
   </xsd:complexType>
   <xsd:complexType name="SituationType" abstract="true">             
      <xsd:attribute name="reasoningScope" type="cbe:ReasoningScopeType" use="required"/>      
   </xsd:complexType>   
   <xsd:complexType name="StartSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType"> 
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />
<xsd:element name="situationQualifier" type="cbe:StartSituationQualifierType" minOccurs="1" maxOccurs="1" />
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   <xsd:complexType name="StopSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />
<xsd:element name="situationQualifier" type="cbe:StopSituationQualifierType" minOccurs="1" maxOccurs="1" />
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   <xsd:complexType name="ConnectSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />
<xsd:element name="situationDisposition" type="cbe:ConnectSituationDispositionType" minOccurs="1" maxOccurs="1" />
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   <xsd:complexType name="ReportSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="reportCategory" type="cbe:ReportCategoryType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   <xsd:complexType name="FeatureSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="featureDisposition" type="cbe:FeatureDispositionType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
    <xsd:complexType name="DependencySituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="dependencyDisposition" type="cbe:DependencyDispositionType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
     
    <xsd:complexType name="ConfigureSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
     
    <xsd:complexType name="CreateSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
     <xsd:complexType name="DestroySituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
     <xsd:complexType name="AvailableSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="operationDisposition" type="cbe:OperationDispositionType" minOccurs="1" maxOccurs="1" />      
<xsd:element name="processingDisposition" type="cbe:ProcessingDispositionType" minOccurs="1" maxOccurs="1" />            
<xsd:element name="availabilityDisposition" type="cbe:AvailabilityDispositionType" minOccurs="1" maxOccurs="1" />               
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
   <xsd:complexType name="RequestSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
<xsd:element name="successDisposition" type="cbe:SuccessDispositionType" minOccurs="1" maxOccurs="1" />         
<xsd:element name="situationQualifier" type="cbe:RequestSituationQualifierType" minOccurs="1" maxOccurs="1" />               
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
 
     <xsd:complexType name="OtherSituation" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:SituationType">
            <xsd:sequence>
               <xsd:any namespace="##any" minOccurs="1" maxOccurs="unbounded" />   
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
     
     <xsd:complexType name="ComponentIdentification">
        <xsd:sequence>
<xsd:element name="componentData" type="cbe:ComponentData" minOccurs="0" maxOccurs="1" />      
<xsd:element name="componentType" type="cbe:ComponentType" minOccurs="1" maxOccurs="1" />            
<xsd:element name="componentAddress" type="cbe:ComponentAddress" minOccurs="1" maxOccurs="1" />               
      </xsd:sequence>   
      <xsd:attribute name="componentAddressType" type="cbe:ComponentAddressType" use="required" />      
   </xsd:complexType>   
   
   <xsd:complexType name="ComponentAddress" abstract="true">            
   </xsd:complexType>   
      
   <xsd:complexType name="ComponentType">
      <xsd:attribute name="name" use="required">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="512" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>
   
   <xsd:complexType name="TCPAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:element name="ipAddress" minOccurs="1" maxOccurs="1" >   
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="23" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>
               <xsd:element name="port" minOccurs="1" maxOccurs="1" >            
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">                        
                        <xsd:maxLength value="64" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
  <xsd:complexType name="SNAAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:element name="luName" minOccurs="1" maxOccurs="1" >   
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="64" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>
               <xsd:element name="tp" minOccurs="1" maxOccurs="1" >            
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="64" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
  <xsd:complexType name="HostAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:element name="hostname" minOccurs="1" maxOccurs="1" >   
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="512" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>               
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
   <xsd:complexType name="GUIDAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:element name="guid" minOccurs="1" maxOccurs="1" >   
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:minLength value="32" />
                        <xsd:maxLength value="64" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>               
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
   <xsd:complexType name="DeviceAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:element name="deviceId" minOccurs="1" maxOccurs="1" >   
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">                        
                        <xsd:maxLength value="128" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:element>               
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
   <xsd:complexType name="OtherAddressType" abstract="false">         
      <xsd:complexContent>
         <xsd:extension base="cbe:ComponentAddress">
            <xsd:sequence>
               <xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded" />            
            </xsd:sequence>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>   
   
   
   <xsd:complexType name="ComponentData">
      <xsd:attribute name="instanceId" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="128" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="application" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="256" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="executionEnvironment" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="256" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>         
   </xsd:complexType>
   
   <xsd:complexType name="MsgDataElementType">
      <xsd:sequence>
         <xsd:element name="msgCatalogTokens" minOccurs="0" maxOccurs="unbounded">
            <xsd:complexType>
               <xsd:attribute name="value" use="required">
                  <xsd:simpleType>
                     <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="256" />
                     </xsd:restriction>
                  </xsd:simpleType>
               </xsd:attribute>
            </xsd:complexType>
         </xsd:element>
         <xsd:group ref="cbe:msgIdGroup" minOccurs="0" maxOccurs="1" />
         <xsd:group ref="cbe:msgCatalogGroup" minOccurs="0" maxOccurs="1" />
      </xsd:sequence>
      <xsd:attribute name="msgLocale" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:language">
               <xsd:maxLength value="11"></xsd:maxLength>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>

   <xsd:group name="msgCatalogGroup">
      <xsd:sequence>
         <xsd:element name="msgCatalogId" minOccurs="1" maxOccurs="1">
            <xsd:simpleType>
               <xsd:restriction base="xsd:Name">
                  <xsd:maxLength value="128" />
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
<xsd:element name="msgCatalogType" minOccurs="1" maxOccurs="1" type="cbe:MsgCatalogTypeType" />
         <xsd:element name="msgCatalog" minOccurs="1" maxOccurs="1">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:maxLength value="128" />
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>

   <xsd:group name="msgIdGroup">
      <xsd:sequence>
         <xsd:element name="msgId" minOccurs="1" maxOccurs="1">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:maxLength value="256" />
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="msgIdType" minOccurs="1" maxOccurs="1" type="cbe:MsgIdTypeType" />
      </xsd:sequence>
   </xsd:group>

   <xsd:simpleType name="ComponentAddressType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
               <xsd:enumeration value="TCPAddressTypeV4" />
               <xsd:enumeration value="TCPAddressTypeV6" />
               <xsd:enumeration value="SNAAddressType" />
               <xsd:enumeration value="HostAddressType" />
               <xsd:enumeration value="FQHostAddressType" />
               <xsd:enumeration value="DeviceAddressType" />               
               <xsd:enumeration value="GUIDAddressType" />
                                </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>


   <xsd:simpleType name="MsgIdTypeType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
               <xsd:enumeration value="IBM3.4" />
               <xsd:enumeration value="IBM4.4" />
               <xsd:enumeration value="IBM3.1.4" />
               <xsd:enumeration value="IBM3.4.1" />
               <xsd:enumeration value="IBM4.4.1" />
               <xsd:enumeration value="IBM3.1.4.1" />
               <xsd:enumeration value="JMX" />
               <xsd:enumeration value="DottedName" />
               <xsd:enumeration value="Unknown" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>

   <xsd:simpleType name="MsgCatalogTypeType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
               <xsd:enumeration value="JAVA" />
               <xsd:enumeration value="XPG" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="32" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>

   <xsd:simpleType name="SeverityType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:short">
               <xsd:enumeration value="0" /><!-- Unknown -->
               <xsd:enumeration value="10" /><!-- Information -->
               <xsd:enumeration value="20" /><!-- Harmless -->
               <xsd:enumeration value="30" /><!-- Warning -->
               <xsd:enumeration value="40" /><!-- Minor -->
               <xsd:enumeration value="50" /><!-- Critical -->
               <xsd:enumeration value="60" /><!-- Fatal -->
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="70" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:short">
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="70" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>

   <xsd:simpleType name="PriorityType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:short">
               <xsd:enumeration value="10" /><!-- Low -->
               <xsd:enumeration value="50" /><!-- Medium -->
               <xsd:enumeration value="70" /><!-- High -->
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="100" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:short">
               <xsd:minInclusive value="0" />
               <xsd:maxInclusive value="100" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>

   <xsd:complexType name="ExtendedDataElementType">
      <xsd:sequence>
         <xsd:choice>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="values">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                     <xsd:maxLength value="1024"></xsd:maxLength>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="hexValue" type="xsd:hexBinary" />            
            <xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded" />
         </xsd:choice>

<xsd:element maxOccurs="unbounded" minOccurs="0" name="children" type="cbe:ExtendedDataElementType" />
      </xsd:sequence>
   
      <xsd:attribute name="name" use="required">
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="type" use="required">
                      <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="64"></xsd:maxLength>
                        <xsd:enumeration alue="noValue"></xsd:enumeration>
                        <xsd:enumeration value="byte"></xsd:enumeration>
                        <xsd:enumeration value="short"></xsd:enumeration>
                        <xsd:enumeration value="int"></xsd:enumeration>
                        <xsd:enumeration value="long"></xsd:enumeration>
                        <xsd:enumeration value="float"></xsd:enumeration>
                        <xsd:enumeration value="double"></xsd:enumeration>
                        <xsd:enumeration value="string"></xsd:enumeration>                     <xsd:enumerationvalue="dateTime"></xsd:enumeration>
                        <xsd:enumeration value="boolean"></xsd:enumeration>
                                                            <xsd:enumerationvalue="byteArray"></xsd:enumeration>
<xsd:enumeration value="shortArray"></xsd:enumeration>
<xsd:enumeration value="intArray"></xsd:enumeration>
<xsd:enumeration value="longArray"></xsd:enumeration>
<xsd:enumeration value="floatArray"></xsd:enumeration>
<xsd:enumeration value="doubleArray"></xsd:enumeration>
<xsd:enumeration value="stringArray"></xsd:enumeration>
<xsd:enumeration value="dateTimeArray"></xsd:enumeration>
<xsd:enumeration value="booleanArray"></xsd:enumeration>
<xsd:enumeration value="hexBinary"></xsd:enumeration>
                        <xsd:enumeration value="any"></xsd:enumeration>
                        </xsd:restriction>
                    </xsd:simpleType> 
      </xsd:attribute>
   </xsd:complexType>

   <xsd:complexType name="CorrelatorDataElement">
      <xsd:sequence>
         <xsd:choice>
            <xsd:element maxOccurs="1" minOccurs="1" name="contextValue">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                     <xsd:maxLength value="1024"></xsd:maxLength>
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="1" name="contextId" type="xsd:NMTOKEN" />
         </xsd:choice>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="children" type="cbe:CorrelatorDataElement" />
      </xsd:sequence>
      
      <xsd:attribute name="name" use="required">
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64"></xsd:maxLength>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      
      <xsd:attribute name="type" use="required">
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64"></xsd:maxLength>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      
      <xsd:attribute name="processId" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="threadId" use="optional">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>
   
   <xsd:simpleType name="CategoryNameType">
         <xsd:restriction base="xsd:Name">
               <xsd:enumeration value="StartSituation" />
               <xsd:enumeration value="StopSituation" />
               <xsd:enumeration value="FeatureSituation" />
               <xsd:enumeration value="DependencySituation" />
               <xsd:enumeration value="RequestSituation" />
               <xsd:enumeration value="ConfigureSituation" />
               <xsd:enumeration value="ConnectSituation" />
               <xsd:enumeration value="CreateSituation" />
               <xsd:enumeration value="DestroySituation" />
               <xsd:enumeration value="ReportSituation" />
               <xsd:enumeration value="AvailableSituation" />
               <xsd:enumeration value="OtherSituation" />                
               <xsd:maxLength value="64" />
            </xsd:restriction>
   </xsd:simpleType>

   <xsd:simpleType name="SuccessDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:enumeration value="SUCCESSFUL" />
               <xsd:enumeration value="UNSUCCESSFUL" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="StartSituationQualifierType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="START INITIATED" />
               <xsd:enumeration value="RESTART INITIATED" />
               <xsd:enumeration value="START COMPLETED" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   <xsd:simpleType name="StopSituationQualifierType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="STOP INITIATED" />
               <xsd:enumeration value="ABORT INITIATED" />
               <xsd:enumeration value="PAUSE INITIATED" />
               <xsd:enumeration value="STOP COMPLETED" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   <xsd:simpleType name="ConnectSituationDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="IN USE" />
               <xsd:enumeration value="FREED" />
               <xsd:enumeration value="CLOSED" />
               <xsd:enumeration value="AVAILABLE" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="ReportCategoryType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="PERFORMANCE" />
               <xsd:enumeration value="SECURITY" />
               <xsd:enumeration value="HEART BEAT" />
               <xsd:enumeration value="STATUS" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="FeatureDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="AVAILABLE" />
               <xsd:enumeration value="NOT AVAILABLE" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="DependencyDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="MET" />
               <xsd:enumeration value="NOT MET" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="ConfigureDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="SUCCESSFUL" />
               <xsd:enumeration value="UNSUCCESSFUL" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="CreateDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="SUCCESSFUL" />
               <xsd:enumeration value="UNSUCCESSFUL" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="DestroyDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="SUCCESSFUL" />
               <xsd:enumeration value="UNSUCCESSFUL" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="AvailabilityDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="STARTABLE" />
               <xsd:enumeration value="NONSTARTABLE" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="ProcessingDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="FUNCTION_PROCESSED" />
               <xsd:enumeration value="FUNCTION_BLOCKED" />
               <xsd:enumeration value="MGMT_TASK_PROCESSED" />
               <xsd:enumeration value="MGMT_TASK_BLOCKED" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:simpleType name="RequestSituationQualifierType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="REQUEST INITIATED" />
               <xsd:enumeration value="REQUEST COMPLETED" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   
   <xsd:simpleType name="OperationDispositionType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:enumeration value="STARTABLE" />
               <xsd:enumeration value="NONSTARTABLE" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>   
   
   <xsd:simpleType name="ReasoningScopeType">
      <xsd:union>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:enumeration value="External" />
               <xsd:enumeration value="Internal" />
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType>
            <xsd:restriction base="xsd:Name">
               <xsd:maxLength value="64" />
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:union>
   </xsd:simpleType>
   
   <xsd:complexType name="CommonBaseEvents">
      <xsd:sequence>         
         <xsd:element ref="cbe:CommonBaseEvent" minOccurs="0" maxOccurs="unbounded" />
      </xsd:sequence>
   </xsd:complexType>
   <xsd:element name="CommonBaseEvents" type="cbe:CommonBaseEvents" />

</xsd:schema>