<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" id="midas_event"
    targetNamespace="http://www.heritage-standards.org/midas/schema/1.0" version="1.0"
    xmlns:midas="http://www.heritage-standards.org/midas/schema/1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="midas_common.xsd" />
    <xs:include schemaLocation="midas_temporal.xsd" />
    <xs:include schemaLocation="midas_spatial.xsd" />
    <xs:include schemaLocation="midas_actor.xsd" />
    <xs:include schemaLocation="midas_meta.xsd" />
    <xs:annotation>
        <xs:documentation>This is the Event Schema for the MIDAS standard, part of the FISH suite of
            XML schemas for the historic environment. An event records an activity directly
            associated with an archaeological monument. The primary elements are: (1) appellation,
            event names and identifiers; (2) description, free text full and summary descriptions;
            (3) event types, for recording the nature of an event; and (4) assessment, records the
            assessment summary of the event. </xs:documentation>
    </xs:annotation>
    <!-- Begin /events root element -->
    <xs:element name="events">
        <xs:annotation>
            <xs:documentation>Root event element.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <!-- Begin /meta (documents entire collection of event records)-->
                <xs:element minOccurs="0" ref="midas:meta" />
                <!-- Begin /events/event -->
                <xs:element maxOccurs="unbounded" name="event">
                    <xs:annotation>
                        <xs:documentation>Element for recording events associated with
                        monuments.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <!-- Begin /events/event/recordmetadata -->
                            <xs:group ref="midas:recordmetadata" />
                            <!-- Begin /events/event/appellation -->
                            <xs:group ref="midas:appellation" />
                            <!-- Begin /events/event/description (reference)-->
                            <xs:group maxOccurs="unbounded" ref="midas:description" />
                            <!-- Begin /events/event/eventtypes -->
                            <xs:element name="eventtypes">
                                <xs:annotation>
                                    <xs:documentation>Element used to record one or more event
                                        types.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <!-- Begin /events/event/eventtypes/type -->
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="type">
                                            <xs:annotation>
                                                <xs:documentation>Element used to record controlled
                                                  event type.</xs:documentation>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <!-- Begin /events/event/assessments -->
                            <xs:element minOccurs="0" name="assessments">
                                <xs:annotation>
                                    <xs:documentation>Element used to record one or more
                                        assessments.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <!-- Begin /events/event/assessments/assessment -->
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="assessment">
                                            <xs:annotation>
                                                <xs:documentation>Element used to record controlled
                                                  assessment.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                  <xs:extension base="xs:string">
                                                  <xs:attribute name="type" />
                                                  <xs:attribute name="evidence" />
                                                  </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <!-- Begin /events/event/spatial (reference) -->
                            <xs:element ref="midas:spatial" />
                            <!-- Begin /events/event/actors -->
                            <xs:element minOccurs="0" name="actors">
                                <xs:annotation>
                                    <xs:documentation>Element used to hold one or more actor
                                        elements involved with the event.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <!-- Begin /events/event/actors/actor (reference)  -->
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            ref="midas:actor" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <!-- Begin /events/event/temporal (required externally) -->
                            <xs:element ref="midas:temporal" />
                            <!-- Begin /monument/relationships (reference)-->
                            <xs:group maxOccurs="unbounded" minOccurs="0" ref="midas:related" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <!-- End /events/event -->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- End /events -->
</xs:schema>
