<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://nwalsh.com/xmlns/witw-ami#" xmlns:ami="http://nwalsh.com/xmlns/witw-ami#">
  <xs:element name="ami">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ami:user"/>
        <xs:choice>
          <xs:element ref="ami:location"/>
          <xs:element ref="ami:invalid-request"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="date" use="required" type="xs:dateTime"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="user">
    <xs:complexType>
      <xs:attribute name="userid" use="required" type="ami:userId"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="location">
    <xs:complexType>
      <xs:attribute name="lat" use="required" type="ami:latLong"/>
      <xs:attribute name="long" use="required" type="ami:latLong"/>
      <xs:attribute name="date" use="required" type="xs:dateTime"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="invalid-request">
    <xs:complexType/>
  </xs:element>
  <xs:simpleType name="userId">
    <xs:restriction base="xs:string">
      <xs:minLength value="3"/>
      <xs:maxLength value="12"/>
      <xs:pattern value="[a-z0-9]*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="latLong">
    <xs:restriction base="xs:double">
      <xs:minInclusive value="-180.0"/>
      <xs:maxInclusive value="180.0"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

