<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           elementFormDefault="qualified">
   <xs:element name="accountID" type="xs:string"/>
   <xs:element name="acknowledgeReceipt" type="xs:string"/>
   <xs:complexType name="amountType">
      <xs:simpleContent>
         <xs:restriction base="xs:string">
            <xs:attribute name="currency" use="required">
               <xs:simpleType>
                  <xs:restriction base="xs:NMTOKEN">
                     <xs:enumeration value="USD"/>
                     <xs:enumeration value="CDN"/>
                     <xs:enumeration value="FFR"/>
                     <xs:enumeration value="EU"/>
                  </xs:restriction>
               </xs:simpleType>
            </xs:attribute>
         </xs:restriction>
      </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="fromType">
      <xs:sequence>
         <xs:element name="amount" type="amountType"/>
         <xs:element ref="transitID" minOccurs="0"/>
         <xs:element ref="accountID"/>
         <xs:element ref="acknowledgeReceipt"/>
      </xs:sequence>
      <xs:attribute name="type" use="required">
         <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
               <xs:enumeration value="intrabank"/>
               <xs:enumeration value="internal"/>
               <xs:enumeration value="other"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="fundsTransferType">
      <xs:sequence>
         <xs:element name="from" type="fromType"/>
         <xs:element name="to" type="toType"/>
      </xs:sequence>
      <xs:attribute name="date" type="xs:string" use="required"/>
   </xs:complexType>
   <xs:complexType name="toType">
      <xs:attribute name="account" type="xs:string" use="required"/>
   </xs:complexType>
   <xs:element name="transfers">
      <xs:complexType>
         <xs:sequence maxOccurs="unbounded">
            <xs:element name="fundsTransfer" type="fundsTransferType"/>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="transitID" type="xs:string"/>
</xs:schema>

