gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated (923b242 -> 458ce46)


From: gnunet
Subject: [libeufin] branch master updated (923b242 -> 458ce46)
Date: Mon, 18 Nov 2019 21:31:02 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository libeufin.

    from 923b242  get TST message to validate
     new 00317a0  implement A006 canonicalization
     new 458ce46  camt xsd files

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../kotlin/tech/libeufin/sandbox/CryptoUtil.kt     |   17 +-
 .../tech/libeufin/sandbox/EbicsProtocolBackend.kt  |   21 +-
 sandbox/src/main/resources/xsd/camt.052.001.02.xsd | 1299 ++++++++++++++++++++
 sandbox/src/main/resources/xsd/camt.053.001.02.xsd | 1299 ++++++++++++++++++++
 sandbox/src/main/resources/xsd/camt.054.001.02.xsd | 1240 +++++++++++++++++++
 5 files changed, 3869 insertions(+), 7 deletions(-)
 create mode 100644 sandbox/src/main/resources/xsd/camt.052.001.02.xsd
 create mode 100644 sandbox/src/main/resources/xsd/camt.053.001.02.xsd
 create mode 100644 sandbox/src/main/resources/xsd/camt.054.001.02.xsd

diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/CryptoUtil.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/CryptoUtil.kt
index f19d302..79ae3db 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/CryptoUtil.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/CryptoUtil.kt
@@ -165,6 +165,13 @@ object CryptoUtil {
         return data
     }
 
+    /**
+     * Signing algorithm corresponding to the EBICS A006 signing process.
+     *
+     * Note that while [data] can be arbitrary-length data, in EBICS, the order
+     * data is *always* hashed *before* passing it to the signing algorithm, 
which again
+     * uses a hash internally.
+     */
     fun signEbicsA006(data: ByteArray, privateKey: RSAPrivateCrtKey): 
ByteArray {
         val signature = Signature.getInstance("SHA256withRSA/PSS", 
bouncyCastleProvider)
         signature.setParameter(PSSParameterSpec("SHA-256", "MGF1", 
MGF1ParameterSpec.SHA256, 32, 1))
@@ -181,8 +188,14 @@ object CryptoUtil {
         return signature.verify(sig)
     }
 
-    fun digestEbicsA006(data: ByteArray): ByteArray {
+    fun digestEbicsOrderA006(orderData: ByteArray): ByteArray {
         val digest = MessageDigest.getInstance("SHA-256")
-        return digest.digest(data)
+        for (b in orderData) {
+            when (b) {
+                '\r'.toByte(), '\n'.toByte(), (26).toByte() -> Unit
+                else -> digest.update(b)
+            }
+        }
+        return digest.digest()
     }
 }
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
index f17f1ec..5ec537f 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
@@ -27,6 +27,7 @@ import io.ktor.request.receiveText
 import io.ktor.response.respond
 import io.ktor.response.respondText
 import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
+import org.apache.xml.security.c14n.Canonicalizer
 import org.jetbrains.exposed.sql.and
 import org.jetbrains.exposed.sql.transactions.transaction
 import org.jetbrains.exposed.sql.upperCase
@@ -109,6 +110,11 @@ private suspend fun 
ApplicationCall.respondEbicsKeyManagement(
 
 
 private suspend fun ApplicationCall.handleEbicsHia(header: 
EbicsUnsecuredRequest.Header, orderData: ByteArray) {
+    val plainOrderData = InflaterInputStream(orderData.inputStream()).use {
+        it.readAllBytes()
+    }
+    println("hia order data: ${plainOrderData.toString(Charsets.UTF_8)}")
+
     val keyObject = 
EbicsOrderUtil.decodeOrderDataXml<HIARequestOrderData>(orderData)
     val encPubXml = keyObject.encryptionPubKeyInfo.pubKeyValue.rsaKeyValue
     val authPubXml = keyObject.authenticationPubKeyInfo.pubKeyValue.rsaKeyValue
@@ -140,6 +146,11 @@ private suspend fun ApplicationCall.handleEbicsHia(header: 
EbicsUnsecuredRequest
 
 
 private suspend fun ApplicationCall.handleEbicsIni(header: 
EbicsUnsecuredRequest.Header, orderData: ByteArray) {
+    val plainOrderData = InflaterInputStream(orderData.inputStream()).use {
+        it.readAllBytes()
+    }
+    println("ini order data: ${plainOrderData.toString(Charsets.UTF_8)}")
+
     val keyObject = 
EbicsOrderUtil.decodeOrderDataXml<SignatureTypes.SignaturePubKeyOrderData>(orderData)
     val sigPubXml = keyObject.signaturePubKeyInfo.pubKeyValue.rsaKeyValue
     val sigPub = CryptoUtil.loadRsaPublicKeyFromComponents(sigPubXml.modulus, 
sigPubXml.exponent)
@@ -661,14 +672,14 @@ suspend fun ApplicationCall.ebicsweb() {
                                     throw EbicsInvalidRequestError()
                                 }
 
+                                val customCanon = unzippedData.filter { it != 
'\r'.toByte() && it != '\n'.toByte() && it != (26).toByte()}.toByteArray()
+
                                 for (sig in sigs) {
                                     if (sig.signatureAlgorithm == "A006") {
-                                        val signedData = 
CryptoUtil.digestEbicsA006(unzippedData)
-                                        val res = 
CryptoUtil.verifyEbicsA006(sig.signatureValue.toByteArray(), signedData, 
clientSigPub)
-                                        println("VEU verification result: 
$res")
-                                        if (!res) {
+                                        val signedData = 
CryptoUtil.digestEbicsOrderA006(unzippedData)
+                                        val res1 = 
CryptoUtil.verifyEbicsA006(sig.signatureValue.toByteArray(), signedData, 
clientSigPub)
+                                        if (res1)
                                             throw EbicsInvalidRequestError()
-                                        }
                                     } else {
                                         throw NotImplementedError()
                                     }
diff --git a/sandbox/src/main/resources/xsd/camt.052.001.02.xsd 
b/sandbox/src/main/resources/xsd/camt.052.001.02.xsd
new file mode 100644
index 0000000..5daea3b
--- /dev/null
+++ b/sandbox/src/main/resources/xsd/camt.052.001.02.xsd
@@ -0,0 +1,1299 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) 
bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 
17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" 
elementFormDefault="qualified">
+       <xs:element name="Document" type="Document"/>
+       <xs:complexType name="AccountIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="IBAN" 
type="IBAN2007Identifier"/>
+                               <xs:element name="Othr" 
type="GenericAccountIdentification1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountInterest2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountReport11">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="ElctrncSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="LglSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="CpyDplctInd" 
type="CopyDuplicate1Code" minOccurs="0"/>
+                       <xs:element name="RptgSrc" 
type="ReportingSource1Choice" minOccurs="0"/>
+                       <xs:element name="Acct" type="CashAccount20"/>
+                       <xs:element name="RltdAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="Intrst" type="AccountInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Bal" type="CashBalance3" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="TxsSummry" type="TotalTransactions2" 
minOccurs="0"/>
+                       <xs:element name="Ntry" type="ReportEntry2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlRptInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalAccountIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+               <xs:simpleContent>
+                       <xs:extension 
base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+                               <xs:attribute name="Ccy" 
type="ActiveOrHistoricCurrencyCode" use="required"/>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{3,3}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="AddressType2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="ADDR"/>
+                       <xs:enumeration value="PBOX"/>
+                       <xs:enumeration value="HOME"/>
+                       <xs:enumeration value="BIZZ"/>
+                       <xs:enumeration value="MLTO"/>
+                       <xs:enumeration value="DLVY"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="AlternateSecurityIdentification2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Id" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchange3">
+               <xs:sequence>
+                       <xs:element name="InstdAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="TxAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="CntrValAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="AnncdPstngAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="PrtryAmt" 
type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountRangeBoundary1">
+               <xs:sequence>
+                       <xs:element name="BdryAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       <xs:element name="Incl" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="AnyBICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="BICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BalanceSubType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalBalanceSubType1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BalanceType12">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" type="BalanceType5Choice"/>
+                       <xs:element name="SubTp" type="BalanceSubType1Choice" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="BalanceType12Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="XPCD"/>
+                       <xs:enumeration value="OPAV"/>
+                       <xs:enumeration value="ITAV"/>
+                       <xs:enumeration value="CLAV"/>
+                       <xs:enumeration value="FWAV"/>
+                       <xs:enumeration value="CLBD"/>
+                       <xs:enumeration value="ITBD"/>
+                       <xs:enumeration value="OPBD"/>
+                       <xs:enumeration value="PRCD"/>
+                       <xs:enumeration value="INFO"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BalanceType5Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="BalanceType12Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankToCustomerAccountReportV02">
+               <xs:sequence>
+                       <xs:element name="GrpHdr" type="GroupHeader42"/>
+                       <xs:element name="Rpt" type="AccountReport11" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure4">
+               <xs:sequence>
+                       <xs:element name="Domn" 
type="BankTransactionCodeStructure5" minOccurs="0"/>
+                       <xs:element name="Prtry" 
type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure5">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionDomain1Code"/>
+                       <xs:element name="Fmly" 
type="BankTransactionCodeStructure6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure6">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionFamily1Code"/>
+                       <xs:element name="SubFmlyCd" 
type="ExternalBankTransactionSubFamily1Code"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="BaseOneRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BatchInformation2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="NbOfTxs" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+               <xs:sequence>
+                       <xs:element name="FinInstnId" 
type="FinancialInstitutionIdentification7"/>
+                       <xs:element name="BrnchId" type="BranchData2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchData2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount16">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount20">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="Ownr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Svcr" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccountType2">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="CashAccountType4Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CashAccountType4Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CASH"/>
+                       <xs:enumeration value="CHAR"/>
+                       <xs:enumeration value="COMM"/>
+                       <xs:enumeration value="TAXE"/>
+                       <xs:enumeration value="CISH"/>
+                       <xs:enumeration value="TRAS"/>
+                       <xs:enumeration value="SACC"/>
+                       <xs:enumeration value="CACC"/>
+                       <xs:enumeration value="SVGS"/>
+                       <xs:enumeration value="ONDP"/>
+                       <xs:enumeration value="MGLD"/>
+                       <xs:enumeration value="NREX"/>
+                       <xs:enumeration value="MOMA"/>
+                       <xs:enumeration value="LOAN"/>
+                       <xs:enumeration value="SLRY"/>
+                       <xs:enumeration value="ODFT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CashBalance3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="BalanceType12"/>
+                       <xs:element name="CdtLine" type="CreditLine2" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashBalanceAvailability2">
+               <xs:sequence>
+                       <xs:element name="Dt" 
type="CashBalanceAvailabilityDate1"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashBalanceAvailabilityDate1">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="NbOfDays" 
type="Max15PlusSignedNumericText"/>
+                               <xs:element name="ActlDt" type="ISODate"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ChargeBearerType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DEBT"/>
+                       <xs:enumeration value="CRED"/>
+                       <xs:enumeration value="SHAR"/>
+                       <xs:enumeration value="SLEV"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ChargeType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BRKF"/>
+                       <xs:enumeration value="COMM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ChargeType2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="ChargeType1Code"/>
+                               <xs:element name="Prtry" 
type="GenericIdentification3"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ChargesInformation6">
+               <xs:sequence>
+                       <xs:element name="TtlChrgsAndTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Tp" type="ChargeType2Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Br" type="ChargeBearerType1Code" 
minOccurs="0"/>
+                       <xs:element name="Pty" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxCharges2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemIdentification2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalClearingSystemIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemMemberIdentification2">
+               <xs:sequence>
+                       <xs:element name="ClrSysId" 
type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+                       <xs:element name="MmbId" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ContactDetails2">
+               <xs:sequence>
+                       <xs:element name="NmPrfx" type="NamePrefix1Code" 
minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PhneNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="MobNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="FaxNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="EmailAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CopyDuplicate1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CODU"/>
+                       <xs:enumeration value="COPY"/>
+                       <xs:enumeration value="DUPL"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CorporateAction1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Prtry" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CountryCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{2,2}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="CreditDebitCode">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CRDT"/>
+                       <xs:enumeration value="DBIT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CreditLine2">
+               <xs:sequence>
+                       <xs:element name="Incl" type="TrueFalseIndicator"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceInformation2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="CreditorReferenceType2" 
minOccurs="0"/>
+                       <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType3Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="CreditorReferenceType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyAndAmountRange2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ImpliedCurrencyAmountRangeChoice"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyExchange5">
+               <xs:sequence>
+                       <xs:element name="SrcCcy" 
type="ActiveOrHistoricCurrencyCode"/>
+                       <xs:element name="TrgtCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="UnitCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="XchgRate" type="BaseOneRate"/>
+                       <xs:element name="CtrctId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="QtnDt" type="ISODateTime" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndDateTimeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Dt" type="ISODate"/>
+                               <xs:element name="DtTm" type="ISODateTime"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndPlaceOfBirth">
+               <xs:sequence>
+                       <xs:element name="BirthDt" type="ISODate"/>
+                       <xs:element name="PrvcOfBirth" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CityOfBirth" type="Max35Text"/>
+                       <xs:element name="CtryOfBirth" type="CountryCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DatePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDt" type="ISODate"/>
+                       <xs:element name="ToDt" type="ISODate"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateTimePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDtTm" type="ISODateTime"/>
+                       <xs:element name="ToDtTm" type="ISODateTime"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DecimalNumber">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="17"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="Document">
+               <xs:sequence>
+                       <xs:element name="BkToCstmrAcctRpt" 
type="BankToCustomerAccountReportV02"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DocumentAdjustment1">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DocumentType3Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="RADM"/>
+                       <xs:enumeration value="RPIN"/>
+                       <xs:enumeration value="FXDR"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="PUOR"/>
+                       <xs:enumeration value="SCOR"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="DocumentType5Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MSIN"/>
+                       <xs:enumeration value="CNFA"/>
+                       <xs:enumeration value="DNFA"/>
+                       <xs:enumeration value="CINV"/>
+                       <xs:enumeration value="CREN"/>
+                       <xs:enumeration value="DEBN"/>
+                       <xs:enumeration value="HIRI"/>
+                       <xs:enumeration value="SBIN"/>
+                       <xs:enumeration value="CMCN"/>
+                       <xs:enumeration value="SOAC"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="BOLD"/>
+                       <xs:enumeration value="VCHR"/>
+                       <xs:enumeration value="AROI"/>
+                       <xs:enumeration value="TSUT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryDetails1">
+               <xs:sequence>
+                       <xs:element name="Btch" type="BatchInformation2" 
minOccurs="0"/>
+                       <xs:element name="TxDtls" type="EntryTransaction2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="EntryStatus2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BOOK"/>
+                       <xs:enumeration value="PDNG"/>
+                       <xs:enumeration value="INFO"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryTransaction2">
+               <xs:sequence>
+                       <xs:element name="Refs" type="TransactionReferences2" 
minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RltdPties" type="TransactionParty2" 
minOccurs="0"/>
+                       <xs:element name="RltdAgts" type="TransactionAgents2" 
minOccurs="0"/>
+                       <xs:element name="Purp" type="Purpose2Choice" 
minOccurs="0"/>
+                       <xs:element name="RltdRmtInf" 
type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+                       <xs:element name="RmtInf" type="RemittanceInformation5" 
minOccurs="0"/>
+                       <xs:element name="RltdDts" type="TransactionDates2" 
minOccurs="0"/>
+                       <xs:element name="RltdPric" 
type="TransactionPrice2Choice" minOccurs="0"/>
+                       <xs:element name="RltdQties" 
type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="FinInstrmId" 
type="SecurityIdentification4Choice" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxInformation3" 
minOccurs="0"/>
+                       <xs:element name="RtrInf" 
type="ReturnReasonInformation10" minOccurs="0"/>
+                       <xs:element name="CorpActn" type="CorporateAction1" 
minOccurs="0"/>
+                       <xs:element name="SfkpgAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="AddtlTxInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ExternalAccountIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBalanceSubType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionDomain1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="5"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalOrganisationIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPersonIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPurpose1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReportingSource1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReturnReason1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalFinancialInstitutionIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstitutionIdentification7">
+               <xs:sequence>
+                       <xs:element name="BIC" type="BICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="ClrSysMmbId" 
type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericFinancialIdentification1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstrumentQuantityChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Unit" type="DecimalNumber"/>
+                               <xs:element name="FaceAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="AmtsdVal" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FromToAmountRange">
+               <xs:sequence>
+                       <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+                       <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericAccountIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max34Text"/>
+                       <xs:element name="SchmeNm" 
type="AccountSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericFinancialIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericIdentification3">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericOrganisationIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericPersonIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GroupHeader42">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="MsgRcpt" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="MsgPgntn" type="Pagination" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="IBAN2007Identifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISINIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z0-9]{12,12}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISODate">
+               <xs:restriction base="xs:date"/>
+       </xs:simpleType>
+       <xs:simpleType name="ISODateTime">
+               <xs:restriction base="xs:dateTime"/>
+       </xs:simpleType>
+       <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="FrAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="ToAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="FrToAmt" 
type="FromToAmountRange"/>
+                               <xs:element name="EQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="NEQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ImpliedCurrencyAndAmount">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="InterestType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="InterestType1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="InterestType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="INDY"/>
+                       <xs:enumeration value="OVRN"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max105Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="105"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max140Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="140"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15PlusSignedNumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max16Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="16"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max2048Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="2048"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max34Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="34"/>
+               </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:simpleType name="Max4Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max500Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="500"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max5NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,5}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max70Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="70"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="MessageIdentification2">
+               <xs:sequence>
+                       <xs:element name="MsgNmId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NameAndAddress10">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text"/>
+                       <xs:element name="Adr" type="PostalAddress6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="NamePrefix1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DOCT"/>
+                       <xs:enumeration value="MIST"/>
+                       <xs:enumeration value="MISS"/>
+                       <xs:enumeration value="MADM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Number">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="0"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="NumberAndSumOfTransactions1">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NumberAndSumOfTransactions2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentification4">
+               <xs:sequence>
+                       <xs:element name="BICOrBEI" type="AnyBICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalOrganisationIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Pagination">
+               <xs:sequence>
+                       <xs:element name="PgNb" type="Max5NumericText"/>
+                       <xs:element name="LastPgInd" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Party6Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="OrgId" 
type="OrganisationIdentification4"/>
+                               <xs:element name="PrvtId" 
type="PersonIdentification5"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PartyIdentification32">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Id" type="Party6Choice" 
minOccurs="0"/>
+                       <xs:element name="CtryOfRes" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="CtctDtls" type="ContactDetails2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PercentageRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PersonIdentification5">
+               <xs:sequence>
+                       <xs:element name="DtAndPlcOfBirth" 
type="DateAndPlaceOfBirth" minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PersonIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPersonIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PhoneNumber">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PostalAddress6">
+               <xs:sequence>
+                       <xs:element name="AdrTp" type="AddressType2Code" 
minOccurs="0"/>
+                       <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="SubDept" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="StrtNm" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="BldgNb" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="PstCd" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="TwnNm" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CtrySubDvsn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Ctry" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="AdrLine" type="Max70Text" 
minOccurs="0" maxOccurs="7"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryAgent2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Agt" 
type="BranchAndFinancialInstitutionIdentification4"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryDate2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryParty2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pty" type="PartyIdentification32"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryPrice2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryQuantity1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Qty" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryReference1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Ref" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Purpose2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPurpose1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Rate3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="RateType4Choice"/>
+                       <xs:element name="VldtyRg" 
type="CurrencyAndAmountRange2" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RateType4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Pctg" type="PercentageRate"/>
+                               <xs:element name="Othr" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentInformation3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="ReferredDocumentType2" 
minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType5Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="ReferredDocumentType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceAmount1">
+               <xs:sequence>
+                       <xs:element name="DuePyblAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="DscntApldAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtNoteAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="AdjstmntAmtAndRsn" 
type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RmtdAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceInformation5">
+               <xs:sequence>
+                       <xs:element name="Ustrd" type="Max140Text" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Strd" 
type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceLocation2">
+               <xs:sequence>
+                       <xs:element name="RmtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnMtd" 
type="RemittanceLocationMethod2Code" minOccurs="0"/>
+                       <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnPstlAdr" 
type="NameAndAddress10" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="RemittanceLocationMethod2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FAXI"/>
+                       <xs:enumeration value="EDIC"/>
+                       <xs:enumeration value="URID"/>
+                       <xs:enumeration value="EMAL"/>
+                       <xs:enumeration value="POST"/>
+                       <xs:enumeration value="SMSM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ReportEntry2">
+               <xs:sequence>
+                       <xs:element name="NtryRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="RvslInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="Sts" type="EntryStatus2Code"/>
+                       <xs:element name="BookgDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="ValDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="ComssnWvrInd" type="YesNoIndicator" 
minOccurs="0"/>
+                       <xs:element name="AddtlInfInd" 
type="MessageIdentification2" minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="TechInptChanl" 
type="TechnicalInputChannel1Choice" minOccurs="0"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="NtryDtls" type="EntryDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlNtryInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReportingSource1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReportingSource1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReason5Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReturnReason1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReasonInformation10">
+               <xs:sequence>
+                       <xs:element name="OrgnlBkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Orgtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="ReturnReason5Choice" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max105Text" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="SecurityIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="ISIN" type="ISINIdentifier"/>
+                               <xs:element name="Prtry" 
type="AlternateSecurityIdentification2"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="StructuredRemittanceInformation7">
+               <xs:sequence>
+                       <xs:element name="RfrdDocInf" 
type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RfrdDocAmt" type="RemittanceAmount1" 
minOccurs="0"/>
+                       <xs:element name="CdtrRefInf" 
type="CreditorReferenceInformation2" minOccurs="0"/>
+                       <xs:element name="Invcr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Invcee" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="AddtlRmtInf" type="Max140Text" 
minOccurs="0" maxOccurs="3"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAmount1">
+               <xs:sequence>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="TaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dtls" type="TaxRecordDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAuthorisation1">
+               <xs:sequence>
+                       <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxCharges2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxInformation3">
+               <xs:sequence>
+                       <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+                       <xs:element name="AdmstnZn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RefNb" type="Max140Text" 
minOccurs="0"/>
+                       <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="TtlTaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+                       <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty1">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty2">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Authstn" type="TaxAuthorisation1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxPeriod1">
+               <xs:sequence>
+                       <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+                       <xs:element name="Tp" type="TaxRecordPeriod1Code" 
minOccurs="0"/>
+                       <xs:element name="FrToDt" type="DatePeriodDetails" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecord1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="CtgyDtls" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="DbtrSts" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CertId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="FrmsCd" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="TaxAmt" type="TaxAmount1" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecordDetails1">
+               <xs:sequence>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TaxRecordPeriod1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MM01"/>
+                       <xs:enumeration value="MM02"/>
+                       <xs:enumeration value="MM03"/>
+                       <xs:enumeration value="MM04"/>
+                       <xs:enumeration value="MM05"/>
+                       <xs:enumeration value="MM06"/>
+                       <xs:enumeration value="MM07"/>
+                       <xs:enumeration value="MM08"/>
+                       <xs:enumeration value="MM09"/>
+                       <xs:enumeration value="MM10"/>
+                       <xs:enumeration value="MM11"/>
+                       <xs:enumeration value="MM12"/>
+                       <xs:enumeration value="QTR1"/>
+                       <xs:enumeration value="QTR2"/>
+                       <xs:enumeration value="QTR3"/>
+                       <xs:enumeration value="QTR4"/>
+                       <xs:enumeration value="HLF1"/>
+                       <xs:enumeration value="HLF2"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="TechnicalInputChannel1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalTechnicalInputChannel1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalTransactions2">
+               <xs:sequence>
+                       <xs:element name="TtlNtries" 
type="NumberAndSumOfTransactions2" minOccurs="0"/>
+                       <xs:element name="TtlCdtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlDbtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlNtriesPerBkTxCd" 
type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalsPerBankTransactionCode2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="FcstInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionAgents2">
+               <xs:sequence>
+                       <xs:element name="DbtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="CdtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt1" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt2" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt3" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="RcvgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="DlvrgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IssgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="SttlmPlc" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryAgent2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionDates2">
+               <xs:sequence>
+                       <xs:element name="AccptncDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="TradActvtyCtrctlSttlmDt" 
type="ISODate" minOccurs="0"/>
+                       <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="IntrBkSttlmDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="StartDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="TxDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryDate2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionInterest2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionParty2">
+               <xs:sequence>
+                       <xs:element name="InitgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="DbtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtDbtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Cdtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="CdtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtCdtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="TradgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryParty2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionPrice2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="DealPric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                               <xs:element name="Prtry" 
type="ProprietaryPrice2" maxOccurs="unbounded"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionQuantities1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Qty" 
type="FinancialInstrumentQuantityChoice"/>
+                               <xs:element name="Prtry" 
type="ProprietaryQuantity1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionReferences2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="InstrId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="EndToEndId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="MndtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ChqNb" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ClrSysRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryReference1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TrueFalseIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+       <xs:simpleType name="YesNoIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+</xs:schema>
diff --git a/sandbox/src/main/resources/xsd/camt.053.001.02.xsd 
b/sandbox/src/main/resources/xsd/camt.053.001.02.xsd
new file mode 100644
index 0000000..4b2b626
--- /dev/null
+++ b/sandbox/src/main/resources/xsd/camt.053.001.02.xsd
@@ -0,0 +1,1299 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) 
bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 
17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" 
elementFormDefault="qualified">
+       <xs:element name="Document" type="Document"/>
+       <xs:complexType name="AccountIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="IBAN" 
type="IBAN2007Identifier"/>
+                               <xs:element name="Othr" 
type="GenericAccountIdentification1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountInterest2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalAccountIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountStatement2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="ElctrncSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="LglSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="CpyDplctInd" 
type="CopyDuplicate1Code" minOccurs="0"/>
+                       <xs:element name="RptgSrc" 
type="ReportingSource1Choice" minOccurs="0"/>
+                       <xs:element name="Acct" type="CashAccount20"/>
+                       <xs:element name="RltdAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="Intrst" type="AccountInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Bal" type="CashBalance3" 
maxOccurs="unbounded"/>
+                       <xs:element name="TxsSummry" type="TotalTransactions2" 
minOccurs="0"/>
+                       <xs:element name="Ntry" type="ReportEntry2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlStmtInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+               <xs:simpleContent>
+                       <xs:extension 
base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+                               <xs:attribute name="Ccy" 
type="ActiveOrHistoricCurrencyCode" use="required"/>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{3,3}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="AddressType2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="ADDR"/>
+                       <xs:enumeration value="PBOX"/>
+                       <xs:enumeration value="HOME"/>
+                       <xs:enumeration value="BIZZ"/>
+                       <xs:enumeration value="MLTO"/>
+                       <xs:enumeration value="DLVY"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="AlternateSecurityIdentification2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Id" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchange3">
+               <xs:sequence>
+                       <xs:element name="InstdAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="TxAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="CntrValAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="AnncdPstngAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="PrtryAmt" 
type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountRangeBoundary1">
+               <xs:sequence>
+                       <xs:element name="BdryAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       <xs:element name="Incl" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="AnyBICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="BICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BalanceSubType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalBalanceSubType1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BalanceType12">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" type="BalanceType5Choice"/>
+                       <xs:element name="SubTp" type="BalanceSubType1Choice" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="BalanceType12Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="XPCD"/>
+                       <xs:enumeration value="OPAV"/>
+                       <xs:enumeration value="ITAV"/>
+                       <xs:enumeration value="CLAV"/>
+                       <xs:enumeration value="FWAV"/>
+                       <xs:enumeration value="CLBD"/>
+                       <xs:enumeration value="ITBD"/>
+                       <xs:enumeration value="OPBD"/>
+                       <xs:enumeration value="PRCD"/>
+                       <xs:enumeration value="INFO"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BalanceType5Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="BalanceType12Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankToCustomerStatementV02">
+               <xs:sequence>
+                       <xs:element name="GrpHdr" type="GroupHeader42"/>
+                       <xs:element name="Stmt" type="AccountStatement2" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure4">
+               <xs:sequence>
+                       <xs:element name="Domn" 
type="BankTransactionCodeStructure5" minOccurs="0"/>
+                       <xs:element name="Prtry" 
type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure5">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionDomain1Code"/>
+                       <xs:element name="Fmly" 
type="BankTransactionCodeStructure6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure6">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionFamily1Code"/>
+                       <xs:element name="SubFmlyCd" 
type="ExternalBankTransactionSubFamily1Code"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="BaseOneRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BatchInformation2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="NbOfTxs" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+               <xs:sequence>
+                       <xs:element name="FinInstnId" 
type="FinancialInstitutionIdentification7"/>
+                       <xs:element name="BrnchId" type="BranchData2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchData2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount16">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount20">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="Ownr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Svcr" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccountType2">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="CashAccountType4Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CashAccountType4Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CASH"/>
+                       <xs:enumeration value="CHAR"/>
+                       <xs:enumeration value="COMM"/>
+                       <xs:enumeration value="TAXE"/>
+                       <xs:enumeration value="CISH"/>
+                       <xs:enumeration value="TRAS"/>
+                       <xs:enumeration value="SACC"/>
+                       <xs:enumeration value="CACC"/>
+                       <xs:enumeration value="SVGS"/>
+                       <xs:enumeration value="ONDP"/>
+                       <xs:enumeration value="MGLD"/>
+                       <xs:enumeration value="NREX"/>
+                       <xs:enumeration value="MOMA"/>
+                       <xs:enumeration value="LOAN"/>
+                       <xs:enumeration value="SLRY"/>
+                       <xs:enumeration value="ODFT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CashBalance3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="BalanceType12"/>
+                       <xs:element name="CdtLine" type="CreditLine2" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashBalanceAvailability2">
+               <xs:sequence>
+                       <xs:element name="Dt" 
type="CashBalanceAvailabilityDate1"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashBalanceAvailabilityDate1">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="NbOfDays" 
type="Max15PlusSignedNumericText"/>
+                               <xs:element name="ActlDt" type="ISODate"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ChargeBearerType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DEBT"/>
+                       <xs:enumeration value="CRED"/>
+                       <xs:enumeration value="SHAR"/>
+                       <xs:enumeration value="SLEV"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ChargeType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BRKF"/>
+                       <xs:enumeration value="COMM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ChargeType2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="ChargeType1Code"/>
+                               <xs:element name="Prtry" 
type="GenericIdentification3"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ChargesInformation6">
+               <xs:sequence>
+                       <xs:element name="TtlChrgsAndTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Tp" type="ChargeType2Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Br" type="ChargeBearerType1Code" 
minOccurs="0"/>
+                       <xs:element name="Pty" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxCharges2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemIdentification2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalClearingSystemIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemMemberIdentification2">
+               <xs:sequence>
+                       <xs:element name="ClrSysId" 
type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+                       <xs:element name="MmbId" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ContactDetails2">
+               <xs:sequence>
+                       <xs:element name="NmPrfx" type="NamePrefix1Code" 
minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PhneNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="MobNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="FaxNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="EmailAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CopyDuplicate1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CODU"/>
+                       <xs:enumeration value="COPY"/>
+                       <xs:enumeration value="DUPL"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CorporateAction1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Prtry" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CountryCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{2,2}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="CreditDebitCode">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CRDT"/>
+                       <xs:enumeration value="DBIT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CreditLine2">
+               <xs:sequence>
+                       <xs:element name="Incl" type="TrueFalseIndicator"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceInformation2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="CreditorReferenceType2" 
minOccurs="0"/>
+                       <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType3Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="CreditorReferenceType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyAndAmountRange2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ImpliedCurrencyAmountRangeChoice"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyExchange5">
+               <xs:sequence>
+                       <xs:element name="SrcCcy" 
type="ActiveOrHistoricCurrencyCode"/>
+                       <xs:element name="TrgtCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="UnitCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="XchgRate" type="BaseOneRate"/>
+                       <xs:element name="CtrctId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="QtnDt" type="ISODateTime" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndDateTimeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Dt" type="ISODate"/>
+                               <xs:element name="DtTm" type="ISODateTime"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndPlaceOfBirth">
+               <xs:sequence>
+                       <xs:element name="BirthDt" type="ISODate"/>
+                       <xs:element name="PrvcOfBirth" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CityOfBirth" type="Max35Text"/>
+                       <xs:element name="CtryOfBirth" type="CountryCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DatePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDt" type="ISODate"/>
+                       <xs:element name="ToDt" type="ISODate"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateTimePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDtTm" type="ISODateTime"/>
+                       <xs:element name="ToDtTm" type="ISODateTime"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DecimalNumber">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="17"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="Document">
+               <xs:sequence>
+                       <xs:element name="BkToCstmrStmt" 
type="BankToCustomerStatementV02"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DocumentAdjustment1">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DocumentType3Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="RADM"/>
+                       <xs:enumeration value="RPIN"/>
+                       <xs:enumeration value="FXDR"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="PUOR"/>
+                       <xs:enumeration value="SCOR"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="DocumentType5Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MSIN"/>
+                       <xs:enumeration value="CNFA"/>
+                       <xs:enumeration value="DNFA"/>
+                       <xs:enumeration value="CINV"/>
+                       <xs:enumeration value="CREN"/>
+                       <xs:enumeration value="DEBN"/>
+                       <xs:enumeration value="HIRI"/>
+                       <xs:enumeration value="SBIN"/>
+                       <xs:enumeration value="CMCN"/>
+                       <xs:enumeration value="SOAC"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="BOLD"/>
+                       <xs:enumeration value="VCHR"/>
+                       <xs:enumeration value="AROI"/>
+                       <xs:enumeration value="TSUT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryDetails1">
+               <xs:sequence>
+                       <xs:element name="Btch" type="BatchInformation2" 
minOccurs="0"/>
+                       <xs:element name="TxDtls" type="EntryTransaction2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="EntryStatus2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BOOK"/>
+                       <xs:enumeration value="PDNG"/>
+                       <xs:enumeration value="INFO"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryTransaction2">
+               <xs:sequence>
+                       <xs:element name="Refs" type="TransactionReferences2" 
minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RltdPties" type="TransactionParty2" 
minOccurs="0"/>
+                       <xs:element name="RltdAgts" type="TransactionAgents2" 
minOccurs="0"/>
+                       <xs:element name="Purp" type="Purpose2Choice" 
minOccurs="0"/>
+                       <xs:element name="RltdRmtInf" 
type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+                       <xs:element name="RmtInf" type="RemittanceInformation5" 
minOccurs="0"/>
+                       <xs:element name="RltdDts" type="TransactionDates2" 
minOccurs="0"/>
+                       <xs:element name="RltdPric" 
type="TransactionPrice2Choice" minOccurs="0"/>
+                       <xs:element name="RltdQties" 
type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="FinInstrmId" 
type="SecurityIdentification4Choice" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxInformation3" 
minOccurs="0"/>
+                       <xs:element name="RtrInf" 
type="ReturnReasonInformation10" minOccurs="0"/>
+                       <xs:element name="CorpActn" type="CorporateAction1" 
minOccurs="0"/>
+                       <xs:element name="SfkpgAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="AddtlTxInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ExternalAccountIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBalanceSubType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionDomain1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="5"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalOrganisationIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPersonIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPurpose1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReportingSource1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReturnReason1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalFinancialInstitutionIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstitutionIdentification7">
+               <xs:sequence>
+                       <xs:element name="BIC" type="BICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="ClrSysMmbId" 
type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericFinancialIdentification1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstrumentQuantityChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Unit" type="DecimalNumber"/>
+                               <xs:element name="FaceAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="AmtsdVal" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FromToAmountRange">
+               <xs:sequence>
+                       <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+                       <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericAccountIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max34Text"/>
+                       <xs:element name="SchmeNm" 
type="AccountSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericFinancialIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericIdentification3">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericOrganisationIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericPersonIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GroupHeader42">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="MsgRcpt" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="MsgPgntn" type="Pagination" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="IBAN2007Identifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISINIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z0-9]{12,12}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISODate">
+               <xs:restriction base="xs:date"/>
+       </xs:simpleType>
+       <xs:simpleType name="ISODateTime">
+               <xs:restriction base="xs:dateTime"/>
+       </xs:simpleType>
+       <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="FrAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="ToAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="FrToAmt" 
type="FromToAmountRange"/>
+                               <xs:element name="EQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="NEQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ImpliedCurrencyAndAmount">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="InterestType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="InterestType1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="InterestType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="INDY"/>
+                       <xs:enumeration value="OVRN"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max105Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="105"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max140Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="140"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15PlusSignedNumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max16Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="16"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max2048Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="2048"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max34Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="34"/>
+               </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:simpleType name="Max4Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max500Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="500"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max5NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,5}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max70Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="70"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="MessageIdentification2">
+               <xs:sequence>
+                       <xs:element name="MsgNmId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NameAndAddress10">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text"/>
+                       <xs:element name="Adr" type="PostalAddress6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="NamePrefix1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DOCT"/>
+                       <xs:enumeration value="MIST"/>
+                       <xs:enumeration value="MISS"/>
+                       <xs:enumeration value="MADM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Number">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="0"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="NumberAndSumOfTransactions1">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NumberAndSumOfTransactions2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentification4">
+               <xs:sequence>
+                       <xs:element name="BICOrBEI" type="AnyBICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalOrganisationIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Pagination">
+               <xs:sequence>
+                       <xs:element name="PgNb" type="Max5NumericText"/>
+                       <xs:element name="LastPgInd" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Party6Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="OrgId" 
type="OrganisationIdentification4"/>
+                               <xs:element name="PrvtId" 
type="PersonIdentification5"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PartyIdentification32">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Id" type="Party6Choice" 
minOccurs="0"/>
+                       <xs:element name="CtryOfRes" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="CtctDtls" type="ContactDetails2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PercentageRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PersonIdentification5">
+               <xs:sequence>
+                       <xs:element name="DtAndPlcOfBirth" 
type="DateAndPlaceOfBirth" minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PersonIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPersonIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PhoneNumber">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PostalAddress6">
+               <xs:sequence>
+                       <xs:element name="AdrTp" type="AddressType2Code" 
minOccurs="0"/>
+                       <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="SubDept" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="StrtNm" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="BldgNb" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="PstCd" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="TwnNm" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CtrySubDvsn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Ctry" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="AdrLine" type="Max70Text" 
minOccurs="0" maxOccurs="7"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryAgent2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Agt" 
type="BranchAndFinancialInstitutionIdentification4"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryDate2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryParty2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pty" type="PartyIdentification32"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryPrice2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryQuantity1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Qty" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryReference1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Ref" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Purpose2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPurpose1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Rate3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="RateType4Choice"/>
+                       <xs:element name="VldtyRg" 
type="CurrencyAndAmountRange2" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RateType4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Pctg" type="PercentageRate"/>
+                               <xs:element name="Othr" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentInformation3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="ReferredDocumentType2" 
minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType5Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="ReferredDocumentType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceAmount1">
+               <xs:sequence>
+                       <xs:element name="DuePyblAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="DscntApldAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtNoteAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="AdjstmntAmtAndRsn" 
type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RmtdAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceInformation5">
+               <xs:sequence>
+                       <xs:element name="Ustrd" type="Max140Text" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Strd" 
type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceLocation2">
+               <xs:sequence>
+                       <xs:element name="RmtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnMtd" 
type="RemittanceLocationMethod2Code" minOccurs="0"/>
+                       <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnPstlAdr" 
type="NameAndAddress10" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="RemittanceLocationMethod2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FAXI"/>
+                       <xs:enumeration value="EDIC"/>
+                       <xs:enumeration value="URID"/>
+                       <xs:enumeration value="EMAL"/>
+                       <xs:enumeration value="POST"/>
+                       <xs:enumeration value="SMSM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ReportEntry2">
+               <xs:sequence>
+                       <xs:element name="NtryRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="RvslInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="Sts" type="EntryStatus2Code"/>
+                       <xs:element name="BookgDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="ValDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="ComssnWvrInd" type="YesNoIndicator" 
minOccurs="0"/>
+                       <xs:element name="AddtlInfInd" 
type="MessageIdentification2" minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="TechInptChanl" 
type="TechnicalInputChannel1Choice" minOccurs="0"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="NtryDtls" type="EntryDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlNtryInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReportingSource1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReportingSource1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReason5Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReturnReason1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReasonInformation10">
+               <xs:sequence>
+                       <xs:element name="OrgnlBkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Orgtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="ReturnReason5Choice" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max105Text" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="SecurityIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="ISIN" type="ISINIdentifier"/>
+                               <xs:element name="Prtry" 
type="AlternateSecurityIdentification2"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="StructuredRemittanceInformation7">
+               <xs:sequence>
+                       <xs:element name="RfrdDocInf" 
type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RfrdDocAmt" type="RemittanceAmount1" 
minOccurs="0"/>
+                       <xs:element name="CdtrRefInf" 
type="CreditorReferenceInformation2" minOccurs="0"/>
+                       <xs:element name="Invcr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Invcee" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="AddtlRmtInf" type="Max140Text" 
minOccurs="0" maxOccurs="3"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAmount1">
+               <xs:sequence>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="TaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dtls" type="TaxRecordDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAuthorisation1">
+               <xs:sequence>
+                       <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxCharges2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxInformation3">
+               <xs:sequence>
+                       <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+                       <xs:element name="AdmstnZn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RefNb" type="Max140Text" 
minOccurs="0"/>
+                       <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="TtlTaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+                       <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty1">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty2">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Authstn" type="TaxAuthorisation1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxPeriod1">
+               <xs:sequence>
+                       <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+                       <xs:element name="Tp" type="TaxRecordPeriod1Code" 
minOccurs="0"/>
+                       <xs:element name="FrToDt" type="DatePeriodDetails" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecord1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="CtgyDtls" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="DbtrSts" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CertId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="FrmsCd" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="TaxAmt" type="TaxAmount1" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecordDetails1">
+               <xs:sequence>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TaxRecordPeriod1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MM01"/>
+                       <xs:enumeration value="MM02"/>
+                       <xs:enumeration value="MM03"/>
+                       <xs:enumeration value="MM04"/>
+                       <xs:enumeration value="MM05"/>
+                       <xs:enumeration value="MM06"/>
+                       <xs:enumeration value="MM07"/>
+                       <xs:enumeration value="MM08"/>
+                       <xs:enumeration value="MM09"/>
+                       <xs:enumeration value="MM10"/>
+                       <xs:enumeration value="MM11"/>
+                       <xs:enumeration value="MM12"/>
+                       <xs:enumeration value="QTR1"/>
+                       <xs:enumeration value="QTR2"/>
+                       <xs:enumeration value="QTR3"/>
+                       <xs:enumeration value="QTR4"/>
+                       <xs:enumeration value="HLF1"/>
+                       <xs:enumeration value="HLF2"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="TechnicalInputChannel1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalTechnicalInputChannel1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalTransactions2">
+               <xs:sequence>
+                       <xs:element name="TtlNtries" 
type="NumberAndSumOfTransactions2" minOccurs="0"/>
+                       <xs:element name="TtlCdtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlDbtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlNtriesPerBkTxCd" 
type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalsPerBankTransactionCode2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="FcstInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionAgents2">
+               <xs:sequence>
+                       <xs:element name="DbtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="CdtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt1" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt2" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt3" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="RcvgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="DlvrgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IssgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="SttlmPlc" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryAgent2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionDates2">
+               <xs:sequence>
+                       <xs:element name="AccptncDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="TradActvtyCtrctlSttlmDt" 
type="ISODate" minOccurs="0"/>
+                       <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="IntrBkSttlmDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="StartDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="TxDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryDate2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionInterest2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionParty2">
+               <xs:sequence>
+                       <xs:element name="InitgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="DbtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtDbtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Cdtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="CdtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtCdtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="TradgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryParty2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionPrice2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="DealPric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                               <xs:element name="Prtry" 
type="ProprietaryPrice2" maxOccurs="unbounded"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionQuantities1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Qty" 
type="FinancialInstrumentQuantityChoice"/>
+                               <xs:element name="Prtry" 
type="ProprietaryQuantity1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionReferences2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="InstrId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="EndToEndId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="MndtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ChqNb" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ClrSysRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryReference1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TrueFalseIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+       <xs:simpleType name="YesNoIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+</xs:schema>
diff --git a/sandbox/src/main/resources/xsd/camt.054.001.02.xsd 
b/sandbox/src/main/resources/xsd/camt.054.001.02.xsd
new file mode 100644
index 0000000..504722e
--- /dev/null
+++ b/sandbox/src/main/resources/xsd/camt.054.001.02.xsd
@@ -0,0 +1,1240 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) 
bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 
17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02" 
elementFormDefault="qualified">
+       <xs:element name="Document" type="Document"/>
+       <xs:complexType name="AccountIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="IBAN" 
type="IBAN2007Identifier"/>
+                               <xs:element name="Othr" 
type="GenericAccountIdentification1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountInterest2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountNotification2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="ElctrncSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="LglSeqNb" type="Number" 
minOccurs="0"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="CpyDplctInd" 
type="CopyDuplicate1Code" minOccurs="0"/>
+                       <xs:element name="RptgSrc" 
type="ReportingSource1Choice" minOccurs="0"/>
+                       <xs:element name="Acct" type="CashAccount20"/>
+                       <xs:element name="RltdAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="Intrst" type="AccountInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="TxsSummry" type="TotalTransactions2" 
minOccurs="0"/>
+                       <xs:element name="Ntry" type="ReportEntry2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlNtfctnInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AccountSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalAccountIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+               <xs:simpleContent>
+                       <xs:extension 
base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+                               <xs:attribute name="Ccy" 
type="ActiveOrHistoricCurrencyCode" use="required"/>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{3,3}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="AddressType2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="ADDR"/>
+                       <xs:enumeration value="PBOX"/>
+                       <xs:enumeration value="HOME"/>
+                       <xs:enumeration value="BIZZ"/>
+                       <xs:enumeration value="MLTO"/>
+                       <xs:enumeration value="DLVY"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="AlternateSecurityIdentification2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Id" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchange3">
+               <xs:sequence>
+                       <xs:element name="InstdAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="TxAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="CntrValAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="AnncdPstngAmt" 
type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+                       <xs:element name="PrtryAmt" 
type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CcyXchg" type="CurrencyExchange5" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="AmountRangeBoundary1">
+               <xs:sequence>
+                       <xs:element name="BdryAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       <xs:element name="Incl" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="AnyBICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="BICIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BankToCustomerDebitCreditNotificationV02">
+               <xs:sequence>
+                       <xs:element name="GrpHdr" type="GroupHeader42"/>
+                       <xs:element name="Ntfctn" type="AccountNotification2" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure4">
+               <xs:sequence>
+                       <xs:element name="Domn" 
type="BankTransactionCodeStructure5" minOccurs="0"/>
+                       <xs:element name="Prtry" 
type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure5">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionDomain1Code"/>
+                       <xs:element name="Fmly" 
type="BankTransactionCodeStructure6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BankTransactionCodeStructure6">
+               <xs:sequence>
+                       <xs:element name="Cd" 
type="ExternalBankTransactionFamily1Code"/>
+                       <xs:element name="SubFmlyCd" 
type="ExternalBankTransactionSubFamily1Code"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="BaseOneRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="BatchInformation2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="NbOfTxs" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+               <xs:sequence>
+                       <xs:element name="FinInstnId" 
type="FinancialInstitutionIdentification7"/>
+                       <xs:element name="BrnchId" type="BranchData2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="BranchData2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount16">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccount20">
+               <xs:sequence>
+                       <xs:element name="Id" 
type="AccountIdentification4Choice"/>
+                       <xs:element name="Tp" type="CashAccountType2" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="Ownr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Svcr" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashAccountType2">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="CashAccountType4Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CashAccountType4Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CASH"/>
+                       <xs:enumeration value="CHAR"/>
+                       <xs:enumeration value="COMM"/>
+                       <xs:enumeration value="TAXE"/>
+                       <xs:enumeration value="CISH"/>
+                       <xs:enumeration value="TRAS"/>
+                       <xs:enumeration value="SACC"/>
+                       <xs:enumeration value="CACC"/>
+                       <xs:enumeration value="SVGS"/>
+                       <xs:enumeration value="ONDP"/>
+                       <xs:enumeration value="MGLD"/>
+                       <xs:enumeration value="NREX"/>
+                       <xs:enumeration value="MOMA"/>
+                       <xs:enumeration value="LOAN"/>
+                       <xs:enumeration value="SLRY"/>
+                       <xs:enumeration value="ODFT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CashBalanceAvailability2">
+               <xs:sequence>
+                       <xs:element name="Dt" 
type="CashBalanceAvailabilityDate1"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CashBalanceAvailabilityDate1">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="NbOfDays" 
type="Max15PlusSignedNumericText"/>
+                               <xs:element name="ActlDt" type="ISODate"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ChargeBearerType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DEBT"/>
+                       <xs:enumeration value="CRED"/>
+                       <xs:enumeration value="SHAR"/>
+                       <xs:enumeration value="SLEV"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ChargeType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BRKF"/>
+                       <xs:enumeration value="COMM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ChargeType2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="ChargeType1Code"/>
+                               <xs:element name="Prtry" 
type="GenericIdentification3"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ChargesInformation6">
+               <xs:sequence>
+                       <xs:element name="TtlChrgsAndTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Tp" type="ChargeType2Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Br" type="ChargeBearerType1Code" 
minOccurs="0"/>
+                       <xs:element name="Pty" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxCharges2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemIdentification2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalClearingSystemIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ClearingSystemMemberIdentification2">
+               <xs:sequence>
+                       <xs:element name="ClrSysId" 
type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+                       <xs:element name="MmbId" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ContactDetails2">
+               <xs:sequence>
+                       <xs:element name="NmPrfx" type="NamePrefix1Code" 
minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PhneNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="MobNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="FaxNb" type="PhoneNumber" 
minOccurs="0"/>
+                       <xs:element name="EmailAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CopyDuplicate1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CODU"/>
+                       <xs:enumeration value="COPY"/>
+                       <xs:enumeration value="DUPL"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CorporateAction1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Prtry" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="CountryCode">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z]{2,2}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="CreditDebitCode">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="CRDT"/>
+                       <xs:enumeration value="DBIT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="CreditorReferenceInformation2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="CreditorReferenceType2" 
minOccurs="0"/>
+                       <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType3Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CreditorReferenceType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="CreditorReferenceType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyAndAmountRange2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ImpliedCurrencyAmountRangeChoice"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Ccy" 
type="ActiveOrHistoricCurrencyCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="CurrencyExchange5">
+               <xs:sequence>
+                       <xs:element name="SrcCcy" 
type="ActiveOrHistoricCurrencyCode"/>
+                       <xs:element name="TrgtCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="UnitCcy" 
type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+                       <xs:element name="XchgRate" type="BaseOneRate"/>
+                       <xs:element name="CtrctId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="QtnDt" type="ISODateTime" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndDateTimeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Dt" type="ISODate"/>
+                               <xs:element name="DtTm" type="ISODateTime"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateAndPlaceOfBirth">
+               <xs:sequence>
+                       <xs:element name="BirthDt" type="ISODate"/>
+                       <xs:element name="PrvcOfBirth" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CityOfBirth" type="Max35Text"/>
+                       <xs:element name="CtryOfBirth" type="CountryCode"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DatePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDt" type="ISODate"/>
+                       <xs:element name="ToDt" type="ISODate"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DateTimePeriodDetails">
+               <xs:sequence>
+                       <xs:element name="FrDtTm" type="ISODateTime"/>
+                       <xs:element name="ToDtTm" type="ISODateTime"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DecimalNumber">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="17"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="Document">
+               <xs:sequence>
+                       <xs:element name="BkToCstmrDbtCdtNtfctn" 
type="BankToCustomerDebitCreditNotificationV02"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DocumentAdjustment1">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="DocumentType3Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="RADM"/>
+                       <xs:enumeration value="RPIN"/>
+                       <xs:enumeration value="FXDR"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="PUOR"/>
+                       <xs:enumeration value="SCOR"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="DocumentType5Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MSIN"/>
+                       <xs:enumeration value="CNFA"/>
+                       <xs:enumeration value="DNFA"/>
+                       <xs:enumeration value="CINV"/>
+                       <xs:enumeration value="CREN"/>
+                       <xs:enumeration value="DEBN"/>
+                       <xs:enumeration value="HIRI"/>
+                       <xs:enumeration value="SBIN"/>
+                       <xs:enumeration value="CMCN"/>
+                       <xs:enumeration value="SOAC"/>
+                       <xs:enumeration value="DISP"/>
+                       <xs:enumeration value="BOLD"/>
+                       <xs:enumeration value="VCHR"/>
+                       <xs:enumeration value="AROI"/>
+                       <xs:enumeration value="TSUT"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryDetails1">
+               <xs:sequence>
+                       <xs:element name="Btch" type="BatchInformation2" 
minOccurs="0"/>
+                       <xs:element name="TxDtls" type="EntryTransaction2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="EntryStatus2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="BOOK"/>
+                       <xs:enumeration value="PDNG"/>
+                       <xs:enumeration value="INFO"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="EntryTransaction2">
+               <xs:sequence>
+                       <xs:element name="Refs" type="TransactionReferences2" 
minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RltdPties" type="TransactionParty2" 
minOccurs="0"/>
+                       <xs:element name="RltdAgts" type="TransactionAgents2" 
minOccurs="0"/>
+                       <xs:element name="Purp" type="Purpose2Choice" 
minOccurs="0"/>
+                       <xs:element name="RltdRmtInf" 
type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+                       <xs:element name="RmtInf" type="RemittanceInformation5" 
minOccurs="0"/>
+                       <xs:element name="RltdDts" type="TransactionDates2" 
minOccurs="0"/>
+                       <xs:element name="RltdPric" 
type="TransactionPrice2Choice" minOccurs="0"/>
+                       <xs:element name="RltdQties" 
type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="FinInstrmId" 
type="SecurityIdentification4Choice" minOccurs="0"/>
+                       <xs:element name="Tax" type="TaxInformation3" 
minOccurs="0"/>
+                       <xs:element name="RtrInf" 
type="ReturnReasonInformation10" minOccurs="0"/>
+                       <xs:element name="CorpActn" type="CorporateAction1" 
minOccurs="0"/>
+                       <xs:element name="SfkpgAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="AddtlTxInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ExternalAccountIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionDomain1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="5"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalOrganisationIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPersonIdentification1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalPurpose1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReportingSource1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalReturnReason1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalFinancialInstitutionIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstitutionIdentification7">
+               <xs:sequence>
+                       <xs:element name="BIC" type="BICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="ClrSysMmbId" 
type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericFinancialIdentification1" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FinancialInstrumentQuantityChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Unit" type="DecimalNumber"/>
+                               <xs:element name="FaceAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="AmtsdVal" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="FromToAmountRange">
+               <xs:sequence>
+                       <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+                       <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericAccountIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max34Text"/>
+                       <xs:element name="SchmeNm" 
type="AccountSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericFinancialIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericIdentification3">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericOrganisationIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GenericPersonIdentification1">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text"/>
+                       <xs:element name="SchmeNm" 
type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="GroupHeader42">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text"/>
+                       <xs:element name="CreDtTm" type="ISODateTime"/>
+                       <xs:element name="MsgRcpt" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="MsgPgntn" type="Pagination" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="IBAN2007Identifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern 
value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISINIdentifier">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[A-Z0-9]{12,12}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="ISODate">
+               <xs:restriction base="xs:date"/>
+       </xs:simpleType>
+       <xs:simpleType name="ISODateTime">
+               <xs:restriction base="xs:dateTime"/>
+       </xs:simpleType>
+       <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="FrAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="ToAmt" 
type="AmountRangeBoundary1"/>
+                               <xs:element name="FrToAmt" 
type="FromToAmountRange"/>
+                               <xs:element name="EQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                               <xs:element name="NEQAmt" 
type="ImpliedCurrencyAndAmount"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="ImpliedCurrencyAndAmount">
+               <xs:restriction base="xs:decimal">
+                       <xs:minInclusive value="0"/>
+                       <xs:fractionDigits value="5"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="InterestType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="InterestType1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="InterestType1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="INDY"/>
+                       <xs:enumeration value="OVRN"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max105Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="105"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max140Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="140"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max15PlusSignedNumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max16Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="16"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max2048Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="2048"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max34Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="34"/>
+               </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:simpleType name="Max4Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="4"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max500Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="500"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max5NumericText">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]{1,5}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Max70Text">
+               <xs:restriction base="xs:string">
+                       <xs:minLength value="1"/>
+                       <xs:maxLength value="70"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="MessageIdentification2">
+               <xs:sequence>
+                       <xs:element name="MsgNmId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NameAndAddress10">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text"/>
+                       <xs:element name="Adr" type="PostalAddress6"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="NamePrefix1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="DOCT"/>
+                       <xs:enumeration value="MIST"/>
+                       <xs:enumeration value="MISS"/>
+                       <xs:enumeration value="MADM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="Number">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="0"/>
+                       <xs:totalDigits value="18"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="NumberAndSumOfTransactions1">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="NumberAndSumOfTransactions2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentification4">
+               <xs:sequence>
+                       <xs:element name="BICOrBEI" type="AnyBICIdentifier" 
minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalOrganisationIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Pagination">
+               <xs:sequence>
+                       <xs:element name="PgNb" type="Max5NumericText"/>
+                       <xs:element name="LastPgInd" type="YesNoIndicator"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Party6Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="OrgId" 
type="OrganisationIdentification4"/>
+                               <xs:element name="PrvtId" 
type="PersonIdentification5"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PartyIdentification32">
+               <xs:sequence>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+                       <xs:element name="PstlAdr" type="PostalAddress6" 
minOccurs="0"/>
+                       <xs:element name="Id" type="Party6Choice" 
minOccurs="0"/>
+                       <xs:element name="CtryOfRes" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="CtctDtls" type="ContactDetails2" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PercentageRate">
+               <xs:restriction base="xs:decimal">
+                       <xs:fractionDigits value="10"/>
+                       <xs:totalDigits value="11"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PersonIdentification5">
+               <xs:sequence>
+                       <xs:element name="DtAndPlcOfBirth" 
type="DateAndPlaceOfBirth" minOccurs="0"/>
+                       <xs:element name="Othr" 
type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="PersonIdentificationSchemeName1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPersonIdentification1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="PhoneNumber">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="PostalAddress6">
+               <xs:sequence>
+                       <xs:element name="AdrTp" type="AddressType2Code" 
minOccurs="0"/>
+                       <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+                       <xs:element name="SubDept" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="StrtNm" type="Max70Text" 
minOccurs="0"/>
+                       <xs:element name="BldgNb" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="PstCd" type="Max16Text" 
minOccurs="0"/>
+                       <xs:element name="TwnNm" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CtrySubDvsn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Ctry" type="CountryCode" 
minOccurs="0"/>
+                       <xs:element name="AdrLine" type="Max70Text" 
minOccurs="0" maxOccurs="7"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryAgent2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Agt" 
type="BranchAndFinancialInstitutionIdentification4"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+               <xs:sequence>
+                       <xs:element name="Cd" type="Max35Text"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryDate2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryParty2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pty" type="PartyIdentification32"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryPrice2">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Pric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryQuantity1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Qty" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ProprietaryReference1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text"/>
+                       <xs:element name="Ref" type="Max35Text"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Purpose2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalPurpose1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="Rate3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="RateType4Choice"/>
+                       <xs:element name="VldtyRg" 
type="CurrencyAndAmountRange2" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RateType4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Pctg" type="PercentageRate"/>
+                               <xs:element name="Othr" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentInformation3">
+               <xs:sequence>
+                       <xs:element name="Tp" type="ReferredDocumentType2" 
minOccurs="0"/>
+                       <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" type="DocumentType5Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReferredDocumentType2">
+               <xs:sequence>
+                       <xs:element name="CdOrPrtry" 
type="ReferredDocumentType1Choice"/>
+                       <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceAmount1">
+               <xs:sequence>
+                       <xs:element name="DuePyblAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="DscntApldAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="CdtNoteAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="AdjstmntAmtAndRsn" 
type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RmtdAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceInformation5">
+               <xs:sequence>
+                       <xs:element name="Ustrd" type="Max140Text" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Strd" 
type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="RemittanceLocation2">
+               <xs:sequence>
+                       <xs:element name="RmtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnMtd" 
type="RemittanceLocationMethod2Code" minOccurs="0"/>
+                       <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" 
minOccurs="0"/>
+                       <xs:element name="RmtLctnPstlAdr" 
type="NameAndAddress10" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="RemittanceLocationMethod2Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FAXI"/>
+                       <xs:enumeration value="EDIC"/>
+                       <xs:enumeration value="URID"/>
+                       <xs:enumeration value="EMAL"/>
+                       <xs:enumeration value="POST"/>
+                       <xs:enumeration value="SMSM"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="ReportEntry2">
+               <xs:sequence>
+                       <xs:element name="NtryRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="RvslInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="Sts" type="EntryStatus2Code"/>
+                       <xs:element name="BookgDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="ValDt" type="DateAndDateTimeChoice" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="ComssnWvrInd" type="YesNoIndicator" 
minOccurs="0"/>
+                       <xs:element name="AddtlInfInd" 
type="MessageIdentification2" minOccurs="0"/>
+                       <xs:element name="AmtDtls" 
type="AmountAndCurrencyExchange3" minOccurs="0"/>
+                       <xs:element name="Chrgs" type="ChargesInformation6" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="TechInptChanl" 
type="TechnicalInputChannel1Choice" minOccurs="0"/>
+                       <xs:element name="Intrst" type="TransactionInterest2" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="NtryDtls" type="EntryDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="AddtlNtryInf" type="Max500Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReportingSource1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReportingSource1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReason5Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalReturnReason1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ReturnReasonInformation10">
+               <xs:sequence>
+                       <xs:element name="OrgnlBkTxCd" 
type="BankTransactionCodeStructure4" minOccurs="0"/>
+                       <xs:element name="Orgtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="ReturnReason5Choice" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max105Text" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="SecurityIdentification4Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="ISIN" type="ISINIdentifier"/>
+                               <xs:element name="Prtry" 
type="AlternateSecurityIdentification2"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="StructuredRemittanceInformation7">
+               <xs:sequence>
+                       <xs:element name="RfrdDocInf" 
type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="RfrdDocAmt" type="RemittanceAmount1" 
minOccurs="0"/>
+                       <xs:element name="CdtrRefInf" 
type="CreditorReferenceInformation2" minOccurs="0"/>
+                       <xs:element name="Invcr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="Invcee" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="AddtlRmtInf" type="Max140Text" 
minOccurs="0" maxOccurs="3"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAmount1">
+               <xs:sequence>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="TaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dtls" type="TaxRecordDetails1" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxAuthorisation1">
+               <xs:sequence>
+                       <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxCharges2">
+               <xs:sequence>
+                       <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Rate" type="PercentageRate" 
minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxInformation3">
+               <xs:sequence>
+                       <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+                       <xs:element name="AdmstnZn" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RefNb" type="Max140Text" 
minOccurs="0"/>
+                       <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="TtlTaxblBaseAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="TtlTaxAmt" 
type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+                       <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+                       <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty1">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxParty2">
+               <xs:sequence>
+                       <xs:element name="TaxId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="RegnId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TaxTp" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Authstn" type="TaxAuthorisation1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxPeriod1">
+               <xs:sequence>
+                       <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+                       <xs:element name="Tp" type="TaxRecordPeriod1Code" 
minOccurs="0"/>
+                       <xs:element name="FrToDt" type="DatePeriodDetails" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecord1">
+               <xs:sequence>
+                       <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="CtgyDtls" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="DbtrSts" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="CertId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="FrmsCd" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="TaxAmt" type="TaxAmount1" 
minOccurs="0"/>
+                       <xs:element name="AddtlInf" type="Max140Text" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TaxRecordDetails1">
+               <xs:sequence>
+                       <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TaxRecordPeriod1Code">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="MM01"/>
+                       <xs:enumeration value="MM02"/>
+                       <xs:enumeration value="MM03"/>
+                       <xs:enumeration value="MM04"/>
+                       <xs:enumeration value="MM05"/>
+                       <xs:enumeration value="MM06"/>
+                       <xs:enumeration value="MM07"/>
+                       <xs:enumeration value="MM08"/>
+                       <xs:enumeration value="MM09"/>
+                       <xs:enumeration value="MM10"/>
+                       <xs:enumeration value="MM11"/>
+                       <xs:enumeration value="MM12"/>
+                       <xs:enumeration value="QTR1"/>
+                       <xs:enumeration value="QTR2"/>
+                       <xs:enumeration value="QTR3"/>
+                       <xs:enumeration value="QTR4"/>
+                       <xs:enumeration value="HLF1"/>
+                       <xs:enumeration value="HLF2"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="TechnicalInputChannel1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Cd" 
type="ExternalTechnicalInputChannel1Code"/>
+                               <xs:element name="Prtry" type="Max35Text"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalTransactions2">
+               <xs:sequence>
+                       <xs:element name="TtlNtries" 
type="NumberAndSumOfTransactions2" minOccurs="0"/>
+                       <xs:element name="TtlCdtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlDbtNtries" 
type="NumberAndSumOfTransactions1" minOccurs="0"/>
+                       <xs:element name="TtlNtriesPerBkTxCd" 
type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TotalsPerBankTransactionCode2">
+               <xs:sequence>
+                       <xs:element name="NbOfNtries" type="Max15NumericText" 
minOccurs="0"/>
+                       <xs:element name="Sum" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="TtlNetNtryAmt" type="DecimalNumber" 
minOccurs="0"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode" 
minOccurs="0"/>
+                       <xs:element name="FcstInd" type="TrueFalseIndicator" 
minOccurs="0"/>
+                       <xs:element name="BkTxCd" 
type="BankTransactionCodeStructure4"/>
+                       <xs:element name="Avlbty" 
type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionAgents2">
+               <xs:sequence>
+                       <xs:element name="DbtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="CdtrAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt1" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt2" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IntrmyAgt3" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="RcvgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="DlvrgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="IssgAgt" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="SttlmPlc" 
type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryAgent2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionDates2">
+               <xs:sequence>
+                       <xs:element name="AccptncDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="TradActvtyCtrctlSttlmDt" 
type="ISODate" minOccurs="0"/>
+                       <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="IntrBkSttlmDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="StartDt" type="ISODate" 
minOccurs="0"/>
+                       <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+                       <xs:element name="TxDtTm" type="ISODateTime" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryDate2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionInterest2">
+               <xs:sequence>
+                       <xs:element name="Amt" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                       <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+                       <xs:element name="Tp" type="InterestType1Choice" 
minOccurs="0"/>
+                       <xs:element name="Rate" type="Rate3" minOccurs="0" 
maxOccurs="unbounded"/>
+                       <xs:element name="FrToDt" type="DateTimePeriodDetails" 
minOccurs="0"/>
+                       <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionParty2">
+               <xs:sequence>
+                       <xs:element name="InitgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Dbtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="DbtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtDbtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Cdtr" type="PartyIdentification32" 
minOccurs="0"/>
+                       <xs:element name="CdtrAcct" type="CashAccount16" 
minOccurs="0"/>
+                       <xs:element name="UltmtCdtr" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="TradgPty" 
type="PartyIdentification32" minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryParty2" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionPrice2Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="DealPric" 
type="ActiveOrHistoricCurrencyAndAmount"/>
+                               <xs:element name="Prtry" 
type="ProprietaryPrice2" maxOccurs="unbounded"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionQuantities1Choice">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="Qty" 
type="FinancialInstrumentQuantityChoice"/>
+                               <xs:element name="Prtry" 
type="ProprietaryQuantity1"/>
+                       </xs:choice>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TransactionReferences2">
+               <xs:sequence>
+                       <xs:element name="MsgId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="AcctSvcrRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="PmtInfId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="InstrId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="EndToEndId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+                       <xs:element name="MndtId" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ChqNb" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="ClrSysRef" type="Max35Text" 
minOccurs="0"/>
+                       <xs:element name="Prtry" type="ProprietaryReference1" 
minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:simpleType name="TrueFalseIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+       <xs:simpleType name="YesNoIndicator">
+               <xs:restriction base="xs:boolean"/>
+       </xs:simpleType>
+</xs:schema>

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]