<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Standards Editor (build:R1.6.15) on 2018 Oct 22 16:02:05, ISO 20022 version : 2013-->
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.016.001.04" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.016.001.04">
    <xs:element name="Document" type="Document"/>
    <xs:simpleType name="ActiveOrHistoricCurrencyCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z]{3,3}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="CurrencyCriteriaDefinition1Choice">
        <xs:choice>
            <xs:element name="QryNm" type="Max35Text"/>
            <xs:element name="NewCrit" type="CurrencyExchangeCriteria2"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="CurrencyExchangeCriteria2">
        <xs:sequence>
            <xs:element maxOccurs="1" minOccurs="0" name="NewQryNm" type="Max35Text"/>
            <xs:element maxOccurs="unbounded" minOccurs="1" name="SchCrit" type="CurrencyExchangeSearchCriteria1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CurrencyExchangeSearchCriteria1">
        <xs:sequence>
            <xs:element name="SrcCcy" type="ActiveOrHistoricCurrencyCode"/>
            <xs:element name="TrgtCcy" type="ActiveOrHistoricCurrencyCode"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CurrencyQueryDefinition3">
        <xs:sequence>
            <xs:element maxOccurs="1" minOccurs="0" name="QryTp" type="QueryType2Code"/>
            <xs:element maxOccurs="1" minOccurs="0" name="CcyCrit" type="CurrencyCriteriaDefinition1Choice"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Document">
        <xs:sequence>
            <xs:element name="GetCcyXchgRate" type="GetCurrencyExchangeRateV04"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GetCurrencyExchangeRateV04">
        <xs:sequence>
            <xs:element name="MsgHdr" type="MessageHeader1"/>
            <xs:element maxOccurs="1" minOccurs="0" name="CcyQryDef" type="CurrencyQueryDefinition3"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="ISODateTime">
        <xs:restriction base="xs:dateTime"/>
    </xs:simpleType>
    <xs:simpleType name="Max350Text">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="350"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max35Text">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="35"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="MessageHeader1">
        <xs:sequence>
            <xs:element name="MsgId" type="Max35Text"/>
            <xs:element maxOccurs="1" minOccurs="0" name="CreDtTm" type="ISODateTime"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="QueryType2Code">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ALLL"/>
            <xs:enumeration value="CHNG"/>
            <xs:enumeration value="MODF"/>
            <xs:enumeration value="DELD"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="SupplementaryData1">
        <xs:sequence>
            <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
            <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SupplementaryDataEnvelope1">
        <xs:sequence>
            <xs:any namespace="##any" processContents="lax"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
