﻿<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Places">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="GUID_Place" type="xs:string" />
                <xs:element name="Place" type="xs:string" />
                <xs:element name="BiogeographicalRegion" type="xs:string" />
                <xs:element name="MTB">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="900" />
                            <xs:maxInclusive value="9999" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="X" type="xs:double" />
                <xs:element name="Y" type="xs:double" />
                <xs:element name="EPSG" type="xs:integer" />
                <xs:element ref="Reviews" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="SummarizedReviews" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Reviews">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="GUID_Review" type="xs:string" />
                <xs:element name="Year">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="2030" />
                            <xs:minInclusive value="2007" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
		<xs:element name="IsForPeriod" type="xs:boolean" />
                <xs:element name="ID_Species" type="xs:integer" />
                <xs:element name="Species_Name_German" type="xs:string" />
                <xs:element name="Species_Name_Scientific" type="xs:string" />
                <xs:element name="Species_Author" type="xs:string" />
                <xs:element name="Species_RL_SA" type="xs:string" />
                <xs:element name="Species_FFH" type="xs:string" />
                <xs:element name="Species_BNatSchG" type="xs:string" />
                <xs:element name="KBS_Criterion" type="xs:string" />
                <xs:element name="Review">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="0" />
                            <xs:maxInclusive value="3" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Value" type="xs:string" />
                <xs:element name="Editor" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="SummarizedReviews">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Year">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="2030" />
                            <xs:minInclusive value="2007" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
		<xs:element name="IsForPeriod" type="xs:boolean" />
                <xs:element name="ID_Species" type="xs:integer" />
                <xs:element name="Species_Name_German" type="xs:string" />
                <xs:element name="Species_Name_Scientific" type="xs:string" />
                <xs:element name="Species_Author" type="xs:string" />
                <xs:element name="Species_RL_SA" type="xs:string" />
                <xs:element name="Species_FFH" type="xs:string" />
                <xs:element name="Species_BNatSchG" type="xs:string" />
                <xs:element name="Review_Population">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="0" />
                            <xs:maxInclusive value="3" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Review_Habitat">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="0" />
                            <xs:maxInclusive value="3" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Review_Impairments">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="0" />
                            <xs:maxInclusive value="3" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Value_Population" type="xs:string" />
                <xs:element name="Value_Habitat" type="xs:string" />
                <xs:element name="Value_Impairments" type="xs:string" />
                <xs:element name="GUID_Review_Population" type="xs:string" />
                <xs:element name="GUID_Review_Habitat" type="xs:string" />
                <xs:element name="GUID_Review_Impairments" type="xs:string" />
                <xs:element name="User_Review_Population" type="xs:string" />
                <xs:element name="User_Review_Habitat" type="xs:string" />
                <xs:element name="User_Review_Impairments" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Observations">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="GUID_Observation" type="xs:string" />
                <xs:element name="ID_Species" type="xs:string" />
                <xs:element name="Species_Name_German" type="xs:string" />
                <xs:element name="Species_Name_Scientific" type="xs:string" />
                <xs:element name="Species_Author" type="xs:string" />
                <xs:element name="Species_RL_SA" type="xs:string" />
                <xs:element name="Species_FFH" type="xs:string" />
                <xs:element name="Species_BNatSchG" type="xs:string" />
                <xs:element name="Date" type="xs:date" />
                <xs:element name="Month">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="12" />
                            <xs:minInclusive value="0" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Year">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="2050" />
                            <xs:minInclusive value="1500" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Observer" type="xs:string" />
                <xs:element name="Source" type="xs:string" />
                <xs:element name="Origin" type="xs:string" />
                <xs:element name="PlaceName" type="xs:string" />
                <xs:element name="GUID_Place" type="xs:string" />
                <xs:element name="X" type="xs:double" />
                <xs:element name="Y" type="xs:double" />
                <xs:element name="EPSG" type="xs:integer" />
                <xs:element name="MTB">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="9999" />
                            <xs:minInclusive value="900" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="MTBQ">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:maxInclusive value="4" />
                            <xs:minInclusive value="0" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="Tolerance" type="xs:string" />
                <xs:element name="Region" type="xs:string" />
                <xs:element name="Elevation" type="xs:integer" />
                <xs:element name="Count" type="xs:string" />
                <xs:element name="Count_Masculine" type="xs:integer" />
                <xs:element name="Count_Feminine" type="xs:integer" />
                <xs:element name="Count_Details" type="xs:string" />
                <xs:element name="Count_Flourishing" type="xs:integer" />
                <xs:element name="Count_Not_Flourishing" type="xs:integer" />
                <xs:element name="Reproduction" type="xs:string" />
                <xs:element name="Type_Of_Evidence" type="xs:string" />
                <xs:element name="Behavior" type="xs:string" />
                <xs:element name="Quality" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
