<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:gml="http://www.opengis.net/gml/3.2"
           xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
           xmlns:imsikb0101="http://www.sikb.nl/imsikb0101"
           xmlns:issld="http://www.broservices.nl/xsd/issld/1.0"
           xmlns:sldcom="http://www.broservices.nl/xsd/sldcommon/1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.broservices.nl/xsd/issld/1.0"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           version="0.7.0">
    <xs:annotation>
        <xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
            <gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
        </xs:appinfo>
    </xs:annotation>

    <xs:import namespace="http://www.broservices.nl/xsd/sldcommon/1.0" schemaLocation="http://schema.broservices.nl/xsd/sldcommon/1.0/sldcommon.xsd"/>
    <xs:import namespace="http://www.sikb.nl/imsikb0101" schemaLocation="http://www.sikb.nl/imsikb0101/imsikb0101_v14.8.0.xsd"/>
    <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>

    <xs:element name="intakeResponse" type="sldcom:IntakeResponseType"/>
    <xs:element name="parseFault" type="sldcom:ParseFaultType"/>

    <xs:element name="SLD_CompleteReport" type="issld:SLD_CompleteReportType" substitutionGroup="gml:AbstractFeature">
        <xs:annotation>
            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: Het brondocument SLD_CompleteReport wordt gebruikt om een SLD in één keer volledig te registreren. Dat is het geval bij een SLD onder de Ow, en kan het geval zijn bij een SLD onder de Wbb. De registratie is met dit brondocument direct voltooid.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="SLD_CompleteReportType">
        <xs:complexContent>
            <xs:extension base="gml:AbstractFeatureType">
                <xs:sequence>
                    <xs:element name="objectIdAccountableParty" minOccurs="0" maxOccurs="1" type="xs:string">
                        <xs:annotation>
                            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: De identificatie die door of voor de bronhouder is gebruikt om het object in de eigen administratie te kunnen vinden, voordat het was geregistreerd in de basisregistratie ondergrond.
                                Explanation: Het gegeven wordt alleen uitgeleverd aan de dataleverancier en de bronhouder. Het is in de registratie opgenomen om de communicatie tussen de registerbeheerder en de bronhouder of dataleverancier te vergemakkelijken.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="deliveryContext" minOccurs="1" maxOccurs="1" type="sldcom:DeliveryContextType">
                        <xs:annotation>
                            <xs:appinfo>
                                <CodeListName>DeliveryContext</CodeListName>
                                <CodeListURI/>
                            </xs:appinfo>
                            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: De rechtsgrond op basis waarvan, of bij afwezigheid daarvan, de activiteit naar aanleiding waarvan, het betreffende gegeven is aangeleverd aan de basisregistratie ondergrond.
                                Explanation: De wetgever stipuleert dat het gegeven moet zijn vastgelegd om inzicht te geven in de relatie met de taken van een bestuursorgaan. Het gegeven geeft inzicht in de maatschappelijke betekenis van de informatie.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="featureCollection" nillable="false" type="imsikb0101:FeatureCollectionIMSIKB0101PropertyType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SLD_CompleteReportPropertyType">
        <xs:sequence minOccurs="1">
            <xs:element ref="issld:SLD_CompleteReport"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="SLD_StartReport" type="issld:SLD_StartReportType" substitutionGroup="gml:AbstractFeature">
        <xs:annotation>
            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: Het brondocument SLD_StartReport wordt gebruikt om de registratie van een nieuw SLD te starten. Dit kan alleen het geval zijn bij een SLD onder de Wbb. De registratie is met dit brondocument gestart.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="SLD_StartReportType">
        <xs:complexContent>
            <xs:extension base="gml:AbstractFeatureType">
                <xs:sequence>
                    <xs:element name="objectIdAccountableParty" minOccurs="0" maxOccurs="1" type="xs:string">
                        <xs:annotation>
                            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: De identificatie die door of voor de bronhouder is gebruikt om het object in de eigen administratie te kunnen vinden, voordat het was geregistreerd in de basisregistratie ondergrond.
                                Explanation: Het gegeven wordt alleen uitgeleverd aan de dataleverancier en de bronhouder. Het is in de registratie opgenomen om de communicatie tussen de registerbeheerder en de bronhouder of dataleverancier te vergemakkelijken.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="deliveryContext" minOccurs="1" maxOccurs="1" type="sldcom:DeliveryContextType">
                        <xs:annotation>
                            <xs:appinfo>
                                <CodeListName>DeliveryContext</CodeListName>
                                <CodeListURI/>
                            </xs:appinfo>
                            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: De rechtsgrond op basis waarvan, of bij afwezigheid daarvan, de activiteit naar aanleiding waarvan, het betreffende gegeven is aangeleverd aan de basisregistratie ondergrond.
                                Explanation: De wetgever stipuleert dat het gegeven moet zijn vastgelegd om inzicht te geven in de relatie met de taken van een bestuursorgaan. Het gegeven geeft inzicht in de maatschappelijke betekenis van de informatie.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="featureCollection" nillable="false" type="imsikb0101:FeatureCollectionIMSIKB0101PropertyType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SLD_StartReportPropertyType">
        <xs:sequence minOccurs="1">
            <xs:element ref="issld:SLD_StartReport"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="registrationRequest" type="issld:RegistrationRequestType">
        <xs:annotation>
            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition: Het bericht RegistrationRequest is een specialisatie van de abstract klasse RegistrationRequest uit de package brocommon, waaraan het een sourceDocument toevoegt. Met dit bericht kan een nog niet geregistreerd Overheidsbesluit bodemverontreiniging in de BRO worden opgenomen.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="RegistrationRequestType">
        <xs:complexContent>
            <xs:extension base="sldcom:RegistrationRequestType">
                <xs:sequence>
                    <xs:element name="sourceDocument" type="issld:SourceDocumentPropertyType" minOccurs="1" maxOccurs="1"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:element name="SourceDocument" type="issld:SourceDocumentType">
        <xs:annotation>
            <xs:documentation source="http://www.imvertor.org/model-info/technical-documentation">Definition:   Het datatype SourceDocument biedt de keuze uit een aantal verschillende types brondocumenten, waarvan er één opgenomen is in een registrationRequest (registratieverzoek).</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="SourceDocumentType">
        <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element ref="issld:SLD_CompleteReport"/>
            <xs:element ref="issld:SLD_StartReport"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="SourceDocumentPropertyType">
        <xs:sequence minOccurs="0">
            <xs:element ref="issld:SourceDocument"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>