<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	   elementFormDefault="qualified">
  <xs:annotation>
    <xs:documentation>

      Copyright (C) 2002-2015  The FreeCol Team

      This file is part of FreeCol.

      FreeCol is free software: you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 2 of the License, or
      (at your option) any later version.

      FreeCol is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
      GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with FreeCol. If not, see http://www.gnu.org/licenses
    </xs:documentation>
  </xs:annotation>

  <xs:include schemaLocation="data-tile.xsd">
    <xs:annotation>
      <xs:documentation>
	Include common data model type definitions.
      </xs:documentation>
    </xs:annotation>
  </xs:include>
  <xs:include schemaLocation="data-common.xsd" />
  <xs:include schemaLocation="data-region.xsd" />

  <xs:element name="map">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="region"/>
        <xs:element ref="tile"/>
      </xs:choice>
      <xs:attribute name="id" type="MapId" use="required" />
      <!-- @compat 0.10.x -->
      <xs:attribute name="ID" type="MapId" use="optional" />
      <!-- end @compat -->
      <xs:attribute name="width" type="xs:int" use="required" />
      <xs:attribute name="height" type="xs:int" use="required" />
      <xs:attribute name="layer" type="MapLayerType" />
      <xs:attribute name="minimumLatitude" type="xs:int" use="optional" />
      <xs:attribute name="maximumLatitude" type="xs:int" use="optional" />
     </xs:complexType>
  </xs:element>

  <xs:simpleType name="MapLayerType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="none"/>
      <xs:enumeration value="land"/>
      <xs:enumeration value="terrain"/>
      <xs:enumeration value="rivers"/>
      <xs:enumeration value="resources"/>
      <xs:enumeration value="natives"/>
      <xs:enumeration value="all"/>
      <!-- @compat 0.10.x -->
      <xs:enumeration value="NONE"/>
      <xs:enumeration value="LAND"/>
      <xs:enumeration value="TERRAIN"/>
      <xs:enumeration value="RIVERS"/>
      <xs:enumeration value="RESOURCES"/>
      <xs:enumeration value="NATIVES"/>
      <xs:enumeration value="ALL"/>
      <!-- end @compat -->
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
