﻿<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Daniel Davis (MBARI) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="EventDataSet">
    <xs:annotation>
      <xs:documentation>Data file from saliency processing</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SourceMetadata">
          <xs:complexType>
            <xs:attribute name="SourceIdentifier" type="xs:string" use="required"/>
            <xs:attribute name="Owner" type="xs:string" use="optional"/>
            <xs:attribute name="CreationDate" type="xs:dateTime" use="required"/>
            <xs:attribute name="Platform" type="xs:string" use="optional"/>
            <xs:attribute name="DiveNumber" type="xs:string" use="optional"/>
            <xs:attribute name="FrameRate" type="xs:float" use="optional"/>
            <xs:attribute name="FrameWidth" type="xs:integer" use="optional"/>
            <xs:attribute name="FrameHeight" type="xs:integer" use="optional"/>
            <xs:attribute name="PixelWidth" type="xs:float" use="optional"/>
            <xs:attribute name="PixelHeight" type="xs:float" use="optional"/>
          </xs:complexType>
        </xs:element>
        <xs:element ref="EventDetectionParameters"/>
        <xs:sequence maxOccurs="unbounded">
          <xs:element ref="FrameEventSet"/>
        </xs:sequence>
      </xs:sequence>
      <xs:attribute name="Locator" type="xs:anyURI" use="required"/>
      <xs:attribute name="CreationDate" type="xs:dateTime" use="required"/>
      <xs:attribute name="StartTimecode" type="xs:integer" use="optional"/>
      <xs:attribute name="EndTimecode" type="xs:integer" use="optional"/>
      <xs:attribute name="StartFrame" type="xs:integer" use="optional"/>
      <xs:attribute name="EndFrame" type="xs:integer" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="BoundingBox">
    <xs:complexType>
      <xs:attribute name="LowerLeftX" type="xs:integer" use="required"/>
      <xs:attribute name="LowerLeftY" type="xs:integer" use="required"/>
      <xs:attribute name="UpperRightX" type="xs:integer" use="required"/>
      <xs:attribute name="UpperRightY" type="xs:integer" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="EventObject">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="BoundingBox"/>
        <xs:sequence minOccurs="0">
          <xs:element name="Clasification">
            <xs:complexType>
              <xs:attribute name="ClassifierID" type="xs:string" use="required"/>
              <xs:attribute name="ConfidenceValue" type="xs:float" use="optional"/>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:sequence>
      <xs:attribute name="ObjectID" type="xs:string" use="required"/>
      <xs:attribute name="StartFrameNumber" type="xs:integer" use="optional"/>
      <xs:attribute name="Saliency" type="xs:float" use="optional"/>
      <xs:attribute name="CurrSize" type="xs:integer" use="optional"/>
      <xs:attribute name="CurrX" type="xs:integer" use="optional"/>
      <xs:attribute name="CurrY" type="xs:integer" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="FrameEventSet">
    <xs:annotation>
      <xs:documentation> A series of evnet objects</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element ref="EventObject"/>
      </xs:sequence>
      <xs:attribute name="FrameIdentifier" type="xs:string" use="required"/>
      <xs:attribute name="FrameNumber" type="xs:integer" use="optional"/>
      <xs:attribute name="TimeCode" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="EventDetectionParameters">
    <xs:annotation>
      <xs:documentation>Parameter shared by all events in file</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="VersionNumber" type="xs:string" use="required"/>
      <xs:attribute name="maxDist" type="xs:integer" use="required"/>
      <xs:attribute name="maxCost" type="xs:float" use="required"/>
      <xs:attribute name="minFrameNum" type="xs:integer" use="required"/>
      <xs:attribute name="minSize" type="xs:integer" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
