<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.00">
  <xs:element name="pointweather">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="meta"/>
        <xs:element minOccurs="1" maxOccurs="unbounded" ref="location"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="meta">
    <xs:complexType>
      <xs:sequence>
          <xs:element name="updated" type="xs:dateTime"/>
       </xs:sequence>
     </xs:complexType>
  </xs:element>
  <xs:element name="location">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="forecast"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="observation"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="suninfo"/>
      </xs:sequence>
      <xs:attribute name="id" use="required" type="xs:string"/>
      <xs:attribute name="name" use="required" type="xs:string"/>
      <xs:attribute name="lat" use="optional" type="xs:float"/>
      <xs:attribute name="lon" use="optional" type="xs:float"/>
      <xs:attribute name="timezone" use="optional" type="xs:string"/>
      <xs:attribute name="region" use="optional" type="xs:string"/>
      <xs:attribute name="country" use="optional" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="forecast">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="param"/>
      </xs:sequence>
      <xs:attribute name="time" use="required" type="xs:dateTime"/>
      <xs:attribute name="timestring" use="optional" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="observation">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="param"/>
      </xs:sequence>
      <xs:attribute name="time" use="required" type="xs:dateTime"/>
      <xs:attribute name="timestring" use="optional" type="xs:string"/>
    </xs:complexType>
  </xs:element>
    <xs:element name="param">
    <xs:complexType>
      <xs:attribute name="name" use="required" type="xs:string"/>
      <xs:attribute name="value" use="optional" type="xs:float"/>
      <xs:attribute name="text" use="optional" type="xs:string"/>
      <xs:attribute name="unit" use="optional" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="suninfo">
    <xs:complexType>
      <xs:attribute name="date" use="required" type="xs:date"/>
      <xs:attribute name="sunrise" use="optional" type="xs:time"/>
      <xs:attribute name="sunset" use="optional" type="xs:time"/>
      <xs:attribute name="daylength" use="optional" type="xs:time"/>
    </xs:complexType>
  </xs:element>

</xs:schema>
