<?xml version="1.0" encoding="UTF-8"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:message="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message"
            xmlns:dsd="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific"
            xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"            
            elementFormDefault="qualified" attributeFormDefault="unqualified"
            xmlns="http://www.bankitalia.it/sdmx/feedbackloops"
            targetNamespace="http://www.bankitalia.it/sdmx/feedbackloops"
>
<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message" schemaLocation="sdmx/SDMXMessage.xsd"/>
<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" schemaLocation="sdmx/SDMXDataStructureSpecific.xsd"/>
<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" schemaLocation="sdmx/SDMXCommon.xsd"/>

<!--*** Types ***-->
<xs:simpleType name="DIZ_SCHEMA_VERSION">
	<xs:restriction base="xs:string">
		 <xs:enumeration value="1"/>
	</xs:restriction>
</xs:simpleType>

		<xs:simpleType name="INTEGER_MAX_LENGTH_13">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
 <xs:maxInclusive value="9999999999999"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="DATE_YYYY_MM_DD">
	<xs:restriction base="xs:date">
		<xs:pattern value=".{10}"/>  
	</xs:restriction>
</xs:simpleType>

<xs:simpleType name="ADHOC_SURVEY">
  <xs:restriction base="xs:string">
   <xs:enumeration value="FLAHR"> <xs:annotation><xs:documentation xml:lang="en">Survey FLAHR - Feedback Loop Ad Hoc Request</xs:documentation></xs:annotation></xs:enumeration>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="ADHOC_SUBMISSION_TYPE">
  <xs:restriction base="xs:string">
   <xs:enumeration value="FULL_REPLACEMENT">
	  <xs:annotation><xs:documentation xml:lang="en">Full Replacement</xs:documentation></xs:annotation>
   </xs:enumeration>
  </xs:restriction>
</xs:simpleType>

		<xs:simpleType name="FL_CUBEID">
<xs:restriction base="xs:string">
	<xs:enumeration value="ADHOCREQUEST"/>
</xs:restriction>
</xs:simpleType>

<!--*** FINE Types ***-->

<!--*** DATASET ***-->
<!-- Dataset Header della survey -->
<xs:complexType name="ObsADHOC_HEADER">
  <xs:complexContent>
    <xs:restriction base="dsd:ObsType">
        <xs:sequence>
          <xs:element ref="common:Annotations" minOccurs="0"/>
        </xs:sequence>
		<xs:attribute name="COD_OA" type="INTEGER_MAX_LENGTH_13" use="required" />
		<xs:attribute name="DT_RFRNC" type="DATE_YYYY_MM_DD" use="required" />
	    <xs:attribute name="SRVY_ID" type="ADHOC_SURVEY" use="required"/>
        <xs:attribute name="SBMSSN_TYP" type="ADHOC_SUBMISSION_TYPE" use="required"/>
        <xs:attribute name="type" type="common:IDType" use="prohibited"/>
        <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="ADHOC_HEADER">
  <xs:complexContent>
    <xs:restriction base="dsd:DataSetType">
        <xs:sequence>
            <xs:element ref="common:Annotations" minOccurs="0"/>
            <xs:element name="DataProvider" type="common:DataProviderReferenceType" form="unqualified" minOccurs="0"/>
            <xs:choice minOccurs="1">
                <xs:element name="Obs" type="ObsADHOC_HEADER" form="unqualified" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>

<!-- DATASET SURVEY FLAHR -->
<!-- PCADHOCREQUEST -->
    <xs:complexType name="ObsPCADHOCREQUEST">
        <xs:complexContent>
            <xs:restriction base="dsd:ObsType">
                <xs:sequence>
                    <xs:element ref="common:Annotations" minOccurs="0"/>
                </xs:sequence>
				<xs:attribute name="CUBEID" type="FL_CUBEID" use="required"/>
                <xs:attribute name="COD_CTP" type="INTEGER_MAX_LENGTH_13" use="required" />
                <xs:attribute name="type" type="common:IDType" use="prohibited"/>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PCADHOCREQUEST">
        <xs:complexContent>
            <xs:restriction base="dsd:DataSetType">
                <xs:sequence>
                    <xs:element ref="common:Annotations" minOccurs="0"/>
                    <xs:element name="DataProvider" type="common:DataProviderReferenceType" form="unqualified" minOccurs="0"/>
                    <xs:choice minOccurs="0">
                        <xs:element name="Obs" type="ObsPCADHOCREQUEST" form="unqualified" maxOccurs="50"/>
                    </xs:choice>
                </xs:sequence>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
<!--*** FINE DATASET ***-->


</xs:schema>
