<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
  <choice maxOccurs="unbounded">
    <element name="Notify">
      <complexType>
        <sequence>
          <!--  Notification request command series is shown as follows.-->
          <!--  Command type: alarm notification (required)-->
          <element name="CmdType" fixed="Alarm"/>
          <!--  Command SN (required) -->
          <element name="SN" type="integer" minInclusive="1"/>
          <!-- Alarm device ID or alarm center ID (10-digit) (required)-->
          <element name="DeviceID" type="deviceIDType"/>
          <!--Alarm priority (required), 1-first level alarm, 2-second level alarm, 3-third level alarm, 4-fourth level alarm-->
          <element name="AlarmPriority" type="string"/>
          <!--Alarm method (optional), 1-telephone alarm, 2-device alarm, 3-SMS alarm, 4-GPS alarm, 5-video alarm, 6-device fault alarm, 7-other alarm -->
          <element name="AlarmMethod" type="string"/>
          <!--Alarm time (required)-->
          <element name="AlarmTime" type="dateTime"/>
          <!--Alarm description (optional)-->
          <element name="AlarmDescription" type=" string "/>
          <!--  Latitude and longitude information (optional)-->
          <element name="Longitude" type="double" minOccurs="0"/>
          <element name="Latitude" type="double" minOccurs="0"/>
          <!-- Extended Info item carries the alarm type and alarm type parameter field-->
          <element name="Info" minOccurs="0">
            <complexType>
              <sequence>
                <!-- Alarm type. If the alarm method is 2, the message which does not carry AlarmType is the default alarm device for alarm; the value carrying AlarmType and corresponding alarm type are shown as follows: 1-video loss alarm; 2-device tamper alarm; 3-storage device disk full alarm; 4-device high-temperature alarm; 5-device low-temperature alarm. If the alarm method is 5, the values represent as follows: 
1-manual video alarm; 
2-moving object detection alarm; 
3-hangover detection alarm; 
5-trip wire detection alarm; 
6-intrusion detection alarm; 
7-reverse detection alarm; 8-loitering detection alarm; 9-flow statistics alarm; 
10-density detection alarm; 
11-video anomaly detection alarm; 
12-quick motion alarm. 
If the alarm method is 6, the values represent as follows: 1-storage device disk fault alarm; 2-storage device fan fault alarm. -->
                <element name="AlarmType" type="positiveInteger"/>
                <!-- Alarm type extended parameter. <EventType>event type</EventType> can be carried in intrusion detection alarm, event type value: 1-enter area; 2-leave area. -->
                <element name="AlarmTypeParam" type="string" minOccurs="0"/>
                <complexType>
                  <sequence>
                    <element name="EventType" type="positiveInteger" minOccurs="0"/>
                  </sequence>
                </complexType>
              </sequence>
            </complexType>
          </element>
          <!--Extended information, multiple -->
          <element name="Info" minOccurs="0" maxOccurs="unbounded">
            <restriction base="string">
              <maxLength value="1024"/>
            </restriction>
          </element>
        </sequence>
      </complexType>
    </element>
  </choice>
</schema>