<?xml version="1.0" encoding="UTF-8"?>
<schema version="2.0.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0" targetNamespace="urn:cgi:xmlns:CGI:GeoSciML:2.0" elementFormDefault="qualified" attributeFormDefault="unqualified"><!-- Schema auto-generated by FullMoon, applying rule suite xmi11ea -->
    <annotation>
        <documentation>The GeoSciML Fossil package contains classes for representing Fossils. 
These may be: FossilMold or TraceFossil.
They are linked to living or once living things by the Organism class. 

It is recommended that a fossil(s)  behaving as a "material" should be described asa  "constituent part" of an earth material. 
        
        v2.0.1 - all links to elements in GMD namespace 'by reference'
        v2.0.2 - inserted XML declaration
        </documentation>
    </annotation>
    <import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
    <include schemaLocation="geosciml.xsd"/>
    <element name="FossilMold" substitutionGroup="gsml:GeologicStructure" type="gsml:FossilMoldType">
        <annotation>
            <documentation>A fossil that is a negative image of some organism or part of an organism. Considered a structure because the mold has the same relationship to its material substrate that a geologic structure does--the mold is in the substrate, it is not the substrate itself.</documentation>
        </annotation>
    </element>
    <complexType name="FossilMoldType">
        <complexContent>
            <extension base="gsml:GeologicStructureType">
                <sequence>
                    <element maxOccurs="1" minOccurs="0" name="sourceOrganism" type="gsml:OrganismPropertyType">
                        <annotation>
                            <documentation>Specifies the related Organism that produced the fossil in the original substrate material</documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="FossilMoldPropertyType">
        <sequence minOccurs="0">
            <element ref="gsml:FossilMold"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
    </complexType>
    <element name="TraceFossil" substitutionGroup="gsml:GeologicStructure" type="gsml:TraceFossilType">
        <annotation>
            <documentation>A sedimentary structure produced by the life activities (other than growth) of some organism. Neuendorf et al. (2005) restrict to structures produced by animals; further consideration needed on how to deal with structures produced by other life-forms.</documentation>
        </annotation>
    </element>
    <complexType name="TraceFossilType">
        <complexContent>
            <extension base="gsml:GeologicStructureType">
                <sequence>
                    <element maxOccurs="1" minOccurs="0" name="sourceOrganism" type="gsml:OrganismPropertyType">
                        <annotation>
                            <documentation>Specifies the related Organism that produced the fossil in the original substrate material</documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="TraceFossilPropertyType">
        <sequence minOccurs="0">
            <element ref="gsml:TraceFossil"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
    </complexType>
    <element name="Organism" substitutionGroup="gml:_GML" type="gsml:OrganismType">
        <annotation>
            <documentation>Broad class to represent any living or once living thing. This is the connection to taxonomy/biology for fossils.</documentation>
        </annotation>
    </element>
    <complexType name="OrganismType">
        <complexContent>
            <extension base="gml:AbstractGMLType">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="1" name="classifier" type="gsml:ControlledConceptPropertyType"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="OrganismPropertyType">
        <sequence minOccurs="0">
            <element ref="gsml:Organism"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
    </complexType>
</schema>