<?xml version='1.0' encoding='UTF-8'?>
<xs:schema
  targetNamespace='openspime:protocol:extension:spimeseek'
  version='0.9'
  elementFormDefault='qualified'
  xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:element name='spimeseek'>
    <xs:complexType>
      <xs:choice>
        <xs:element name='request'>
          <xs:complexType>
            <xs:sequence>
              <xs:element name='spimeid' type='xs:string' />
              <xs:element name='expdate' type='xs:dateTime' />
              <xs:element name='encrequired'>
                <xs:simpleType>
                  <xs:restriction base='xs:string'>
                    <xs:enumeration value='true' />
                    <xs:enumeration value='false' />
                    <xs:enumeration value='preferred' />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>			  
            </xs:sequence>
            <xs:attribute name='id' type='xs:string' use='required' />
          </xs:complexType>
        </xs:element>
        <xs:element name='response'>
          <xs:complexType>
            <xs:sequence>
              <xs:element name='entry' minOccurs='0' maxOccurs='unbounded'>
                <xs:complexType>
                  <xs:sequence>
                   <xs:element name='date' type='xs:dateTime' minOccurs='0' />
                     <xs:element name='exposure' minOccurs='0'>  
                       <xs:simpleType>
                         <xs:restriction base='xs:string'>
                           <xs:enumeration value='outdoor' />
                           <xs:enumeration value='liquid' />
                           <xs:enumeration value='solid' />
                           <xs:enumeration value='gas' />
                           <xs:enumeration value='plasma' />
                           <xs:enumeration value='vacuum' />
                         </xs:restriction>
                       </xs:simpleType>
                     </xs:element>
                     <xs:element name='lat' type='xs:decimal' minOccurs='0' />
                     <xs:element name='lon' type='xs:decimal' minOccurs='0' />
                     <xs:element name='ele' minOccurs='0'>
                       <xs:complexType>
                         <xs:attribute name='unit'>
                           <xs:simpleType>
                             <xs:restriction base='xs:string'>
                               <xs:enumeration value='m' />
                               <xs:enumeration value='f' />
                             </xs:restriction>
                           </xs:simpleType>
                         </xs:attribute>
                       </xs:complexType>
                     </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name='id' type='xs:string' use='required' />
          </xs:complexType>
        </xs:element>
      </xs:choice>
      <xs:attribute name='version'>
        <xs:simpleType>
          <xs:restriction base='xs:string'>
            <xs:pattern value='([0-9])+\.([0-9])+' />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
</xs:schema>
