docmain.css" />

# A.0 Schema

The GroupWise events schema follows:

    <?xml version="1.0" ?>
    <xs:schema
        targetNamespace="urn:novell:schemas:ns:events"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:types="http://schemas.novell.com/2003/10/NCSP/types.xsd"
         xmlns:tns="urn:novell:schemas:ns:events">

         <xs:element name="key" type="xs:string"/>
         <xs:element name="event" type="tns:EventType"/>
         <xs:element name="field" type="tns:FieldList" minOccurs="0"/>

         <xs:complexType name="Event">
               <xs:sequence>
                  <xs:element ref="tns:event"/>
                 <xs:element ref="types:id"/>
                 <xs:element name="timeStamp" type="xs:dateTime"
                   minOccurs="0"/>
                 <xs:element ref="tns:field"/>
                 <xs:element name="container" type="types:uid"
                   minOccurs="0"/>
                 <xs:element name="from" type="types:uid" minOccurs="0"/>
                 <xs:element name="key" type="xs:string" minOccurs="0"/>
               </xs:sequence>
         </xs:complexType>

         <xs:complexType name="EventDefinition">
               <xs:sequence>
                 <xs:element ref="tns:event" minOccurs="1" maxOccurs="33"/>
                 <xs:element name="type" type="tns:ItemTypeList"
                    minOccurs="0"/>
                 <xs:element ref="tns:field"/>
                 <xs:element name="containers" type="types:ContainerList"
                     minOccurs="0"/>
             </xs:sequence>
         </xs:complexType>

         <xs:complexType name="EventList">
               <xs:sequence>
                 <xs:element name="event" type="tns:Event" minOccurs="0"
                    maxOccurs="unbounded"/>
               </xs:sequence>
         </xs:complexType>

          <xs:complexType name="Events">
               <xs:sequence>
                 <xs:element ref="tns:key"/>
                 <xs:element name="persistence" type="xs:duration"
                   minOccurs="0"/>
                  <xs:element name="ipAddress" type="xs:string"
                   minOccurs="0"/>
                 <xs:element name="port" type="xs:int" minOccurs="0"/>
                <xs:element name="http" type="xs:boolean"
                   default="false"/>
                <xs:element name="event" type="tns:EventDefinition"
                   maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="enabled" type="xs:boolean" default="false"/>
       </xs:complexType>

       <xs:simpleType name="EventType">
         <xs:restriction base="xs:string">
               <xs:enumeration value="AddressBookAdd"/>
               <xs:enumeration value="AddressBookDelete"/>
               <xs:enumeration value="AddressBookModify"/>
               <xs:enumeration value="AddressBookItemAdd"/>
               <xs:enumeration value="AddressBookItemDelete"/>
               <xs:enumeration value="AddressBookItemModify"/>
               <xs:enumeration value="FolderAccept"/>
               <xs:enumeration value="FolderAdd"/>
               <xs:enumeration value="FolderDelete"/>
               <xs:enumeration value="FolderItemAdd"/>
               <xs:enumeration value="FolderItemDelete"/>
               <xs:enumeration value="FolderItemMove"/>
               <xs:enumeration value="FolderModify"/>
               <xs:enumeration value="ItemAccept"/>
               <xs:enumeration value="ItemArchive"/>
               <xs:enumeration value="ItemComplete"/>
               <xs:enumeration value="ItemDecline"/>
             <xs:enumeration value="ItemDelete"/>
               <xs:enumeration value="ItemMarkPrivate"/>
               <xs:enumeration value="ItemMarkRead"/>
               <xs:enumeration value="ItemMarkUnread"/>
               <xs:enumeration value="ItemModify"/>
               <xs:enumeration value="ItemPurge"/>
               <xs:enumeration value="ItemUnarchive"/>
               <xs:enumeration value="ItemUnmarkPrivate"/>
               <xs:enumeration value="Login"/>
               <xs:enumeration value="Logout"/>
               <xs:enumeration value="ProxyAccessAdd"/>
               <xs:enumeration value="ProxyAccessModify"/>
               <xs:enumeration value="ProxyAccessDelete"/>
               <xs:enumeration value="ProxyLogin"/>
               <xs:enumeration value="SessionTimedOut"/>
               <xs:enumeration value="TrustedApplicationLogin"/>
            </xs:restriction>
       </xs:simpleType>

       <xs:simpleType name="Field">
            <xs:restriction base="xs:string">
               <xs:enumeration value="AcceptLevel"/>
               <xs:enumeration value="Attachment"/>
               <xs:enumeration value="Category"/>
               <xs:enumeration value="Classification"/>
               <xs:enumeration value="DueDate"/>
               <xs:enumeration value="Duration"/>
               <xs:enumeration value="EmailAddress"/>
               <xs:enumeration value="ExpirationDate"/>
               <xs:enumeration value="IMAddress"/>
               <xs:enumeration value="MessageBody"/>
               <xs:enumeration value="Name"/>
               <xs:enumeration value="PersonalSubject"/>
               <xs:enumeration value="PhoneNumber"/>
             <xs:enumeration value="Place"/>
               <xs:enumeration value="Rights"/>
               <xs:enumeration value="Security"/>
               <xs:enumeration value="SendPriority"/>
               <xs:enumeration value="StartDate"/>
               <xs:enumeration value="TaskCategory"/>
               <xs:enumeration value="TaskPriority"/>
            </xs:restriction>
       </xs:simpleType>

       <xs:simpleType name="FieldList">
          <xs:list fieldType="Field"/>
       </xs:simpleType>

       <xs:simpleType name="ItemType">
         <xs:restriction base="xs:string">
               <xs:enumeration value="AddressBookItem"/>
               <xs:enumeration value="Appointment"/>
               <xs:enumeration value="CalendarItem"/>
               <xs:enumeration value="Contact"/>
               <xs:enumeration value="Group"/>
               <xs:enumeration value="Mail"/>
               <xs:enumeration value="Note"/>
               <xs:enumeration value="Organization"/>
               <xs:enumeration value="PhoneMessage"/>
               <xs:enumeration value="Resource"/>
               <xs:enumeration value="Task"/>
            </xs:restriction>
       </xs:simpleType>

       <xs:simpleType name="ItemTypeList">
          <xs:list itemType="ItemType"/>
       </xs:simpleType>

       <xs:element name="cleanEventConfigurationRequest">
          <xs:complexType>
               <xs:sequence>
                 <xs:element name="all" type="xs:boolean" default="false"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="cleanEventConfigurationResponse">
         <xs:complexType>
            <xs:sequence>
        <xs:element name="status" type="types:Status"/>
             </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="configureEventsRequest">
          <xs:complexType>
               <xs:sequence>
                  <xs:element name="enabled" type="xs:boolean"/>
                    <xs:element name="events" type="tns:Events"
                   minOccurs="0"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="configureEventsResponse">
          <xs:complexType>
               <xs:sequence>
                 <xs:element name="status" type="types:Status"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="getEventConfigurationRequest">
         <xs:complexType>
             <xs:sequence>
        <xs:element ref="tns:key" minOccurs="0"/>
         </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="getEventConfigurationResponse">
          <xs:complexType>
                <xs:sequence>
                  <xs:element name="enabled" type="xs:boolean"/>
                  <xs:element name="events" type="tns:Events"
                  minOccurs="0"/>
                    <xs:element name="status" type="types:Status"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="getEventsRequest">
         <xs:complexType>
               <xs:sequence>
                  <xs:element ref="tns:key"/>
                    <xs:element name="from" type="xs:dateTime" minOccurs="0"/>
                  <xs:element name="until" type="xs:dateTime"
                   minOccurs="0"/>
        <xs:element name="count" type="xs:int" default="-1"/>
        <xs:element name="remove" type="xs:boolean"
                   default="false"/>
                  <xs:element name="notify" type="xs:boolean"
                   default="false"/>
                 </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="getEventsResponse">
         <xs:complexType>
            <xs:sequence>
                  <xs:element name="events" type="types:EventList"/>
                  <xs:element name="status" type="types:Status"/>
               </xs:sequence>
          </xs:complexType>
       </xs:element>

       <xs:element name="removeEventConfigurationRequest">
          <xs:complexType>
               <xs:sequence>
                 <xs:element ref="tns:key"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="removeEventConfigurationResponse">
          <xs:complexType>
               <xs:sequence>
                  <xs:element name="status" type="types:Status"/>
               </xs:sequence>
          </xs:complexType>
       </xs:element>

       <xs:element name="removeEventsRequest">
          <xs:complexType>
               <xs:sequence>
                 <xs:element ref="tns:key"/>
                 <xs:element name="from" type="xs:dateTime" minOccurs="0"/>
                 <xs:element name="until" type="xs:dateTime"
                   minOccurs="0"/>
               </xs:sequence>
            </xs:complexType>
       </xs:element>

       <xs:element name="removeEventsResponse">
          <xs:complexType>
               <xs:sequence>
                 <xs:element name="status" type="types:Status"/>
               </xs:sequence>
          </xs:complexType>
       </xs:element>
    </xs:schema>