<?xml version="1.0" encoding="ISO-8859-7" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.bankofgreece.gr/stat/investment_funds/v1"
           xmlns:ivf="http://www.bankofgreece.gr/stat/investment_funds/v1"
           targetNamespace="http://www.bankofgreece.gr/stat/investment_funds/v1" elementFormDefault="qualified"
           version="1.0">
    <!-- Simple type definitions -->
    <!-- 
        EmptyType
    -->
    <xs:simpleType name="EmptyType">
        <xs:restriction base="xs:string">
            <xs:enumeration value=""/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        String60Type
    -->
    <xs:simpleType name="String60Type">
        <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="60"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        NonEmptyString60Type
    -->
    <xs:simpleType name="NonEmptyString60Type">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="60"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        NonEmptyWithCharsString60Type
    -->
    <xs:simpleType name="NonEmptyWithCharsString60Type">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="60"/>
            <xs:pattern value="(\s*\S+\s*)+"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        NonNegativeIntegerType
    -->
    <xs:simpleType name="NonNegativeIntegerType">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d+"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        NonNegativeIntegerOrNullType
    -->
    <xs:simpleType name="NonNegativeIntegerOrNullType">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d*"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        BooleanOrNullType
    -->
    <xs:simpleType name="BooleanOrNullType">
        <xs:restriction base="xs:string">
            <xs:pattern value="(0|1|false|true|FALSE|TRUE|False|True){0,1}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        YearOrNullType
    -->
    <xs:simpleType name="YearOrNullType">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\d{4}|){0,1}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        DateOrNullType
    -->
    <xs:simpleType name="DateOrNullType">
        <xs:union memberTypes="xs:date EmptyType"/>
    </xs:simpleType>
    <!-- 
        IntegerOrNullType
    -->
    <xs:simpleType name="IntegerOrNullType">
        <xs:union memberTypes="xs:integer EmptyType"/>
    </xs:simpleType>
    <!-- 
        SenderIdType
    -->
    <xs:simpleType name="SenderIdType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{3}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        MFCodeType
    -->
    <xs:simpleType name="MFCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{5}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        ItemCodeType
    -->
    <xs:simpleType name="ItemCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9a-zA-Z.]{1,31}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        GeneralA21ItemCodeType
    -->
    <xs:simpleType name="GeneralA21ItemCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[1-9]{1}A.A21.A.[0-9a-zA-Z.]{1,30}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        GeneralA22A23ItemCodeType
    -->
    <xs:simpleType name="GeneralA22A23ItemCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[1-9]{1}A.A(22|23).(F|G|H).[0-9a-zA-Z.]{1,30}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        GeneralOtherItemCodeType
    -->
    <xs:simpleType name="GeneralOtherItemCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[1-9]{1}A.A[^(21|22|23)]{2}.[0-9a-zA-Z.]{1,30}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        GeneralItemCodeType
    -->
    <xs:simpleType name="GeneralItemCodeType">
        <!--
    <xs:union memberTypes="xs:string GeneralA21ItemCodeType GeneralA22A23ItemCodeType GeneralOtherItemCodeType"/>
    -->
        <xs:union memberTypes="xs:string"/>
    </xs:simpleType>
    <!-- 
        AssetsDepositsAndReposItemCodeType
    -->
    <xs:simpleType name="AssetsDepositsAndReposItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.A2[1-3]{1}.[0-9a-zA-Z.]{1,23}"/> -->
            <!-- <xs:pattern value="[1-9]{1}A.A2[1-3]{1}.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.1000.[0-9a-zA-Z]{1,17}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.A21.A.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.1000.[0-9a-zA-Z]{1,17}"/>
            <xs:pattern value="(10|[1-9]{1})A.A2[2-3]{1}.(F|G|H).[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.1000.[0-9a-zA-Z]{1,17}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AssetsSecuritiesOtherThanSharesItemCodeType
    -->
    <xs:simpleType name="AssetsSecuritiesOtherThanSharesItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <xs:pattern value="(10|[1-9]{1})A.A30.(F|G|H).[0-9a-zA-Z.]{1,21}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AssetsStocksItemCodeType
    -->
    <xs:simpleType name="AssetsStocksItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <xs:pattern value="(10|[1-9]{1})A.A5[124]{1}.[0-9a-zA-Z.]{1,23}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AssetsIVFAndMMFSharesItemCodeType
    -->
    <xs:simpleType name="AssetsIVFAndMMFSharesItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <xs:pattern value="(10|[1-9]{1})A.A53.[0-9a-zA-Z.]{1,23}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AssetsFinancialDerivativesItemCodeType
    -->
    <xs:simpleType name="AssetsFinancialDerivativesItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.A7[1-4]{1}.[0-9a-zA-Z.]{1,23}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.A70.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.0000.[0-9a-zA-Z]{1,5}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AssetsRemainingAssetsItemCodeType
    -->
    <xs:simpleType name="AssetsRemainingAssetsItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.A80.[0-9a-zA-Z.]{1,23}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.A80.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.U(4|5|6).0000.EUR"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        LiabilitiesIVFSharesUnitsItemCodeType
    -->
    <xs:simpleType name="LiabilitiesIVFSharesUnitsItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <xs:pattern value="(10|[1-9]{1})A.L30.[0-9a-zA-Z.]{1,23}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        LiabilitiesFinancialDerivativesItemCodeType
    -->
    <xs:simpleType name="LiabilitiesFinancialDerivativesItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.L7[1-4]{1}.[0-9a-zA-Z.]{1,23}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.L7[1-4]{1}.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.0000.[0-9a-zA-Z]{1,5}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        LiabilitiesRemainingLiabilitiesItemCodeType
    -->
    <xs:simpleType name="LiabilitiesRemainingLiabilitiesItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.L80.[0-9a-zA-Z.]{1,23}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.L80.[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.U(4|5|6).0000.EUR"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        AdditionalDataItemCodeType
    -->
    <xs:simpleType name="AdditionalDataItemCodeType">
        <xs:restriction base="GeneralItemCodeType">
            <!-- <xs:pattern value="[1-9]{1}A.I(01|02|03|04|05|06|07|08|09|10).[0-9a-zA-Z.]{1,23}"/> -->
            <xs:pattern value="(10|[1-9]{1})A.I(01|02|03|04|05|06|07|08|09|10).[0-9a-zA-Z]{1,5}.[0-9a-zA-Z]{1,5}.U6.0000.EUR"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        ISINType
    -->
    <xs:simpleType name="ISINType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z0-9]{9,12}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        CountryCodeType
    -->
    <xs:simpleType name="CountryCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="AF"/>
            <xs:enumeration value="AX"/>
            <xs:enumeration value="AL"/>
            <xs:enumeration value="DZ"/>
            <xs:enumeration value="AS"/>
            <xs:enumeration value="AD"/>
            <xs:enumeration value="AO"/>
            <xs:enumeration value="AI"/>
            <xs:enumeration value="AQ"/>
            <xs:enumeration value="AG"/>
            <xs:enumeration value="AR"/>
            <xs:enumeration value="AM"/>
            <xs:enumeration value="AN"/>
            <xs:enumeration value="AW"/>
            <xs:enumeration value="AU"/>
            <xs:enumeration value="AT"/>
            <xs:enumeration value="AZ"/>
            <xs:enumeration value="BS"/>
            <xs:enumeration value="BH"/>
            <xs:enumeration value="BD"/>
            <xs:enumeration value="BB"/>
            <xs:enumeration value="BY"/>
            <xs:enumeration value="BE"/>
            <xs:enumeration value="BZ"/>
            <xs:enumeration value="BJ"/>
            <xs:enumeration value="BM"/>
            <xs:enumeration value="BT"/>
            <xs:enumeration value="BO"/>
            <xs:enumeration value="BQ"/>
            <xs:enumeration value="BA"/>
            <xs:enumeration value="BW"/>
            <xs:enumeration value="BV"/>
            <xs:enumeration value="BR"/>
            <xs:enumeration value="IO"/>
            <xs:enumeration value="BN"/>
            <xs:enumeration value="BG"/>
            <xs:enumeration value="BF"/>
            <xs:enumeration value="BI"/>
            <xs:enumeration value="KH"/>
            <xs:enumeration value="CM"/>
            <xs:enumeration value="CA"/>
            <xs:enumeration value="CV"/>
            <xs:enumeration value="KY"/>
            <xs:enumeration value="CF"/>
            <xs:enumeration value="TD"/>
            <xs:enumeration value="CL"/>
            <xs:enumeration value="CN"/>
            <xs:enumeration value="CX"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="CO"/>
            <xs:enumeration value="KM"/>
            <xs:enumeration value="CG"/>
            <xs:enumeration value="CD"/>
            <xs:enumeration value="CK"/>
            <xs:enumeration value="CR"/>
            <xs:enumeration value="CI"/>
            <xs:enumeration value="HR"/>
            <xs:enumeration value="CU"/>
            <xs:enumeration value="CW"/>
            <xs:enumeration value="CY"/>
            <xs:enumeration value="CZ"/>
            <xs:enumeration value="DK"/>
            <xs:enumeration value="DJ"/>
            <xs:enumeration value="DM"/>
            <xs:enumeration value="DO"/>
            <xs:enumeration value="EC"/>
            <xs:enumeration value="EG"/>
            <xs:enumeration value="SV"/>
            <xs:enumeration value="GQ"/>
            <xs:enumeration value="ER"/>
            <xs:enumeration value="EE"/>
            <xs:enumeration value="ET"/>
            <xs:enumeration value="FK"/>
            <xs:enumeration value="FO"/>
            <xs:enumeration value="FJ"/>
            <xs:enumeration value="FI"/>
            <xs:enumeration value="FR"/>
            <xs:enumeration value="GF"/>
            <xs:enumeration value="PF"/>
            <xs:enumeration value="TF"/>
            <xs:enumeration value="GA"/>
            <xs:enumeration value="GM"/>
            <xs:enumeration value="GE"/>
            <xs:enumeration value="DE"/>
            <xs:enumeration value="GH"/>
            <xs:enumeration value="GI"/>
            <xs:enumeration value="GR"/>
            <xs:enumeration value="GL"/>
            <xs:enumeration value="GD"/>
            <xs:enumeration value="GP"/>
            <xs:enumeration value="GU"/>
            <xs:enumeration value="GT"/>
            <xs:enumeration value="GG"/>
            <xs:enumeration value="GN"/>
            <xs:enumeration value="GW"/>
            <xs:enumeration value="GY"/>
            <xs:enumeration value="HT"/>
            <xs:enumeration value="HM"/>
            <xs:enumeration value="VA"/>
            <xs:enumeration value="HN"/>
            <xs:enumeration value="HK"/>
            <xs:enumeration value="HU"/>
            <xs:enumeration value="IS"/>
            <xs:enumeration value="IN"/>
            <xs:enumeration value="ID"/>
            <xs:enumeration value="IR"/>
            <xs:enumeration value="IQ"/>
            <xs:enumeration value="IE"/>
            <xs:enumeration value="IM"/>
            <xs:enumeration value="IL"/>
            <xs:enumeration value="IT"/>
            <xs:enumeration value="JM"/>
            <xs:enumeration value="JP"/>
            <xs:enumeration value="JE"/>
            <xs:enumeration value="JO"/>
            <xs:enumeration value="KZ"/>
            <xs:enumeration value="KE"/>
            <xs:enumeration value="KI"/>
            <xs:enumeration value="KP"/>
            <xs:enumeration value="KR"/>
            <xs:enumeration value="KW"/>
            <xs:enumeration value="KG"/>
            <xs:enumeration value="LA"/>
            <xs:enumeration value="LV"/>
            <xs:enumeration value="LB"/>
            <xs:enumeration value="LS"/>
            <xs:enumeration value="LR"/>
            <xs:enumeration value="LY"/>
            <xs:enumeration value="LI"/>
            <xs:enumeration value="LT"/>
            <xs:enumeration value="LU"/>
            <xs:enumeration value="MO"/>
            <xs:enumeration value="MK"/>
            <xs:enumeration value="MG"/>
            <xs:enumeration value="MW"/>
            <xs:enumeration value="MY"/>
            <xs:enumeration value="MV"/>
            <xs:enumeration value="ML"/>
            <xs:enumeration value="MT"/>
            <xs:enumeration value="MH"/>
            <xs:enumeration value="MQ"/>
            <xs:enumeration value="MR"/>
            <xs:enumeration value="MU"/>
            <xs:enumeration value="YT"/>
            <xs:enumeration value="MX"/>
            <xs:enumeration value="FM"/>
            <xs:enumeration value="MD"/>
            <xs:enumeration value="MC"/>
            <xs:enumeration value="MN"/>
            <xs:enumeration value="ME"/>
            <xs:enumeration value="MS"/>
            <xs:enumeration value="MA"/>
            <xs:enumeration value="MZ"/>
            <xs:enumeration value="MM"/>
            <xs:enumeration value="NA"/>
            <xs:enumeration value="NR"/>
            <xs:enumeration value="NP"/>
            <xs:enumeration value="NL"/>
            <xs:enumeration value="NC"/>
            <xs:enumeration value="NZ"/>
            <xs:enumeration value="NI"/>
            <xs:enumeration value="NE"/>
            <xs:enumeration value="NG"/>
            <xs:enumeration value="NU"/>
            <xs:enumeration value="NF"/>
            <xs:enumeration value="MP"/>
            <xs:enumeration value="NO"/>
            <xs:enumeration value="OM"/>
            <xs:enumeration value="PK"/>
            <xs:enumeration value="PW"/>
            <xs:enumeration value="PS"/>
            <xs:enumeration value="PA"/>
            <xs:enumeration value="PG"/>
            <xs:enumeration value="PY"/>
            <xs:enumeration value="PE"/>
            <xs:enumeration value="PH"/>
            <xs:enumeration value="PN"/>
            <xs:enumeration value="PL"/>
            <xs:enumeration value="PT"/>
            <xs:enumeration value="PR"/>
            <xs:enumeration value="QA"/>
            <xs:enumeration value="RE"/>
            <xs:enumeration value="RO"/>
            <xs:enumeration value="RU"/>
            <xs:enumeration value="RW"/>
            <xs:enumeration value="BL"/>
            <xs:enumeration value="SH"/>
            <xs:enumeration value="KN"/>
            <xs:enumeration value="LC"/>
            <xs:enumeration value="MF"/>
            <xs:enumeration value="PM"/>
            <xs:enumeration value="VC"/>
            <xs:enumeration value="WS"/>
            <xs:enumeration value="SM"/>
            <xs:enumeration value="ST"/>
            <xs:enumeration value="SA"/>
            <xs:enumeration value="SN"/>
            <xs:enumeration value="RS"/>
            <xs:enumeration value="SC"/>
            <xs:enumeration value="SL"/>
            <xs:enumeration value="SG"/>
            <xs:enumeration value="SX"/>
            <xs:enumeration value="SK"/>
            <xs:enumeration value="SI"/>
            <xs:enumeration value="SB"/>
            <xs:enumeration value="SO"/>
            <xs:enumeration value="ZA"/>
            <xs:enumeration value="GS"/>
            <xs:enumeration value="ES"/>
            <xs:enumeration value="LK"/>
            <xs:enumeration value="SD"/>
            <xs:enumeration value="SR"/>
            <xs:enumeration value="SJ"/>
            <xs:enumeration value="SZ"/>
            <xs:enumeration value="SE"/>
            <xs:enumeration value="CH"/>
            <xs:enumeration value="SY"/>
            <xs:enumeration value="TW"/>
            <xs:enumeration value="TJ"/>
            <xs:enumeration value="TZ"/>
            <xs:enumeration value="TH"/>
            <xs:enumeration value="TL"/>
            <xs:enumeration value="TG"/>
            <xs:enumeration value="TK"/>
            <xs:enumeration value="TO"/>
            <xs:enumeration value="TT"/>
            <xs:enumeration value="TN"/>
            <xs:enumeration value="TR"/>
            <xs:enumeration value="TM"/>
            <xs:enumeration value="TC"/>
            <xs:enumeration value="TV"/>
            <xs:enumeration value="UG"/>
            <xs:enumeration value="UA"/>
            <xs:enumeration value="AE"/>
            <xs:enumeration value="GB"/>
            <xs:enumeration value="US"/>
            <xs:enumeration value="UM"/>
            <xs:enumeration value="UY"/>
            <xs:enumeration value="UZ"/>
            <xs:enumeration value="VU"/>
            <xs:enumeration value="VE"/>
            <xs:enumeration value="VN"/>
            <xs:enumeration value="VG"/>
            <xs:enumeration value="VI"/>
            <xs:enumeration value="WF"/>
            <xs:enumeration value="EH"/>
            <xs:enumeration value="YE"/>
            <xs:enumeration value="ZM"/>
            <xs:enumeration value="ZW"/>
            <xs:enumeration value="BQ"/>
            <xs:enumeration value="CW"/>
            <xs:enumeration value="SX"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OTCType
    -->
    <xs:simpleType name="OTCType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="OTC"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        ESMType
    -->
    <xs:simpleType name="ESMType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="4S"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        EIBType
    -->
    <xs:simpleType name="EIBType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="4C"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        EBRDType
    -->
    <xs:simpleType name="EBRDType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="5F"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        EECType
    -->
    <xs:simpleType name="EECType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="4A"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        EADBType
    -->
    <xs:simpleType name="EADBType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="7C"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        CountryCodeOrOTCType
    -->
    <xs:simpleType name="CountryCodeOrOTCType">
        <xs:union memberTypes="CountryCodeType OTCType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrESMType
    -->
    <xs:simpleType name="CountryCodeOrESMType">
        <xs:union memberTypes="CountryCodeType ESMType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrEIBType
    -->
    <xs:simpleType name="CountryCodeOrEIBType">
        <xs:union memberTypes="CountryCodeType EIBType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrEIBOrEBRDOrEECType
    -->
    <xs:simpleType name="CountryCodeOrEIBOrEBRDOrEECType">
        <xs:union memberTypes="CountryCodeType EIBType EBRDType EECType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrESMOrEIBOrEBRDOrEECType
    -->
    <xs:simpleType name="CountryCodeOrESMOrEIBOrEBRDOrEECType">
        <xs:union memberTypes="CountryCodeOrESMType EIBType EBRDType EECType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrESMOrEIBOrEBRDOrEECOrEADBType
    -->
    <xs:simpleType name="CountryCodeOrESMOrEIBOrEBRDOrEECOrEADBType">
        <xs:union memberTypes="CountryCodeOrESMType EIBType EBRDType EECType EADBType"/>
    </xs:simpleType>
    <!-- 
        CountryCodeOrESMOrOTCType
    -->
    <xs:simpleType name="CountryCodeOrESMOrOTCType">
        <xs:union memberTypes="CountryCodeOrESMType OTCType"/>
    </xs:simpleType>
    <!-- 
        ReferenceCurrencyCodeType
    -->
    <xs:simpleType name="ReferenceCurrencyCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="AED"/>
            <xs:enumeration value="AFA"/>
            <xs:enumeration value="AFN"/>
            <xs:enumeration value="ALL"/>
            <xs:enumeration value="AMD"/>
            <xs:enumeration value="ANG"/>
            <xs:enumeration value="AOA"/>
            <xs:enumeration value="AON"/>
            <xs:enumeration value="AOR"/>
            <xs:enumeration value="ARS"/>
            <xs:enumeration value="ATS"/>
            <xs:enumeration value="AUD"/>
            <xs:enumeration value="AWG"/>
            <xs:enumeration value="AZM"/>
            <xs:enumeration value="AZN"/>
            <xs:enumeration value="BAM"/>
            <xs:enumeration value="BBD"/>
            <xs:enumeration value="BDT"/>
            <xs:enumeration value="BEF"/>
            <xs:enumeration value="BEL"/>
            <xs:enumeration value="BGL"/>
            <xs:enumeration value="BGN"/>
            <xs:enumeration value="BHD"/>
            <xs:enumeration value="BIF"/>
            <xs:enumeration value="BMD"/>
            <xs:enumeration value="BND"/>
            <xs:enumeration value="BOB"/>
            <xs:enumeration value="BRL"/>
            <xs:enumeration value="BSD"/>
            <xs:enumeration value="BTN"/>
            <xs:enumeration value="BWP"/>
            <xs:enumeration value="BYB"/>
            <xs:enumeration value="BYR"/>
            <xs:enumeration value="BZD"/>
            <xs:enumeration value="CAD"/>
            <xs:enumeration value="CDF"/>
            <xs:enumeration value="CHF"/>
            <xs:enumeration value="CLP"/>
            <xs:enumeration value="CNY"/>
            <xs:enumeration value="COP"/>
            <xs:enumeration value="CRC"/>
            <xs:enumeration value="CSD"/>
            <xs:enumeration value="CUP"/>
            <xs:enumeration value="CVE"/>
            <xs:enumeration value="CYP"/>
            <xs:enumeration value="CZK"/>
            <xs:enumeration value="DEM"/>
            <xs:enumeration value="DJF"/>
            <xs:enumeration value="DKK"/>
            <xs:enumeration value="DOP"/>
            <xs:enumeration value="DZD"/>
            <xs:enumeration value="ECS"/>
            <xs:enumeration value="EEK"/>
            <xs:enumeration value="EGP"/>
            <xs:enumeration value="ERN"/>
            <xs:enumeration value="ESP"/>
            <xs:enumeration value="ETB"/>
            <xs:enumeration value="EUR"/>
            <xs:enumeration value="FIM"/>
            <xs:enumeration value="FJD"/>
            <xs:enumeration value="FKP"/>
            <xs:enumeration value="FRF"/>
            <xs:enumeration value="GBP"/>
            <xs:enumeration value="GEL"/>
            <xs:enumeration value="GGP"/>
            <xs:enumeration value="GHC"/>
            <xs:enumeration value="GHS"/>
            <xs:enumeration value="GIP"/>
            <xs:enumeration value="GMD"/>
            <xs:enumeration value="GNF"/>
            <xs:enumeration value="GRD"/>
            <xs:enumeration value="GTQ"/>
            <xs:enumeration value="GYD"/>
            <xs:enumeration value="HKD"/>
            <xs:enumeration value="HKQ"/>
            <xs:enumeration value="HNL"/>
            <xs:enumeration value="HRK"/>
            <xs:enumeration value="HTG"/>
            <xs:enumeration value="HUF"/>
            <xs:enumeration value="IDR"/>
            <xs:enumeration value="IEP"/>
            <xs:enumeration value="ILS"/>
            <xs:enumeration value="IMP"/>
            <xs:enumeration value="INR"/>
            <xs:enumeration value="IQD"/>
            <xs:enumeration value="IRR"/>
            <xs:enumeration value="ISK"/>
            <xs:enumeration value="ITL"/>
            <xs:enumeration value="JEP"/>
            <xs:enumeration value="JMD"/>
            <xs:enumeration value="JOD"/>
            <xs:enumeration value="JPY"/>
            <xs:enumeration value="KES"/>
            <xs:enumeration value="KGS"/>
            <xs:enumeration value="KHR"/>
            <xs:enumeration value="KMF"/>
            <xs:enumeration value="KPW"/>
            <xs:enumeration value="KRW"/>
            <xs:enumeration value="KWD"/>
            <xs:enumeration value="KYD"/>
            <xs:enumeration value="KZT"/>
            <xs:enumeration value="LAK"/>
            <xs:enumeration value="LBP"/>
            <xs:enumeration value="LKR"/>
            <xs:enumeration value="LRD"/>
            <xs:enumeration value="LSL"/>
            <xs:enumeration value="LTL"/>
            <xs:enumeration value="LUF"/>
            <xs:enumeration value="LVL"/>
            <xs:enumeration value="LYD"/>
            <xs:enumeration value="MAD"/>
            <xs:enumeration value="MDL"/>
            <xs:enumeration value="MGA"/>
            <xs:enumeration value="MGF"/>
            <xs:enumeration value="MKD"/>
            <xs:enumeration value="MMK"/>
            <xs:enumeration value="MNT"/>
            <xs:enumeration value="MOP"/>
            <xs:enumeration value="MRO"/>
            <xs:enumeration value="MTL"/>
            <xs:enumeration value="MUR"/>
            <xs:enumeration value="MVR"/>
            <xs:enumeration value="MWK"/>
            <xs:enumeration value="MXN"/>
            <xs:enumeration value="MXP"/>
            <xs:enumeration value="MYR"/>
            <xs:enumeration value="MZM"/>
            <xs:enumeration value="MZN"/>
            <xs:enumeration value="NAD"/>
            <xs:enumeration value="NGN"/>
            <xs:enumeration value="NIO"/>
            <xs:enumeration value="NLG"/>
            <xs:enumeration value="NOK"/>
            <xs:enumeration value="NPR"/>
            <xs:enumeration value="NZD"/>
            <xs:enumeration value="OMR"/>
            <xs:enumeration value="PAB"/>
            <xs:enumeration value="PEN"/>
            <xs:enumeration value="PGK"/>
            <xs:enumeration value="PHP"/>
            <xs:enumeration value="PKR"/>
            <xs:enumeration value="PLN"/>
            <xs:enumeration value="PLZ"/>
            <xs:enumeration value="PTE"/>
            <xs:enumeration value="PYG"/>
            <xs:enumeration value="QAR"/>
            <xs:enumeration value="ROL"/>
            <xs:enumeration value="RON"/>
            <xs:enumeration value="RSD"/>
            <xs:enumeration value="RUB"/>
            <xs:enumeration value="RUR"/>
            <xs:enumeration value="RWF"/>
            <xs:enumeration value="SAR"/>
            <xs:enumeration value="SBD"/>
            <xs:enumeration value="SCR"/>
            <xs:enumeration value="SDD"/>
            <xs:enumeration value="SDG"/>
            <xs:enumeration value="SDP"/>
            <xs:enumeration value="SEK"/>
            <xs:enumeration value="SGD"/>
            <xs:enumeration value="SHP"/>
            <xs:enumeration value="SIT"/>
            <xs:enumeration value="SKK"/>
            <xs:enumeration value="SLL"/>
            <xs:enumeration value="SOS"/>
            <xs:enumeration value="SPL"/>
            <xs:enumeration value="SRD"/>
            <xs:enumeration value="SRG"/>
            <xs:enumeration value="STD"/>
            <xs:enumeration value="SVC"/>
            <xs:enumeration value="SYP"/>
            <xs:enumeration value="SZL"/>
            <xs:enumeration value="THB"/>
            <xs:enumeration value="TJR"/>
            <xs:enumeration value="TJS"/>
            <xs:enumeration value="TMM"/>
            <xs:enumeration value="TND"/>
            <xs:enumeration value="TOP"/>
            <xs:enumeration value="TPE"/>
            <xs:enumeration value="TRL"/>
            <xs:enumeration value="TRY"/>
            <xs:enumeration value="TTD"/>
            <xs:enumeration value="TVD"/>
            <xs:enumeration value="TWD"/>
            <xs:enumeration value="TZS"/>
            <xs:enumeration value="UAH"/>
            <xs:enumeration value="UGX"/>
            <xs:enumeration value="USD"/>
            <xs:enumeration value="UYU"/>
            <xs:enumeration value="UZS"/>
            <xs:enumeration value="VEB"/>
            <xs:enumeration value="VEF"/>
            <xs:enumeration value="VND"/>
            <xs:enumeration value="VUV"/>
            <xs:enumeration value="WST"/>
            <xs:enumeration value="XAF"/>
            <xs:enumeration value="XAG"/>
            <xs:enumeration value="XAU"/>
            <xs:enumeration value="XBA"/>
            <xs:enumeration value="XBB"/>
            <xs:enumeration value="XCD"/>
            <xs:enumeration value="XDR"/>
            <xs:enumeration value="XEU"/>
            <xs:enumeration value="XOF"/>
            <xs:enumeration value="XPD"/>
            <xs:enumeration value="XPF"/>
            <xs:enumeration value="XPT"/>
            <xs:enumeration value="YER"/>
            <xs:enumeration value="YUM"/>
            <xs:enumeration value="ZAR"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        EndOfPeriodValueInReferenceCurrencyType
    -->
    <xs:simpleType name="EndOfPeriodValueInReferenceCurrencyType">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d*(.|,){0,1}\d{0,20}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        Decimal20Dot2Type
    -->
    <xs:simpleType name="Decimal20Dot2Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d{0,20}(.|,){0,1}\d{0,2}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        Decimal20Dot3Type
    -->
    <xs:simpleType name="Decimal20Dot3Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d{0,20}(.|,){0,1}\d{0,3}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        Decimal20Dot6Type
    -->
    <xs:simpleType name="Decimal20Dot6Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d{0,20}(.|,){0,1}\d{0,6}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        Decimal18Dot20Type
    -->
    <xs:simpleType name="Decimal18Dot20Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d{0,18}(.|,){0,1}\d{0,20}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        ZeroType
    -->
    <xs:simpleType name="ZeroType">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,100}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        PositiveNegativeDecimal20Dot2Type
    -->
    <xs:simpleType name="PositiveNegativeDecimal20Dot2Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,2}"/>
            <xs:pattern value="(\+|\-){1}\d{0,20}(.|,){0,1}\d{0,2}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        PositiveNegativeDecimal18Dot20Type
    -->
    <xs:simpleType name="PositiveNegativeDecimal18Dot20Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,20}"/>
            <xs:pattern value="(\+|\-){1}\d{0,18}(.|,){0,1}\d{0,20}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OptionalPositiveNegativeDecimal20Dot2Type
    -->
    <xs:simpleType name="OptionalPositiveNegativeDecimal20Dot2Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,2}"/>
            <xs:pattern value="(\+|\-){0,1}\d{0,20}(.|,){0,1}\d{0,2}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OptionalPositiveNegativeDecimal20Dot3Type
    -->
    <xs:simpleType name="OptionalPositiveNegativeDecimal20Dot3Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,3}"/>
            <xs:pattern value="(\+|\-){0,1}\d{0,20}(.|,){0,1}\d{0,3}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OptionalPositiveNegativeDecimal20Dot4Type
    -->
    <xs:simpleType name="OptionalPositiveNegativeDecimal20Dot4Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,4}"/>
            <xs:pattern value="(\+|\-){0,1}\d{0,20}(.|,){0,1}\d{0,4}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OptionalPositiveNegativeDecimal20Dot6Type
    -->
    <xs:simpleType name="OptionalPositiveNegativeDecimal20Dot6Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,6}"/>
            <xs:pattern value="(\+|\-){0,1}\d{0,20}(.|,){0,1}\d{0,6}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        OptionalPositiveNegativeDecimal18Dot20Type
    -->
    <xs:simpleType name="OptionalPositiveNegativeDecimal18Dot20Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\+|\-){0,1}0(.|,){0,1}(0){0,20}"/>
            <xs:pattern value="(\+|\-){0,1}\d{0,18}(.|,){0,1}\d{0,20}"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        PositionType
    -->
    <xs:simpleType name="PositionType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        LongPositionType
    -->
    <xs:simpleType name="LongPositionType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Long"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
        ShortPositionType
    -->
    <xs:simpleType name="ShortPositionType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Short"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- Complex type definitions -->
    <!-- 
        HeaderType
    -->
    <xs:complexType name="HeaderType">
        <xs:attribute name="senderId" type="SenderIdType" use="required"/>
        <xs:attribute name="senderName" type="xs:string" use="required"/>
        <xs:attribute name="referencePeriod" type="xs:gYearMonth" use="required"/>
    </xs:complexType>
    <!--
        DepositAndReposDetailType
    -->
    <xs:complexType name="DepositAndReposDetailType">
        <xs:sequence>
            <xs:element name="IbanBicSwift" type="String60Type" minOccurs="0" maxOccurs="1"/>
            <xs:element name="GRBankId" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="BankName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="BankCountryCode" type="CountryCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInReferenceCurrency" type="OptionalPositiveNegativeDecimal18Dot20Type"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="AccruedInterestAmountInReferenceCurrency"
                        type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="AccruedInterestAmountInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="NetInvestmentsInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        DepositsAndReposDetailsType
    -->
    <xs:complexType name="DepositsAndReposDetailsType">
        <xs:sequence>
            <xs:element name="DepositAndReposDetail" type="DepositAndReposDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsDepositsAndReposItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        SecurityOtherThanSharesDetailType
    -->
    <xs:complexType name="SecurityOtherThanSharesDetailType">
        <xs:sequence>
            <xs:element name="ISIN" type="ISINType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="SecurityName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="IssuerName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="IssuerCountryCode" type="CountryCodeOrESMOrEIBOrEBRDOrEECOrEADBType" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="GRBankId" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="SecuritiesSettlementSystem" type="String60Type" minOccurs="0" maxOccurs="1"/>
            <xs:element name="SecuritiesSettlementSystemCountryCode" type="CountryCodeOrESMOrOTCType" minOccurs="0"
                        maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="Decimal20Dot3Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="FaceValueInReferenceCurrency" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="FaceValueInEUR" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="MarketValueInReferenceCurrency" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="MarketValueInEUR" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="AccruedInterestAmountInReferenceCurrency"
                        type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="AccruedInterestAmountInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="NetInvestmentsInEUR" type="PositiveNegativeDecimal18Dot20Type" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        SecuritiesOtherThanSharesDetailsType
    -->
    <xs:complexType name="SecuritiesOtherThanSharesDetailsType">
        <xs:sequence>
            <xs:element name="SecurityOtherThanSharesDetail" type="SecurityOtherThanSharesDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsSecuritiesOtherThanSharesItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        StockDetailType
    -->
    <xs:complexType name="StockDetailType">
        <xs:sequence>
            <xs:element name="ISIN" type="ISINType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="IssuerName" type="NonEmptyString60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="IssuerCountryCode" type="CountryCodeOrESMOrEIBOrEBRDOrEECOrEADBType" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="GRBankId" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="TradingMarket" type="NonEmptyString60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="Decimal20Dot3Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="EndOfPeriodValueInReferenceCurrency" type="EndOfPeriodValueInReferenceCurrencyType"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInReferenceCurrency" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NetInvestmentsInEUR" type="PositiveNegativeDecimal18Dot20Type" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        StocksDetailsType
    -->
    <xs:complexType name="StocksDetailsType">
        <xs:sequence>
            <xs:element name="StockDetail" type="StockDetailType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsStocksItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        IVFAndMMFShareDetailType
    -->
    <xs:complexType name="IVFAndMMFShareDetailType">
        <xs:sequence>
            <xs:element name="ISIN" type="ISINType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFCode" type="MFCodeType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFName" type="String60Type" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFMCCode" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFMCName" type="NonEmptyWithCharsString60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="MFMCCountryCode" type="CountryCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="Decimal20Dot3Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="EndOfPeriodValueInReferenceCurrency" type="EndOfPeriodValueInReferenceCurrencyType"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInReferenceCurrency" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="Decimal18Dot20Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NetInvestmentsInEUR" type="PositiveNegativeDecimal18Dot20Type" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        IVFAndMMFSharesDetailsType
    -->
    <xs:complexType name="IVFAndMMFSharesDetailsType">
        <xs:sequence>
            <xs:element name="IVFAndMMFShareDetail" type="IVFAndMMFShareDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsIVFAndMMFSharesItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        LongShortPositionFinancialDerivativeDetailType
    -->
    <xs:complexType name="LongShortPositionFinancialDerivativeDetailType">
        <xs:sequence>
            <xs:element name="ISIN" type="ISINType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="DerivativeName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Position" type="PositionType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TradingMarket" type="NonEmptyString60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="OptionalPositiveNegativeDecimal20Dot3Type" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInReferenceCurrency" type="OptionalPositiveNegativeDecimal18Dot20Type"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        LongShortPositionFinancialDerivativesDetailsType
    -->
    <xs:complexType name="LongShortPositionFinancialDerivativesDetailsType">
        <xs:sequence>
            <xs:element name="FinancialDerivativeDetail" type="LongShortPositionFinancialDerivativeDetailType"
                        minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsFinancialDerivativesItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        RemainingAssetsItemDetailType
    -->
    <xs:complexType name="RemainingAssetsItemDetailType">
        <xs:sequence>
            <xs:element name="TotalValueInEUR" type="Decimal20Dot2Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NetInvestmentsInEUR" type="PositiveNegativeDecimal20Dot2Type" minOccurs="1"
                        maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AssetsRemainingAssetsItemCodeType" use="required"/>
    </xs:complexType>
    <!-- 
        RemainingAssetsItemNewType
    -->
    <xs:complexType name="RemainingAssetsItemNewType">
        <xs:sequence>
            <xs:element name="RemainingAssetsItem" type="RemainingAssetsItemDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!--
        RemainingAssetsItemsType
    -->
    <xs:complexType name="RemainingAssetsItemsType">
        <xs:sequence>
            <xs:element name="RemainingAssetsItem" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="Decimal18Dot20Type">
                            <xs:attribute name="itemCode" type="AssetsRemainingAssetsItemCodeType" use="required"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        AssetItemsType
    -->
    <xs:complexType name="AssetItemsType">
        <xs:sequence>
            <xs:element name="DepositsAndReposItem" type="DepositsAndReposDetailsType" minOccurs="0"
                        maxOccurs="unbounded"/>
            <xs:element name="SecuritiesOtherThanSharesItem" type="SecuritiesOtherThanSharesDetailsType" minOccurs="0"
                        maxOccurs="unbounded"/>
            <xs:element name="StocksItem" type="StocksDetailsType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="IVFAndMMFSharesItem" type="IVFAndMMFSharesDetailsType" minOccurs="0"
                        maxOccurs="unbounded"/>
            <xs:element name="FinancialDerivativesItem" type="LongShortPositionFinancialDerivativesDetailsType"
                        minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="RemainingAssetsItems" type="RemainingAssetsItemsType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!--
        IVFSharesUnitDetailType
    -->
    <xs:complexType name="IVFSharesUnitDetailType">
        <xs:sequence>
            <xs:element name="HolderName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="HolderCountryCode" type="CountryCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="GRBankId" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFMCCode" type="SenderIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFCode" type="MFCodeType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MFName" type="String60Type" minOccurs="0" maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="OptionalPositiveNegativeDecimal20Dot3Type" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="OptionalPositiveNegativeDecimal18Dot20Type" minOccurs="1"
                        maxOccurs="1"/>
            <xs:element name="IncomeFlows" type="PositiveNegativeDecimal18Dot20Type" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        IVFSharesUnitsDetailsType
    -->
    <xs:complexType name="IVFSharesUnitsDetailsType">
        <xs:sequence>
            <xs:element name="IVFSharesUnitDetail" type="IVFSharesUnitDetailType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="LiabilitiesIVFSharesUnitsItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        ShortPositionFinancialDerivativeDetailType
    -->
    <xs:complexType name="ShortPositionFinancialDerivativeDetailType">
        <xs:sequence>
            <xs:element name="ISIN" type="ISINType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="DerivativeName" type="String60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Position" type="ShortPositionType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TradingMarket" type="NonEmptyString60Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="NumberOfPieces" type="Decimal20Dot3Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ReferenceCurrencyCode" type="ReferenceCurrencyCodeType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="EndOfPeriodValueInReferenceCurrency" type="EndOfPeriodValueInReferenceCurrencyType"
                        minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInReferenceCurrency" type="Decimal20Dot6Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="TotalValueInEUR" type="Decimal20Dot2Type" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        ShortPositionFinancialDerivativesDetailsType
    -->
    <xs:complexType name="ShortPositionFinancialDerivativesDetailsType">
        <xs:sequence>
            <xs:element name="FinancialDerivativeDetail" type="ShortPositionFinancialDerivativeDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="LiabilitiesFinancialDerivativesItemCodeType" use="required"/>
    </xs:complexType>
    <!--
        RemainingLiabilitiesItemDetailType
    -->
    <xs:complexType name="RemainingLiabilitiesItemDetailType">
        <xs:sequence>
            <xs:element name="TotalValueInEUR" type="Decimal20Dot2Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="IncomeFlows" type="PositiveNegativeDecimal20Dot2Type" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="LiabilitiesRemainingLiabilitiesItemCodeType" use="required"/>
    </xs:complexType>
    <!-- 
        RemainingLiabilitiesItemNewType
    -->
    <xs:complexType name="RemainingLiabilitiesItemNewType">
        <xs:sequence>
            <xs:element name="RemainingLiabilitiesItem" type="RemainingLiabilitiesItemDetailType" minOccurs="1"
                        maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!--
        RemainingLiabilitiesItemsType
    -->
    <xs:complexType name="RemainingLiabilitiesItemsType">
        <xs:sequence>
            <xs:element name="RemainingLiabilitiesItem" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="Decimal18Dot20Type">
                            <xs:attribute name="itemCode" type="LiabilitiesRemainingLiabilitiesItemCodeType"
                                          use="required"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        LiabilityItemsType
    -->
    <xs:complexType name="LiabilityItemsType">
        <xs:sequence>
            <xs:element name="IVFSharesUnitsItem" type="IVFSharesUnitsDetailsType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="RemainingLiabilitiesItems" type="RemainingLiabilitiesItemsType" minOccurs="0"
                        maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        AdditionalDataItemType
    -->
    <xs:complexType name="AdditionalDataItemType">
        <xs:sequence>
            <xs:element name="Value" type="OptionalPositiveNegativeDecimal20Dot4Type" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="itemCode" type="AdditionalDataItemCodeType" use="required"/>
    </xs:complexType>
    <!-- 
        AdditionalDataItemsType
    -->
    <xs:complexType name="AdditionalDataItemsType">
        <xs:sequence>
            <!--
      <xs:element name="AdditionalDataItem" type="AdditionalDataItemType"
                  minOccurs="1" maxOccurs="unbounded"/>
    -->
            <xs:element name="AdditionalDataItem" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="OptionalPositiveNegativeDecimal18Dot20Type">
                            <xs:attribute name="itemCode" type="AdditionalDataItemCodeType" use="required"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        MutualFundType
    -->
    <xs:complexType name="MutualFundType">
        <xs:sequence>
            <xs:element name="AssetItems" type="AssetItemsType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="LiabilityItems" type="LiabilityItemsType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="AdditionalDataItems" type="AdditionalDataItemsType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="mfCode" type="MFCodeType" use="required"/>
        <xs:attribute name="mfName" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- 
        DataType
    -->
    <xs:complexType name="DataType">
        <xs:sequence>
            <xs:element name="MutualFund" type="MutualFundType" minOccurs="0" maxOccurs="unbounded">
                <xs:unique name="UniqueItemCode">
                    <xs:selector xpath=".//*"/>
                    <xs:field xpath="@itemCode"/>
                </xs:unique>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- 
        InvestmentFundsType
    -->
    <xs:complexType name="InvestmentFundsType">
        <xs:sequence>
            <xs:element name="Header" type="HeaderType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="Data" type="DataType" minOccurs="1" maxOccurs="1">
                <xs:unique name="UniqueMutualFunds">
                    <xs:selector xpath="ivf:MutualFund"/>
                    <xs:field xpath="@mfCode"/>
                </xs:unique>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- Root Element -->
    <xs:element name="InvestmentFunds" type="InvestmentFundsType">
        <xs:annotation>
            <xs:documentation>Root Element for Investment Funds</xs:documentation>
        </xs:annotation>
    </xs:element>
</xs:schema>
