<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ssp="http://www.opengis.net/ssp/2.0" xmlns:eop="http://www.opengis.net/eop/2.0" targetNamespace="http://www.opengis.net/ssp/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
    <annotation>
        <documentation>Synthetic and Systematic products application schema.
        
        Earth Observation Metadata profile of Observations and Measurements is an OGC Standard.
        Copyright (c) 2013 Open Geospatial Consortium. 
        To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
        
        </documentation>
    </annotation>
    <import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
    <import namespace="http://www.opengis.net/eop/2.0" schemaLocation="eop.xsd"/>
    <import namespace="http://www.opengis.net/ows/2.0" schemaLocation="http://schemas.opengis.net/ows/2.0/owsAll.xsd"/>
    <element name="Footprint" substitutionGroup="eop:Footprint" type="ssp:FootprintType">
        <annotation>
            <documentation>Extends EOP Footprint for SSP products</documentation>
        </annotation>
    </element>
    <complexType name="FootprintType">
        <complexContent>
            <extension base="eop:FootprintType">
                <sequence>
                    <element ref="gml:locationName">
                        <annotation>
                            <documentation>Name (string) to indicate the area that is covered e.g. "World", "Africa", ?</documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="FootprintPropertyType">
        <sequence minOccurs="0">
            <element ref="ssp:Footprint"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
        <attributeGroup ref="gml:OwnershipAttributeGroup"/>
    </complexType>
    <element name="EarthObservationEquipment" substitutionGroup="eop:EarthObservationEquipment" type="ssp:EarthObservationEquipmentType">
        <annotation>
            <documentation>Extends eop EarthObservationEquipment to make platform and instrument cardinality 0...*</documentation>
        </annotation>
    </element>
    <complexType name="EarthObservationEquipmentType">
        <complexContent>
            <extension base="eop:EarthObservationEquipmentType">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="instrument" type="eop:InstrumentPropertyType">
                        <annotation>
                            <documentation>Instrument:ssp are generated on the basis of products resulting from more than one sensor so cardinality is zero to many.</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="platform" type="eop:PlatformPropertyType">
                        <annotation>
                            <documentation>Platform:ssp are generated on the basis of products resulting from instruments onboard of more than one satellite so cardinality is zero to many
</documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="EarthObservationEquipmentPropertyType">
        <sequence minOccurs="0">
            <element ref="ssp:EarthObservationEquipment"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
        <attributeGroup ref="gml:OwnershipAttributeGroup"/>
    </complexType>
    <element name="EarthObservation" substitutionGroup="eop:EarthObservation" type="ssp:EarthObservationType">
        <annotation>
            <documentation>Extends eop:EarthObservation for Systematic and Synthesis products</documentation>
        </annotation>
    </element>
    <complexType name="EarthObservationType">
        <complexContent>
            <extension base="eop:EarthObservationType"/>
        </complexContent>
    </complexType>
    <complexType name="EarthObservationPropertyType">
        <sequence minOccurs="0">
            <element ref="ssp:EarthObservation"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
        <attributeGroup ref="gml:OwnershipAttributeGroup"/>
    </complexType>
    <element name="EarthObservationResult" substitutionGroup="eop:EarthObservationResult" type="ssp:EarthObservationResultType">
        <annotation>
            <documentation>Extends EOP EarthObservationResult for SSP products</documentation>
        </annotation>
    </element>
    <complexType name="EarthObservationResultType">
        <complexContent>
            <extension base="eop:EarthObservationResultType">
                <sequence>
                    <element maxOccurs="1" minOccurs="0" name="cloudCoverPercentage" type="gml:MeasureType">
                        <annotation>
                            <documentation>Cloud cover percentage (uom should be %)</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="cloudCoverPercentageAssessmentConfidence" type="gml:MeasureType">
                        <annotation>
                            <documentation>Cloud cover assessment confidence. Expressed in percents</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="cloudCoverPercentageQuotationMode" type="ssp:PercentageCoverQuotationModeValueType">
                        <annotation>
                            <documentation>Indicator to know how the cloudcover percentage has been calculated </documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="snowCoverPercentage" type="gml:MeasureType">
                        <annotation>
                            <documentation>Snow cover percentage (uom should be %)</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="snowCoverPercentageAssessmentConfidence" type="gml:MeasureType">
                        <annotation>
                            <documentation>Snow cover assessment confidence. Expressed in percents</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="snowCoverPercentageQuotationMode" type="ssp:PercentageCoverQuotationModeValueType">
                        <annotation>
                            <documentation>Indicator to know how the snowcover percentage has been calculated </documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="EarthObservationResultPropertyType">
        <sequence minOccurs="0">
            <element ref="ssp:EarthObservationResult"/>
        </sequence>
        <attributeGroup ref="gml:AssociationAttributeGroup"/>
        <attributeGroup ref="gml:OwnershipAttributeGroup"/>
    </complexType>
    <element name="EarthObservationMetadata" substitutionGroup="eop:EarthObservationMetaData" type="ssp:EarthObservationMetadataType">
        <annotation>
            <documentation>Extends EOP EarthObservationMetadata for SSP products</documentation>
        </annotation>
    </element>
    <complexType name="EarthObservationMetadataType">
        <complexContent>
            <extension base="eop:EarthObservationMetaDataType">
                <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="derivedFrom" type="string">
                        <annotation>
                            <documentation>Link to an EO Product that was used in the generation of the ssp product</documentation>
                        </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="nominalDate" type="gml:CalDate">
                        <annotation>
                            <documentation>Nominal date assigned to the product</documentation>
                        </annotation>
                    </element>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="EarthObservationMetadataPropertyType">
        <sequence>
            <element ref="ssp:EarthObservationMetadata"/>
        </sequence>
        <attributeGroup ref="gml:OwnershipAttributeGroup"/>
    </complexType>
    <simpleType name="PercentageCoverQuotationModeValueType">
        <union memberTypes="ssp:PercentageCoverQuotationModeValueEnumerationType ssp:PercentageCoverQuotationModeValueOtherType"/>
    </simpleType>
    <simpleType name="PercentageCoverQuotationModeValueEnumerationType">
        <restriction base="string">
            <enumeration value="AUTOMATIC">
                <annotation>
                    <documentation>Cloud cover percentage has been calculated automatically</documentation>
                </annotation>
            </enumeration>
            <enumeration value="MANUAL">
                <annotation>
                    <documentation>Cloud cover percentage has been calculated automatically</documentation>
                </annotation>
            </enumeration>
        </restriction>
    </simpleType>
    <simpleType name="PercentageCoverQuotationModeValueOtherType">
        <restriction base="string">
            <pattern value="other: \w{2,}"/>
        </restriction>
    </simpleType>
</schema>
