<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <xs:element name="RTS_DOC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="DOC_REQUISITES"/>
        <xs:element ref="CBR_MFB01_TRADE"/>
      </xs:sequence>
      <xs:attribute ref="xsi:noNamespaceSchemaLocation" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="DOC_REQUISITES">
    <xs:complexType>
      <xs:attribute name="DOC_DATE" use="required" type="xs:date"/>
      <xs:attribute name="DOC_NO" use="required" type="xs:string"/>
      <xs:attribute name="DOC_TIME" use="required" type="xs:time"/>
      <xs:attribute name="DOC_TYPE_ID" use="required" type="xs:string"/>
      <xs:attribute name="RECEIVER_ID" use="required" type="xs:string"/>
      <xs:attribute name="REMARKS" use="optional" type="xs:string"/>
      <xs:attribute name="SENDER_ID" use="required" type="xs:string"/>
      <xs:attribute name="SENDER_NAME" use="optional" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="CBR_MFB01_TRADE">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="CLEARING_MEMBER"/>
      </xs:sequence>
      <xs:attribute name="ReportDate" use="required" type="xs:date"/>
      <xs:attribute name="ReportDesc" use="required" type="xs:string"/>
      <xs:attribute name="ReportNumber" use="required" type="xs:string"/>
      <xs:attribute name="ReportVersion" use="required" type="xs:integer"/>
      <xs:attribute name="Volume" use="required" type="xs:integer"/>
      <xs:attribute name="VolumeTotal" use="required" type="xs:integer"/>
      <xs:attribute name="Weekday" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="CLEARING_MEMBER">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="BOARD" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="MemberFullName" use="required" type="xs:string"/>
      <xs:attribute name="MemberIdentification" use="required" type="xs:string"/>
      <xs:attribute name="MemberShortCode" use="required" type="xs:string"/>
      <xs:attribute name="MemberType" use="required" type="xs:integer"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="BOARD">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="INSTRUMENT"/>
      </xs:sequence>
      <xs:attribute name="BoardName" use="required" type="xs:string"/>
      <xs:attribute name="InstrumentType" use="required" type="xs:integer"/>
      <xs:attribute name="IsOTC" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="INSTRUMENT">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="TRADE"/>
      </xs:sequence>
      <xs:attribute name="AssetCode" use="required" type="xs:string"/>
      <xs:attribute name="InstrumentDetails" use="required" type="xs:string"/>
      <xs:attribute name="InstrumentDetailsType" use="required" type="xs:string"/>
      <xs:attribute name="PriceType" use="required" type="xs:string"/>
      <xs:attribute name="RiskRate" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="TRADE">
    <xs:complexType>
      <xs:attribute name="AccountType" use="required" type="xs:string"/>
      <xs:attribute name="AccruedInterest" use="required" type="xs:string" />
      <xs:attribute name="ClearingAccount" use="required" type="xs:string"/>
      <xs:attribute name="ClearingFee" use="required" type="xs:decimal"/>
      <xs:attribute name="ClientCode" use="required" type="xs:string"/>
      <xs:attribute name="ClientIdentification" use="required" type="xs:string"/>
      <xs:attribute name="ClientLegalName" use="required" type="xs:string"/>
      <xs:attribute name="ClientType" use="required" type="xs:integer"/>
      <xs:attribute name="Currency" use="required" type="xs:string"/>
      <xs:attribute name="DeliveryDate" use="required" type="xs:date"/>
      <xs:attribute name="Direction" use="required" type="xs:string"/>
      <xs:attribute name="GuaranteeAccounting" use="required" type="xs:string"/>
      <xs:attribute name="IsCcpTrade" use="required" type="xs:string"/>
      <xs:attribute name="Premium" use="required" type="xs:string"/>
      <xs:attribute name="Price" use="required" type="xs:decimal"/>
      <xs:attribute name="Qty" use="required" type="xs:decimal"/>
      <xs:attribute name="RepoPart" use="required" type="xs:string"/>
      <xs:attribute name="RepoRate" use="required" type="xs:string"/>
      <xs:attribute name="RepurchasePrice" use="required"  type="xs:string"/>
      <xs:attribute name="RepurchaseVolume" use="required" type="xs:string"/>
      <xs:attribute name="TradeCollateralType" use="required" type="xs:string"/>
      <xs:attribute name="TradeCollateralCurrency" use="required" type="xs:string"/>
      <xs:attribute name="TradeCollateral" use="required" type="xs:string"/>
      <xs:attribute name="TradeDate" use="required" type="xs:date"/>
      <xs:attribute name="TradeExtraNumber" use="required" type="xs:string"/>
      <xs:attribute name="TradeNumber" use="required" type="xs:string"/>
      <xs:attribute name="TradeTime" use="required" type="xs:time"/>
      <xs:attribute name="TradeType" use="required" type="xs:string"/>
      <xs:attribute name="TradeVolume" use="required" type="xs:decimal"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
