From 6fdd72e28b7c93b418b9a184b72e3240d18529bc Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner <lorenz.stechauner@necronda.net> Date: Wed, 31 Jan 2024 16:19:48 +0100 Subject: [PATCH] Tests: Add pain.001.001 xsd schemas --- Tests/Resources/Schemas/pain.001.001.01.xsd | 747 +++++++++++ Tests/Resources/Schemas/pain.001.001.02.xsd | 784 ++++++++++++ Tests/Resources/Schemas/pain.001.001.03.xsd | 921 ++++++++++++++ Tests/Resources/Schemas/pain.001.001.04.xsd | 968 +++++++++++++++ Tests/Resources/Schemas/pain.001.001.05.xsd | 931 ++++++++++++++ Tests/Resources/Schemas/pain.001.001.06.xsd | 987 +++++++++++++++ Tests/Resources/Schemas/pain.001.001.07.xsd | 1030 +++++++++++++++ Tests/Resources/Schemas/pain.001.001.08.xsd | 1036 +++++++++++++++ Tests/Resources/Schemas/pain.001.001.09.xsd | 1114 +++++++++++++++++ Tests/Resources/Schemas/pain.001.001.10.xsd | 1241 ++++++++++++++++++ Tests/Resources/Schemas/pain.001.001.11.xsd | 1244 +++++++++++++++++++ Tests/Tests.csproj | 1 + 12 files changed, 11004 insertions(+) create mode 100644 Tests/Resources/Schemas/pain.001.001.01.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.02.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.03.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.04.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.05.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.06.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.07.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.08.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.09.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.10.xsd create mode 100644 Tests/Resources/Schemas/pain.001.001.11.xsd diff --git a/Tests/Resources/Schemas/pain.001.001.01.xsd b/Tests/Resources/Schemas/pain.001.001.01.xsd new file mode 100644 index 0000000..bf8d411 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.01.xsd @@ -0,0 +1,747 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2005 Sep 13 16:04:25--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:xsd:pain.001.001.01" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:xsd:pain.001.001.01"> +<xs:element name="Document" type="Document"/> +<xs:complexType name="AccountIdentification1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="IBAN" type="IBANIdentifier"/> +<xs:element name="BBAN" type="BBANIdentifier"/> +<xs:element name="UPIC" type="UPICIdentifier"/> +<xs:element name="DmstAcct" type="SimpleIdentificationInformation"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<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="AmountType1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="InstdAmt" type="CurrencyAndAmount"/> +<xs:element name="EqvtAmt" type="EquivalentAmount"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="AustrianBankleitzahlIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="AT[0-9]{5,5}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="BBANIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[a-zA-Z0-9]{1,30}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="BEIIdentifier"> +<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:simpleType name="BatchBookingIndicator"> +<xs:restriction base="xs:boolean"/> +</xs:simpleType> +<xs:complexType name="BranchAndFinancialInstitutionIdentification"> +<xs:sequence> +<xs:element name="FinInstnId" type="FinancialInstitutionIdentification1"/> +<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="BranchData"> +<xs:sequence> +<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="CHIPSParticipantIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="CP[0-9]{4,4}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="CHIPSUniversalIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="CH[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="CanadianPaymentsARNIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="CA[0-9]{9,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="CashAccount3"> +<xs:sequence> +<xs:element name="Id" type="AccountIdentification1Choice"/> +<xs:element name="Tp" type="CashAccountType3Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="CashAccountType3Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CASH"/> +<xs:enumeration value="CHAR"/> +<xs:enumeration value="SACC"/> +<xs:enumeration value="CACC"/> +<xs:enumeration value="SVGS"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="CashClearingSystem2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="RTG"/> +<xs:enumeration value="ACH"/> +<xs:enumeration value="CHI"/> +<xs:enumeration value="FDN"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ChargeBearer1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="OUR"/> +<xs:enumeration value="BEN"/> +<xs:enumeration value="SHA"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="Cheque2"> +<xs:sequence> +<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +<xs:element name="DlvryMtd" type="ChequeDelivery1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="ChequeDelivery1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="MLDB"/> +<xs:enumeration value="MLCD"/> +<xs:enumeration value="MLFA"/> +<xs:enumeration value="CRDB"/> +<xs:enumeration value="CRCD"/> +<xs:enumeration value="CRFA"/> +<xs:enumeration value="PUDB"/> +<xs:enumeration value="PUCD"/> +<xs:enumeration value="PUFA"/> +<xs:enumeration value="RGDB"/> +<xs:enumeration value="RGCD"/> +<xs:enumeration value="RGFA"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ChequeType2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CCHQ"/> +<xs:enumeration value="CCCH"/> +<xs:enumeration value="BCHQ"/> +<xs:enumeration value="DRFT"/> +<xs:enumeration value="ELDR"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="ClearingSystemMemberIdentificationChoice"> +<xs:sequence> +<xs:choice> +<xs:element name="USCHU" type="CHIPSUniversalIdentifier"/> +<xs:element name="NZNCC" type="NewZealandNCCIdentifier"/> +<xs:element name="IENSC" type="IrishNSCIdentifier"/> +<xs:element name="GBSC" type="UKDomesticSortCodeIdentifier"/> +<xs:element name="USCH" type="CHIPSParticipantIdentifier"/> +<xs:element name="CHBC" type="SwissBCIdentifier"/> +<xs:element name="USFW" type="FedwireRoutingNumberIdentifier"/> +<xs:element name="PTNCC" type="PortugueseNCCIdentifier"/> +<xs:element name="RUCB" type="RussianCentralBankIdentificationCodeIdentifier"/> +<xs:element name="ITNCC" type="ItalianDomesticIdentifier"/> +<xs:element name="ATBLZ" type="AustrianBankleitzahlIdentifier"/> +<xs:element name="CACPA" type="CanadianPaymentsARNIdentifier"/> +<xs:element name="CHSIC" type="SwissSICIdentifier"/> +<xs:element name="DEBLZ" type="GermanBankleitzahlIdentifier"/> +<xs:element name="ESNCC" type="SpanishDomesticInterbankingIdentifier"/> +<xs:element name="ZANCC" type="SouthAfricanNCCIdentifier"/> +<xs:element name="HKNCC" type="HongKongBankIdentifier"/> +<xs:element name="AUBSBx" type="ExtensiveBranchNetworkIdentifier"/> +<xs:element name="AUBSBs" type="SmallNetworkIdentifier"/> +</xs:choice> +</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="CreditTransferType2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CORT"/> +<xs:enumeration value="SALA"/> +<xs:enumeration value="TREA"/> +<xs:enumeration value="CASH"/> +<xs:enumeration value="DIVI"/> +<xs:enumeration value="GOVT"/> +<xs:enumeration value="INTE"/> +<xs:enumeration value="LOAN"/> +<xs:enumeration value="PENS"/> +<xs:enumeration value="SECU"/> +<xs:enumeration value="SSBE"/> +<xs:enumeration value="SUPP"/> +<xs:enumeration value="TAXS"/> +<xs:enumeration value="TRAD"/> +<xs:enumeration value="VATX"/> +<xs:enumeration value="HEDG"/> +<xs:enumeration value="INTC"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="CreditTransferTypeIdentification"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="CreditTransferType2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="LclInstrm" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:choice> +<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="SttlmPrty" type="SettlementPriorityChoice" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="CurrencyAndAmount_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="CurrencyAndAmount"> +<xs:simpleContent> +<xs:extension base="CurrencyAndAmount_SimpleType"> +<xs:attribute name="Ccy" type="CurrencyCode" use="required"/> +</xs:extension> +</xs:simpleContent> +</xs:complexType> +<xs:simpleType name="CurrencyCode"> +<xs:restriction base="xs:string"> +<xs:pattern value="[A-Z]{3,3}"/> +</xs:restriction> +</xs:simpleType> +<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="pain.001.001.01" type="pain.001.001.01"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="DocumentType1Code"> +<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="RADM"/> +<xs:enumeration value="RPIN"/> +<xs:enumeration value="CMCN"/> +<xs:enumeration value="FXDR"/> +<xs:enumeration value="SOAC"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="DunsIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{9,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="EANGLNIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{13,13}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="EquivalentAmount"> +<xs:sequence> +<xs:element name="Amt" type="CurrencyAndAmount"/> +<xs:element name="CcyOfTrf" type="CurrencyCode"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="ExtensiveBranchNetworkIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="AU[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="FedwireRoutingNumberIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="FW[0-9]{9,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="FinancialInstitutionIdentification1"> +<xs:sequence> +<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentificationChoice" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GenericIdentification3"> +<xs:sequence> +<xs:element name="Id" type="Max35Text"/> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GenericIdentification4"> +<xs:sequence> +<xs:element name="Id" type="Max35Text"/> +<xs:element name="IdTp" type="Max35Text"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GenericPaymentTransaction3"> +<xs:sequence> +<xs:element name="PmtId" type="PaymentIdentification"/> +<xs:element name="Purp" type="PurposeChoice" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="AmountType1Choice"/> +<xs:element name="ChqInstr" type="Cheque2" minOccurs="0" maxOccurs="1"/> +<xs:element name="OrgtgPty" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/> +<xs:element name="Cdtr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrAcct" type="CashAccount3" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrCtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/> +<xs:element name="FnlAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/> +<xs:element name="FnlAgtAcct" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="FnlPty" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgBr" type="ChargeBearer1Code"/> +<xs:element name="XchgCtrctRef" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RgltryRptg" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="3"/> +<xs:element name="InstrForFnlAgt" type="InstructionForFinalAgent" minOccurs="0" maxOccurs="1"/> +<xs:element name="InstrForFrstAgt" type="InstructionForFirstAgent" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtInf" type="RemittanceInformation3Choice" minOccurs="0" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="GermanBankleitzahlIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="BL[0-9]{8,8}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="GroupInformation1"> +<xs:sequence> +<xs:element name="GrpId" type="Max35Text"/> +<xs:element name="CreDtTm" type="ISODateTime"/> +<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/> +<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/> +<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/> +<xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0" maxOccurs="1"/> +<xs:element name="Grpg" type="GroupingIndicator" minOccurs="0" maxOccurs="1"/> +<xs:element name="InitgPty" type="PartyIdentification1"/> +<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="GroupingIndicator"> +<xs:restriction base="xs:boolean"/> +</xs:simpleType> +<xs:simpleType name="HongKongBankIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="HK[0-9]{3,3}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="IBANIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/> +</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:simpleType name="Instruction3Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CHQB"/> +<xs:enumeration value="HOLD"/> +<xs:enumeration value="PHOB"/> +<xs:enumeration value="TELB"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="InstructionForFinalAgent"> +<xs:sequence> +<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="2"/> +<xs:element name="Prtry" type="Max140Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="InstructionForFirstAgent"> +<xs:sequence> +<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtLctnElctrncAdr" type="Max128Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +<xs:element name="DbtPurp" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Prtry" type="Max140Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Tax" type="TaxInformation1" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="IrishNSCIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="IE[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ItalianDomesticIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="IT[0-9]{10,10}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="Max128Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="128"/> +</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="Max16Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="16"/> +</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="Max3Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="3"/> +</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="NameAndAddress3"> +<xs:sequence> +<xs:element name="Nm" type="Max70Text"/> +<xs:element name="Adr" type="PostalAddress1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="NewZealandNCCIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="NZ[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="NonFinancialInstitutionIdentification1"> +<xs:sequence> +<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="Party1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="OrgId" type="NonFinancialInstitutionIdentification1"/> +<xs:element name="PrvtId" type="PersonIdentification2" minOccurs="1" maxOccurs="2"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PartyIdentification1"> +<xs:sequence> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +<xs:element name="Id" type="Party1Choice" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PaymentIdentification"> +<xs:sequence> +<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="EndToEndId" type="Max35Text"/> +<xs:element name="PmtRmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PaymentInformation6"> +<xs:sequence> +<xs:element name="ReqdExctnDt" type="ISODate"/> +<xs:element name="PmtMtdByFrstAgt" type="PaymentMethod1Code"/> +<xs:element name="CdtTrfTpId" type="CreditTransferTypeIdentification" minOccurs="0" maxOccurs="1"/> +<xs:element name="Dbtr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +<xs:element name="DbtrCtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/> +<xs:element name="DbtrAcct" type="CashAccount3"/> +<xs:element name="FrstAgt" type="BranchAndFinancialInstitutionIdentification"/> +<xs:element name="ChrgsAcct" type="CashAccount3" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/> +<xs:element name="PmtTx" type="GenericPaymentTransaction3" minOccurs="1" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="PaymentMethod1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CHK"/> +<xs:enumeration value="TRF"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="PaymentPurpose1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="SALA"/> +<xs:enumeration value="TREA"/> +<xs:enumeration value="ADVA"/> +<xs:enumeration value="AGRT"/> +<xs:enumeration value="ALMY"/> +<xs:enumeration value="BECH"/> +<xs:enumeration value="BENE"/> +<xs:enumeration value="BONU"/> +<xs:enumeration value="CASH"/> +<xs:enumeration value="CBFF"/> +<xs:enumeration value="CHAR"/> +<xs:enumeration value="COLL"/> +<xs:enumeration value="CMDT"/> +<xs:enumeration value="COMC"/> +<xs:enumeration value="COMM"/> +<xs:enumeration value="COST"/> +<xs:enumeration value="CPYR"/> +<xs:enumeration value="DIVI"/> +<xs:enumeration value="FREX"/> +<xs:enumeration value="GDDS"/> +<xs:enumeration value="GOVT"/> +<xs:enumeration value="IHRP"/> +<xs:enumeration value="INTC"/> +<xs:enumeration value="INSU"/> +<xs:enumeration value="INTE"/> +<xs:enumeration value="LICF"/> +<xs:enumeration value="LOAN"/> +<xs:enumeration value="LOAR"/> +<xs:enumeration value="NETT"/> +<xs:enumeration value="PAYR"/> +<xs:enumeration value="PENS"/> +<xs:enumeration value="REFU"/> +<xs:enumeration value="RENT"/> +<xs:enumeration value="ROYA"/> +<xs:enumeration value="SCVE"/> +<xs:enumeration value="SECU"/> +<xs:enumeration value="SSBE"/> +<xs:enumeration value="SUBS"/> +<xs:enumeration value="TAXS"/> +<xs:enumeration value="VATX"/> +<xs:enumeration value="COMT"/> +<xs:enumeration value="DBTC"/> +<xs:enumeration value="SUPP"/> +<xs:enumeration value="HEDG"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="PaymentSchemeChoice"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="CashClearingSystem2Code"/> +<xs:element name="PrtryInf" type="Max35Text"/> +</xs:choice> +</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="PersonIdentification2"> +<xs:sequence> +<xs:choice> +<xs:element name="DrvrsLicNb" type="Max35Text"/> +<xs:element name="SclSctyNb" type="Max35Text"/> +<xs:element name="AlnRegnNb" type="Max35Text"/> +<xs:element name="PsptNb" type="Max35Text"/> +<xs:element name="TaxIdNb" type="Max35Text"/> +<xs:element name="IdntyCardNb" type="Max35Text"/> +<xs:element name="MplyrIdNb" type="Max35Text"/> +<xs:element name="OthrId" type="GenericIdentification4"/> +</xs:choice> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="PortugueseNCCIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="PT[0-9]{8,8}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="PostalAddress1"> +<xs:sequence> +<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/> +<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Ctry" type="CountryCode"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="Priority2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="HIGH"/> +<xs:enumeration value="NORM"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="PurposeChoice"> +<xs:sequence> +<xs:choice> +<xs:element name="Prtry" type="Max35Text"/> +<xs:element name="Cd" type="PaymentPurpose1Code"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="ReferredDocumentAmount1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/> +<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/> +<xs:element name="RmtdAmt" type="CurrencyAndAmount"/> +<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/> +<xs:element name="TaxAmt" type="CurrencyAndAmount"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="RemittanceInformation3Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Ustrd" type="Max140Text"/> +<xs:element name="Strd" type="StructuredRemittanceInformation2"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="RemittanceLocationMethod1Code"> +<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:restriction> +</xs:simpleType> +<xs:simpleType name="RussianCentralBankIdentificationCodeIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="RU[0-9]{9,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="SettlementPriorityChoice"> +<xs:sequence> +<xs:choice> +<xs:element name="Prty" type="Priority2Code"/> +<xs:element name="PmtSchme" type="PaymentSchemeChoice"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="SimpleIdentificationInformation"> +<xs:sequence> +<xs:element name="Id" type="Max35Text"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="SmallNetworkIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="AU[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="SouthAfricanNCCIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="ZA[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="SpanishDomesticInterbankingIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="ES[0-9]{8,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="StructuredRegulatoryReporting2"> +<xs:sequence> +<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="StructuredRemittanceInformation2"> +<xs:sequence> +<xs:element name="RfrdDocTp" type="DocumentType1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/> +<xs:element name="DocRefNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Invcr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +<xs:element name="Invcee" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="SwissBCIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="SW[0-9]{3,5}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="SwissSICIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="SW[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="TaxDetails"> +<xs:sequence> +<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="TaxInformation1"> +<xs:sequence> +<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="TaxType"> +<xs:sequence> +<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="UKDomesticSortCodeIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="SC[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="UPICIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{8,17}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="pain.001.001.01"> +<xs:sequence> +<xs:element name="GrpHdr" type="GroupInformation1"/> +<xs:element name="PmtInf" type="PaymentInformation6" minOccurs="1" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.02.xsd b/Tests/Resources/Schemas/pain.001.001.02.xsd new file mode 100644 index 0000000..43529da --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.02.xsd @@ -0,0 +1,784 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Sep 08 11:58:39--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"> +<xs:element name="Document" type="Document"/> +<xs:complexType name="AccountIdentification3Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="IBAN" type="IBANIdentifier"/> +<xs:element name="BBAN" type="BBANIdentifier"/> +<xs:element name="UPIC" type="UPICIdentifier"/> +<xs:element name="PrtryAcct" type="SimpleIdentificationInformation2"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<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="AmountType2Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="InstdAmt" type="CurrencyAndAmount"/> +<xs:element name="EqvtAmt" type="EquivalentAmount"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="BBANIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[a-zA-Z0-9]{1,30}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="BEIIdentifier"> +<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:simpleType name="BaseOneRate"> +<xs:restriction base="xs:decimal"> +<xs:fractionDigits value="10"/> +<xs:totalDigits value="11"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="BatchBookingIndicator"> +<xs:restriction base="xs:boolean"/> +</xs:simpleType> +<xs:complexType name="BranchAndFinancialInstitutionIdentification3"> +<xs:sequence> +<xs:element name="FinInstnId" type="FinancialInstitutionIdentification5Choice"/> +<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="BranchData"> +<xs:sequence> +<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="CHIPSUniversalIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="CH[0-9]{6,6}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="CashAccount7"> +<xs:sequence> +<xs:element name="Id" type="AccountIdentification3Choice"/> +<xs:element name="Tp" type="CashAccountType2" minOccurs="0" maxOccurs="1"/> +<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +</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: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:complexType name="Cheque5"> +<xs:sequence> +<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +<xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PrtLctn" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="ChequeDelivery1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="MLDB"/> +<xs:enumeration value="MLCD"/> +<xs:enumeration value="MLFA"/> +<xs:enumeration value="CRDB"/> +<xs:enumeration value="CRCD"/> +<xs:enumeration value="CRFA"/> +<xs:enumeration value="PUDB"/> +<xs:enumeration value="PUCD"/> +<xs:enumeration value="PUFA"/> +<xs:enumeration value="RGDB"/> +<xs:enumeration value="RGCD"/> +<xs:enumeration value="RGFA"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="ChequeDeliveryMethod1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="ChequeDelivery1Code"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="ChequeType2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CCHQ"/> +<xs:enumeration value="CCCH"/> +<xs:enumeration value="BCHQ"/> +<xs:enumeration value="DRFT"/> +<xs:enumeration value="ELDR"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ClearingChannel2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="RTGS"/> +<xs:enumeration value="RTNS"/> +<xs:enumeration value="MPNS"/> +<xs:enumeration value="BOOK"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="ClearingSystemMemberIdentification3Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Id" type="ExternalClearingSystemMemberCode"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +</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:complexType name="CreditTransferTransactionInformation1"> +<xs:sequence> +<xs:element name="PmtId" type="PaymentIdentification1"/> +<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="AmountType2Choice"/> +<xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChqInstr" type="Cheque5" minOccurs="0" maxOccurs="1"/> +<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt1Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt2Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +<xs:element name="IntrmyAgt3Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="Cdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="UltmtCdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/> +<xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Purp" type="Purpose1Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="RgltryRptg" type="RegulatoryReporting2" minOccurs="0" maxOccurs="10"/> +<xs:element name="Tax" type="TaxInformation2" minOccurs="0" maxOccurs="1"/> +<xs:element name="RltdRmtInf" type="RemittanceLocation1" minOccurs="0" maxOccurs="10"/> +<xs:element name="RmtInf" type="RemittanceInformation1" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="CreditorReferenceInformation1"> +<xs:sequence> +<xs:element name="CdtrRefTp" type="CreditorReferenceType1" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="CreditorReferenceType1"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="DocumentType3Code"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="CurrencyAndAmount_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="CurrencyAndAmount"> +<xs:simpleContent> +<xs:extension base="CurrencyAndAmount_SimpleType"> +<xs:attribute name="Ccy" type="CurrencyCode" use="required"/> +</xs:extension> +</xs:simpleContent> +</xs:complexType> +<xs:simpleType name="CurrencyCode"> +<xs:restriction base="xs:string"> +<xs:pattern value="[A-Z]{3,3}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="DateAndPlaceOfBirth"> +<xs:sequence> +<xs:element name="BirthDt" type="ISODate"/> +<xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CityOfBirth" type="Max35Text"/> +<xs:element name="CtryOfBirth" type="CountryCode"/> +</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="pain.001.001.02" type="pain.001.001.02"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="DocumentType2Code"> +<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:restriction> +</xs:simpleType> +<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="DunsIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{9,9}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="EANGLNIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{13,13}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="EquivalentAmount"> +<xs:sequence> +<xs:element name="Amt" type="CurrencyAndAmount"/> +<xs:element name="CcyOfTrf" type="CurrencyCode"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="ExchangeRateInformation1"> +<xs:sequence> +<xs:element name="XchgRate" type="BaseOneRate" minOccurs="0" maxOccurs="1"/> +<xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="CtrctId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="ExchangeRateType1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="SPOT"/> +<xs:enumeration value="SALE"/> +<xs:enumeration value="AGRD"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ExternalClearingSystemMemberCode"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="35"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ExternalLocalInstrumentCode"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="35"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="ExternalPurposeCode"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="35"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="FinancialInstitutionIdentification3"> +<xs:sequence> +<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="FinancialInstitutionIdentification5Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="BIC" type="BICIdentifier"/> +<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice"/> +<xs:element name="NmAndAdr" type="NameAndAddress7"/> +<xs:element name="PrtryId" type="GenericIdentification3"/> +<xs:element name="CmbndId" type="FinancialInstitutionIdentification3"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GenericIdentification3"> +<xs:sequence> +<xs:element name="Id" type="Max35Text"/> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GenericIdentification4"> +<xs:sequence> +<xs:element name="Id" type="Max35Text"/> +<xs:element name="IdTp" type="Max35Text"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="GroupHeader1"> +<xs:sequence> +<xs:element name="MsgId" type="Max35Text"/> +<xs:element name="CreDtTm" type="ISODateTime"/> +<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/> +<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/> +<xs:element name="NbOfTxs" type="Max15NumericText"/> +<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/> +<xs:element name="Grpg" type="Grouping1Code"/> +<xs:element name="InitgPty" type="PartyIdentification8"/> +<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="Grouping1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="SNGL"/> +<xs:enumeration value="GRPD"/> +<xs:enumeration value="MIXD"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="IBANIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="IBEIIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[A-Z]{2,2}[B-DF-HJ-NP-TV-XZ0-9]{7,7}[0-9]{1,1}"/> +</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:simpleType name="Instruction3Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CHQB"/> +<xs:enumeration value="HOLD"/> +<xs:enumeration value="PHOB"/> +<xs:enumeration value="TELB"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="InstructionForCreditorAgent1"> +<xs:sequence> +<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="InstrInf" type="Max140Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="LocalInstrument1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="ExternalLocalInstrumentCode"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="Max128Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="128"/> +</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="Max16Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="16"/> +</xs:restriction> +</xs:simpleType> +<xs:simpleType name="Max256Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="256"/> +</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="Max3Text"> +<xs:restriction base="xs:string"> +<xs:minLength value="1"/> +<xs:maxLength value="3"/> +</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="NameAndAddress3"> +<xs:sequence> +<xs:element name="Nm" type="Max70Text"/> +<xs:element name="Adr" type="PostalAddress1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="NameAndAddress7"> +<xs:sequence> +<xs:element name="Nm" type="Max70Text"/> +<xs:element name="PstlAdr" type="PostalAddress1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="OrganisationIdentification2"> +<xs:sequence> +<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="IBEI" type="IBEIIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/> +<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="Party2Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="OrgId" type="OrganisationIdentification2"/> +<xs:element name="PrvtId" type="PersonIdentification3" minOccurs="1" maxOccurs="4"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PartyIdentification8"> +<xs:sequence> +<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/> +<xs:element name="Id" type="Party2Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="CtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="PaymentCategoryPurpose1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CORT"/> +<xs:enumeration value="SALA"/> +<xs:enumeration value="TREA"/> +<xs:enumeration value="CASH"/> +<xs:enumeration value="DIVI"/> +<xs:enumeration value="GOVT"/> +<xs:enumeration value="INTE"/> +<xs:enumeration value="LOAN"/> +<xs:enumeration value="PENS"/> +<xs:enumeration value="SECU"/> +<xs:enumeration value="SSBE"/> +<xs:enumeration value="SUPP"/> +<xs:enumeration value="TAXS"/> +<xs:enumeration value="TRAD"/> +<xs:enumeration value="VATX"/> +<xs:enumeration value="HEDG"/> +<xs:enumeration value="INTC"/> +<xs:enumeration value="WHLD"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="PaymentIdentification1"> +<xs:sequence> +<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="EndToEndId" type="Max35Text"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PaymentInstructionInformation1"> +<xs:sequence> +<xs:element name="PmtInfId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PmtMtd" type="PaymentMethod3Code"/> +<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/> +<xs:element name="ReqdExctnDt" type="ISODate"/> +<xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="Dbtr" type="PartyIdentification8"/> +<xs:element name="DbtrAcct" type="CashAccount7"/> +<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification3"/> +<xs:element name="DbtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgsAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/> +<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation1" minOccurs="1" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="PaymentMethod3Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CHK"/> +<xs:enumeration value="TRF"/> +<xs:enumeration value="TRA"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="PaymentTypeInformation1"> +<xs:sequence> +<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/> +<xs:choice> +<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="ClrChanl" type="ClearingChannel2Code" minOccurs="0" maxOccurs="1"/> +</xs:choice> +<xs:element name="LclInstrm" type="LocalInstrument1Choice" minOccurs="0" maxOccurs="1"/> +<xs:element name="CtgyPurp" type="PaymentCategoryPurpose1Code" minOccurs="0" maxOccurs="1"/> +</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="PersonIdentification3"> +<xs:sequence> +<xs:choice> +<xs:element name="DrvrsLicNb" type="Max35Text"/> +<xs:element name="CstmrNb" type="Max35Text"/> +<xs:element name="SclSctyNb" type="Max35Text"/> +<xs:element name="AlnRegnNb" type="Max35Text"/> +<xs:element name="PsptNb" type="Max35Text"/> +<xs:element name="TaxIdNb" type="Max35Text"/> +<xs:element name="IdntyCardNb" type="Max35Text"/> +<xs:element name="MplyrIdNb" type="Max35Text"/> +<xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> +<xs:element name="OthrId" type="GenericIdentification4"/> +</xs:choice> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="PostalAddress1"> +<xs:sequence> +<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/> +<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Ctry" type="CountryCode"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="Priority2Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="HIGH"/> +<xs:enumeration value="NORM"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="Purpose1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="ExternalPurposeCode"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="ReferredDocumentAmount1Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/> +<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/> +<xs:element name="RmtdAmt" type="CurrencyAndAmount"/> +<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/> +<xs:element name="TaxAmt" type="CurrencyAndAmount"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="ReferredDocumentInformation1"> +<xs:sequence> +<xs:element name="RfrdDocTp" type="ReferredDocumentType1" minOccurs="0" maxOccurs="1"/> +<xs:element name="RfrdDocNb" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="ReferredDocumentType1"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="DocumentType2Code"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="RegulatoryAuthority"> +<xs:sequence> +<xs:element name="AuthrtyNm" type="Max70Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="AuthrtyCtry" type="CountryCode" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="RegulatoryReporting2"> +<xs:sequence> +<xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="Authrty" type="RegulatoryAuthority" minOccurs="0" maxOccurs="1"/> +<xs:element name="RgltryDtls" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="RegulatoryReportingType1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="CRED"/> +<xs:enumeration value="DEBT"/> +<xs:enumeration value="BOTH"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="RemittanceInformation1"> +<xs:sequence> +<xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/> +<xs:element name="Strd" type="StructuredRemittanceInformation6" minOccurs="0" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="RemittanceLocation1"> +<xs:sequence> +<xs:element name="RmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtLctnElctrncAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="RemittanceLocationMethod1Code"> +<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:restriction> +</xs:simpleType> +<xs:simpleType name="ServiceLevel1Code"> +<xs:restriction base="xs:string"> +<xs:enumeration value="SEPA"/> +<xs:enumeration value="SDVA"/> +<xs:enumeration value="PRPT"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="ServiceLevel2Choice"> +<xs:sequence> +<xs:choice> +<xs:element name="Cd" type="ServiceLevel1Code"/> +<xs:element name="Prtry" type="Max35Text"/> +</xs:choice> +</xs:sequence> +</xs:complexType> +<xs:complexType name="SimpleIdentificationInformation2"> +<xs:sequence> +<xs:element name="Id" type="Max34Text"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="StructuredRegulatoryReporting2"> +<xs:sequence> +<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="StructuredRemittanceInformation6"> +<xs:sequence> +<xs:element name="RfrdDocInf" type="ReferredDocumentInformation1" minOccurs="0" maxOccurs="1"/> +<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/> +<xs:element name="CdtrRefInf" type="CreditorReferenceInformation1" minOccurs="0" maxOccurs="1"/> +<xs:element name="Invcr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="Invcee" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/> +<xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="TaxDetails"> +<xs:sequence> +<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="TaxInformation2"> +<xs:sequence> +<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxDt" type="ISODate" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +<xs:complexType name="TaxType"> +<xs:sequence> +<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/> +<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/> +<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/> +</xs:sequence> +</xs:complexType> +<xs:simpleType name="UPICIdentifier"> +<xs:restriction base="xs:string"> +<xs:pattern value="[0-9]{8,17}"/> +</xs:restriction> +</xs:simpleType> +<xs:complexType name="pain.001.001.02"> +<xs:sequence> +<xs:element name="GrpHdr" type="GroupHeader1"/> +<xs:element name="PmtInf" type="PaymentInstructionInformation1" minOccurs="1" maxOccurs="unbounded"/> +</xs:sequence> +</xs:complexType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.03.xsd b/Tests/Resources/Schemas/pain.001.001.03.xsd new file mode 100644 index 0000000..8649779 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.03.xsd @@ -0,0 +1,921 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!--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:pain.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"> + <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="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="AmountType3Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </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:simpleType name="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification4"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount16"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </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="CategoryPurpose1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </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:complexType name="Cheque6"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <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 maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransactionInformation10"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRateInformation1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque6"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification32"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </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 maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV03"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader32"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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: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="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </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="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRateInformation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <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 maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader32"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification32"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max70Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="70"/> + </xs:restriction> + </xs:simpleType> + <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="OrganisationIdentification4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </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="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 maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstructionInformation3"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification32"/> + <xs:element name="DbtrAcct" type="CashAccount16"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransactionInformation10"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <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="ReferredDocumentInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </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 maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation5"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation7"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.04.xsd b/Tests/Resources/Schemas/pain.001.001.04.xsd new file mode 100644 index 0000000..813c7fe --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.04.xsd @@ -0,0 +1,968 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by SWIFTStandards Workstation (build:R7.1.30.4) on 2012 Jun 07 20:47:19--> +<xs:schema elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <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="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:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AmountType3Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIIdentifier"> + <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="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification5"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount24"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </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:complexType name="Cheque7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <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 maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransaction1"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </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 maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV04"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader48"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction6"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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:simpleType name="DecimalNumber"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="17"/> + <xs:totalDigits value="18"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV04"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </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="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <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="FinancialInstitutionIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader48"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="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="OrganisationIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </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="Party11Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification8"/> + <xs:element name="PrvtId" type="PersonIdentification5"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PartyIdentification43"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction6"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification43"/> + <xs:element name="DbtrAcct" type="CashAccount24"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction1"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <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="ReferredDocumentInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </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 maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation7"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation9"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:sequence> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:schema> \ No newline at end of file diff --git a/Tests/Resources/Schemas/pain.001.001.05.xsd b/Tests/Resources/Schemas/pain.001.001.05.xsd new file mode 100644 index 0000000..18bd0cc --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.05.xsd @@ -0,0 +1,931 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.0.41.3) on 2013 Mar 05 13:39:40, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.05" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.05"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AmountType3Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIIdentifier"> + <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="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification5"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount24"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransaction6"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV05"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader48"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction9"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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:simpleType name="DecimalNumber"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="17"/> + <xs:totalDigits value="18"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV05"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </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="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader48"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="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="OrganisationIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Party11Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification8"/> + <xs:element name="PrvtId" type="PersonIdentification5"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification43"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction9"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification43"/> + <xs:element name="DbtrAcct" type="CashAccount24"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction6"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType5Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation7"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation9"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.06.xsd b/Tests/Resources/Schemas/pain.001.001.06.xsd new file mode 100644 index 0000000..bcbdc97 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.06.xsd @@ -0,0 +1,987 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.5.2_DEV) on 2015 Feb 24 14:08:25, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.06" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.06"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIIdentifier"> + <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="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification5"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount24"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransaction20"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation10"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV06"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader48"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction16"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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:simpleType name="DecimalNumber"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="17"/> + <xs:totalDigits value="18"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV06"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment1"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader48"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="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="OrganisationIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Party11Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification8"/> + <xs:element name="PrvtId" type="PersonIdentification5"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification43"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction16"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification43"/> + <xs:element name="DbtrAcct" type="CashAccount24"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction20"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation6"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation10"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation12"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationDetails1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation12"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation6"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment1"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.07.xsd b/Tests/Resources/Schemas/pain.001.001.07.xsd new file mode 100644 index 0000000..5caa4f2 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.07.xsd @@ -0,0 +1,1030 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.5.6) on 2016 Feb 12 18:05:40, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.07" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.07"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIIdentifier"> + <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="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification5"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount24"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransaction26"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation11"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV07"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader48"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction20"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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:simpleType name="DecimalNumber"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="17"/> + <xs:totalDigits value="18"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV07"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineInformation1"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDocumentLineType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDocumentLineType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment1"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader48"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="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="OrganisationIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Party11Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification8"/> + <xs:element name="PrvtId" type="PersonIdentification5"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification43"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction20"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification43"/> + <xs:element name="DbtrAcct" type="CashAccount24"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction26"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation11"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation13"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationDetails1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation13"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment1"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.08.xsd b/Tests/Resources/Schemas/pain.001.001.08.xsd new file mode 100644 index 0000000..25b1182 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.08.xsd @@ -0,0 +1,1036 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.12) on 2017 Jan 27 11:34:27, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.08" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.08"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </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:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIIdentifier"> + <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="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification5"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount24"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ContactDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/> + </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="CreditTransferTransaction26"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation11"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV08"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader48"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction22"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndDateTimeChoice"> + <xs:choice> + <xs:element name="Dt" type="ISODate"/> + <xs:element name="DtTm" type="ISODateTime"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <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:simpleType name="DecimalNumber"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="17"/> + <xs:totalDigits value="18"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV08"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineInformation1"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDocumentLineType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDocumentLineType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment1"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader48"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="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="OrganisationIdentification8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Party11Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification8"/> + <xs:element name="PrvtId" type="PersonIdentification5"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification43"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction22"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/> + <xs:element name="ReqdExctnDt" type="DateAndDateTimeChoice"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification43"/> + <xs:element name="DbtrAcct" type="CashAccount24"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction26"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation19"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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 maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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 maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation11"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation13"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationDetails1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress10"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation13"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation4"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment1"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.09.xsd b/Tests/Resources/Schemas/pain.001.001.09.xsd new file mode 100644 index 0000000..555d5b6 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.09.xsd @@ -0,0 +1,1114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.15) on 2019 Feb 14 11:57:59, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AddressType3Choice"> + <xs:choice> + <xs:element name="Cd" type="AddressType2Code"/> + <xs:element name="Prtry" type="GenericIdentification30"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="AnyBICDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification6"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount38"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prxy" type="ProxyAccountIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque11"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Contact4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailPurp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="JobTitl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rspnsblty" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="OtherContact1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrefrdMtd" type="PreferredContactMethod1Code"/> + </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="CreditTransferTransaction34"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque11"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation8"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation16"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV09"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader85"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction30"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndDateTime2Choice"> + <xs:choice> + <xs:element name="Dt" type="ISODate"/> + <xs:element name="DtTm" type="ISODateTime"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth1"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <xs:element name="CityOfBirth" type="Max35Text"/> + <xs:element name="CtryOfBirth" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DatePeriod2"> + <xs:sequence> + <xs:element name="FrDt" type="ISODate"/> + <xs:element name="ToDt" type="ISODate"/> + </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="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV09"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineInformation1"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDocumentLineType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Exact4AlphaNumericText"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-zA-Z0-9]{4}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDocumentLineType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </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="ExternalProxyAccountType1Code"> + <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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification18"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment3"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericIdentification30"> + <xs:sequence> + <xs:element name="Id" type="Exact4AlphaNumericText"/> + <xs:element name="Issr" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader85"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="Instruction3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHQB"/> + <xs:enumeration value="HOLD"/> + <xs:enumeration value="PHOB"/> + <xs:enumeration value="TELB"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="LEIIdentifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="NameAndAddress16"> + <xs:sequence> + <xs:element name="Nm" type="Max140Text"/> + <xs:element name="Adr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="NamePrefix2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DOCT"/> + <xs:enumeration value="MADM"/> + <xs:enumeration value="MISS"/> + <xs:enumeration value="MIST"/> + <xs:enumeration value="MIKS"/> + </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="OrganisationIdentification29"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="OtherContact1"> + <xs:sequence> + <xs:element name="ChanlTp" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max128Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Party38Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification29"/> + <xs:element name="PrvtId" type="PersonIdentification13"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification135"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party38Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="Contact4"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification6"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UETR" type="UUIDv4Identifier"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction30"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="ReqdExctnDt" type="DateAndDateTime2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification135"/> + <xs:element name="DbtrAcct" type="CashAccount38"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction34"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation26"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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="PersonIdentification13"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="PostalAddress24"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Flr" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstBx" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Room" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnLctnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DstrctNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PreferredContactMethod1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="LETT"/> + <xs:enumeration value="MAIL"/> + <xs:enumeration value="PHON"/> + <xs:enumeration value="FAXX"/> + <xs:enumeration value="CELL"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ProxyAccountIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ProxyAccountType1Choice"/> + <xs:element name="Id" type="Max2048Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ProxyAccountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalProxyAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation16"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation16"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationData1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress16"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation16"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment3"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriod2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod2"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod2"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:simpleType name="UUIDv4Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.10.xsd b/Tests/Resources/Schemas/pain.001.001.10.xsd new file mode 100644 index 0000000..ccd4696 --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.10.xsd @@ -0,0 +1,1241 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.16) on 2020 Mar 05 10:41:58, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.10" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.10"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AddressType3Choice"> + <xs:choice> + <xs:element name="Cd" type="AddressType2Code"/> + <xs:element name="Prtry" type="GenericIdentification30"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AdviceType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="CdtAdvc" type="AdviceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtAdvc" type="AdviceType1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AdviceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="AdviceType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="AdviceType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ADWD"/> + <xs:enumeration value="ADND"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="AnyBICDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification6"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount38"> + <xs:sequence> + <xs:element name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prxy" type="ProxyAccountIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque11"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Contact4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailPurp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="JobTitl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rspnsblty" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="OtherContact1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrefrdMtd" type="PreferredContactMethod1Code"/> + </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="CreditTransferMandateData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="MndtId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="MandateTypeInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="DtOfSgntr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="DtOfVrfctn" type="ISODateTime"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncSgntr" type="Max10KBinary"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrstPmtDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FnlPmtDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Frqcy" type="Frequency36Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="MandateSetupReason1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditTransferTransaction40"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="MndtRltdInf" type="CreditTransferMandateData1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque11"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent3"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="InstructionForDebtorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation8"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation16"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV10"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader95"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction34"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndDateTime2Choice"> + <xs:choice> + <xs:element name="Dt" type="ISODate"/> + <xs:element name="DtTm" type="ISODateTime"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth1"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <xs:element name="CityOfBirth" type="Max35Text"/> + <xs:element name="CtryOfBirth" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DatePeriod2"> + <xs:sequence> + <xs:element name="FrDt" type="ISODate"/> + <xs:element name="ToDt" type="ISODate"/> + </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="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV10"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineInformation1"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDocumentLineType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Exact2NumericText"> + <xs:restriction base="xs:string"> + <xs:pattern value="[0-9]{2}"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Exact4AlphaNumericText"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-zA-Z0-9]{4}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalCreditorAgentInstruction1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDebtorAgentInstruction1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDocumentLineType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalMandateSetupReason1Code"> + <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="ExternalProxyAccountType1Code"> + <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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification18"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Frequency36Choice"> + <xs:choice> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="Prd" type="FrequencyPeriod1"/> + <xs:element name="PtInTm" type="FrequencyAndMoment1"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Frequency6Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="YEAR"/> + <xs:enumeration value="MNTH"/> + <xs:enumeration value="QURT"/> + <xs:enumeration value="MIAN"/> + <xs:enumeration value="WEEK"/> + <xs:enumeration value="DAIL"/> + <xs:enumeration value="ADHO"/> + <xs:enumeration value="INDA"/> + <xs:enumeration value="FRTN"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FrequencyAndMoment1"> + <xs:sequence> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="PtInTm" type="Exact2NumericText"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="FrequencyPeriod1"> + <xs:sequence> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="CntPerPrd" type="DecimalNumber"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment3"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericIdentification30"> + <xs:sequence> + <xs:element name="Id" type="Exact4AlphaNumericText"/> + <xs:element name="Issr" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader95"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="InitnSrc" type="PaymentInitiationSource1"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="ExternalCreditorAgentInstruction1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="InstructionForDebtorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="ExternalDebtorAgentInstruction1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="LEIIdentifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="MandateClassification1Choice"> + <xs:choice> + <xs:element name="Cd" type="MandateClassification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="MandateClassification1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="FIXE"/> + <xs:enumeration value="USGB"/> + <xs:enumeration value="VARI"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="MandateSetupReason1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalMandateSetupReason1Code"/> + <xs:element name="Prtry" type="Max70Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="MandateTypeInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Clssfctn" type="MandateClassification1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Max10KBinary"> + <xs:restriction base="xs:base64Binary"> + <xs:minLength value="1"/> + <xs:maxLength value="10240"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="NameAndAddress16"> + <xs:sequence> + <xs:element name="Nm" type="Max140Text"/> + <xs:element name="Adr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="NamePrefix2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DOCT"/> + <xs:enumeration value="MADM"/> + <xs:enumeration value="MISS"/> + <xs:enumeration value="MIST"/> + <xs:enumeration value="MIKS"/> + </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="OrganisationIdentification29"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="OtherContact1"> + <xs:sequence> + <xs:element name="ChanlTp" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max128Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Party38Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification29"/> + <xs:element name="PrvtId" type="PersonIdentification13"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification135"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party38Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="Contact4"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification6"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UETR" type="UUIDv4Identifier"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInitiationSource1"> + <xs:sequence> + <xs:element name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prvdr" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Vrsn" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction34"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ReqdAdvcTp" type="AdviceType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="ReqdExctnDt" type="DateAndDateTime2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification135"/> + <xs:element name="DbtrAcct" type="CashAccount38"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount38"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction40"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation26"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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="PersonIdentification13"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="PostalAddress24"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Flr" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstBx" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Room" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnLctnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DstrctNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PreferredContactMethod1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="LETT"/> + <xs:enumeration value="MAIL"/> + <xs:enumeration value="PHON"/> + <xs:enumeration value="FAXX"/> + <xs:enumeration value="CELL"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ProxyAccountIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ProxyAccountType1Choice"/> + <xs:element name="Id" type="Max2048Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ProxyAccountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalProxyAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation16"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation16"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationData1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress16"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation16"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment3"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation8"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriod2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod2"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod2"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:simpleType name="UUIDv4Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Resources/Schemas/pain.001.001.11.xsd b/Tests/Resources/Schemas/pain.001.001.11.xsd new file mode 100644 index 0000000..fbf0c7a --- /dev/null +++ b/Tests/Resources/Schemas/pain.001.001.11.xsd @@ -0,0 +1,1244 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Generated by Standards Editor (build:R1.6.16) on 2021 Feb 16 20:44:59, ISO 20022 version : 2013--> +<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.11" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.11"> + <xs:element name="Document" type="Document"/> + <xs:complexType name="AccountIdentification4Choice"> + <xs:choice> + <xs:element name="IBAN" type="IBAN2007Identifier"/> + <xs:element name="Othr" type="GenericAccountIdentification1"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AccountSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalAccountIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="5"/> + <xs:totalDigits value="18"/> + <xs:minInclusive value="0"/> + </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="AddressType3Choice"> + <xs:choice> + <xs:element name="Cd" type="AddressType2Code"/> + <xs:element name="Prtry" type="GenericIdentification30"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="AdviceType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="CdtAdvc" type="AdviceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtAdvc" type="AdviceType1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AdviceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="AdviceType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="AdviceType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ADWD"/> + <xs:enumeration value="ADND"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="AmountType4Choice"> + <xs:choice> + <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="EqvtAmt" type="EquivalentAmount2"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="AnyBICDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="Authorisation1Choice"> + <xs:choice> + <xs:element name="Cd" type="Authorisation1Code"/> + <xs:element name="Prtry" type="Max128Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Authorisation1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AUTH"/> + <xs:enumeration value="FDET"/> + <xs:enumeration value="FSUM"/> + <xs:enumeration value="ILEV"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BICFIDec2014Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BaseOneRate"> + <xs:restriction base="xs:decimal"> + <xs:fractionDigits value="10"/> + <xs:totalDigits value="11"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="BatchBookingIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:complexType name="BranchAndFinancialInstitutionIdentification6"> + <xs:sequence> + <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18"/> + <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="BranchData3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccount40"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="AccountIdentification4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prxy" type="ProxyAccountIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CashAccountType2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCashAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CategoryPurpose1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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:complexType name="Cheque11"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress16"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/> + <xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ChequeDelivery1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="MLDB"/> + <xs:enumeration value="MLCD"/> + <xs:enumeration value="MLFA"/> + <xs:enumeration value="CRDB"/> + <xs:enumeration value="CRCD"/> + <xs:enumeration value="CRFA"/> + <xs:enumeration value="PUDB"/> + <xs:enumeration value="PUCD"/> + <xs:enumeration value="PUFA"/> + <xs:enumeration value="RGDB"/> + <xs:enumeration value="RGCD"/> + <xs:enumeration value="RGFA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ChequeDeliveryMethod1Choice"> + <xs:choice> + <xs:element name="Cd" type="ChequeDelivery1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="ChequeType2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CCHQ"/> + <xs:enumeration value="CCCH"/> + <xs:enumeration value="BCHQ"/> + <xs:enumeration value="DRFT"/> + <xs:enumeration value="ELDR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ClearingSystemIdentification2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ClearingSystemMemberIdentification2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/> + <xs:element name="MmbId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Contact4"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="EmailPurp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="JobTitl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rspnsblty" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="OtherContact1"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrefrdMtd" type="PreferredContactMethod1Code"/> + </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="CreditTransferMandateData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="MndtId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="MandateTypeInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="DtOfSgntr" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="DtOfVrfctn" type="ISODateTime"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncSgntr" type="Max10KBinary"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrstPmtDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="FnlPmtDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Frqcy" type="Frequency36Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="MandateSetupReason1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditTransferTransaction54"> + <xs:sequence> + <xs:element name="PmtId" type="PaymentIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="Amt" type="AmountType4Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="MndtRltdInf" type="CreditTransferMandateData1"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque11"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification135"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent3"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="InstructionForDebtorAgent1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/> + <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation10"/> + <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation21"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CreditorReferenceType1Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType3Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="CreditorReferenceType2"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CustomerCreditTransferInitiationV11"> + <xs:sequence> + <xs:element name="GrpHdr" type="GroupHeader95"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction40"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DateAndDateTime2Choice"> + <xs:choice> + <xs:element name="Dt" type="ISODate"/> + <xs:element name="DtTm" type="ISODateTime"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="DateAndPlaceOfBirth1"> + <xs:sequence> + <xs:element name="BirthDt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/> + <xs:element name="CityOfBirth" type="Max35Text"/> + <xs:element name="CtryOfBirth" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DatePeriod2"> + <xs:sequence> + <xs:element name="FrDt" type="ISODate"/> + <xs:element name="ToDt" type="ISODate"/> + </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="DiscountAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DiscountAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Document"> + <xs:sequence> + <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV11"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentAdjustment1"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineInformation1"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DocumentLineType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalDocumentLineType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="DocumentType6Code"> + <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:enumeration value="PUOR"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="EquivalentAmount2"> + <xs:sequence> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Exact2NumericText"> + <xs:restriction base="xs:string"> + <xs:pattern value="[0-9]{2}"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Exact4AlphaNumericText"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-zA-Z0-9]{4}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ExchangeRate1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="ExchangeRateType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SPOT"/> + <xs:enumeration value="SALE"/> + <xs:enumeration value="AGRD"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalAccountIdentification1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCashAccountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalCategoryPurpose1Code"> + <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="ExternalCreditorAgentInstruction1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDebtorAgentInstruction1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDiscountAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalDocumentLineType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="ExternalGarnishmentType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalLocalInstrument1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalMandateSetupReason1Code"> + <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="ExternalProxyAccountType1Code"> + <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="ExternalServiceLevel1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ExternalTaxAmountType1Code"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FinancialIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="FinancialInstitutionIdentification18"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Frequency36Choice"> + <xs:choice> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="Prd" type="FrequencyPeriod1"/> + <xs:element name="PtInTm" type="FrequencyAndMoment1"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="Frequency6Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="YEAR"/> + <xs:enumeration value="MNTH"/> + <xs:enumeration value="QURT"/> + <xs:enumeration value="MIAN"/> + <xs:enumeration value="WEEK"/> + <xs:enumeration value="DAIL"/> + <xs:enumeration value="ADHO"/> + <xs:enumeration value="INDA"/> + <xs:enumeration value="FRTN"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FrequencyAndMoment1"> + <xs:sequence> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="PtInTm" type="Exact2NumericText"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="FrequencyPeriod1"> + <xs:sequence> + <xs:element name="Tp" type="Frequency6Code"/> + <xs:element name="CntPerPrd" type="DecimalNumber"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Garnishment3"> + <xs:sequence> + <xs:element name="Tp" type="GarnishmentType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GarnishmentType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalGarnishmentType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="GenericAccountIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max34Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericFinancialIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericIdentification30"> + <xs:sequence> + <xs:element name="Id" type="Exact4AlphaNumericText"/> + <xs:element name="Issr" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericOrganisationIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GenericPersonIdentification1"> + <xs:sequence> + <xs:element name="Id" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="GroupHeader95"> + <xs:sequence> + <xs:element name="MsgId" type="Max35Text"/> + <xs:element name="CreDtTm" type="ISODateTime"/> + <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/> + <xs:element name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element name="InitgPty" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="InitnSrc" type="PaymentInitiationSource1"/> + </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="ISODate"> + <xs:restriction base="xs:date"/> + </xs:simpleType> + <xs:simpleType name="ISODateTime"> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + <xs:simpleType name="ISOYear"> + <xs:restriction base="xs:gYear"/> + </xs:simpleType> + <xs:complexType name="InstructionForCreditorAgent3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="ExternalCreditorAgentInstruction1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="InstructionForDebtorAgent1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="ExternalDebtorAgentInstruction1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="LEIIdentifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="LocalInstrument2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalLocalInstrument1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="MandateClassification1Choice"> + <xs:choice> + <xs:element name="Cd" type="MandateClassification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="MandateClassification1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="FIXE"/> + <xs:enumeration value="USGB"/> + <xs:enumeration value="VARI"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="MandateSetupReason1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalMandateSetupReason1Code"/> + <xs:element name="Prtry" type="Max70Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="MandateTypeInformation2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Clssfctn" type="MandateClassification1Choice"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="Max10KBinary"> + <xs:restriction base="xs:base64Binary"> + <xs:minLength value="1"/> + <xs:maxLength value="10240"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max10Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max128Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="128"/> + </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="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="Max350Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="350"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max35Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="35"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Max4Text"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="4"/> + </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="NameAndAddress16"> + <xs:sequence> + <xs:element name="Nm" type="Max140Text"/> + <xs:element name="Adr" type="PostalAddress24"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="NamePrefix2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DOCT"/> + <xs:enumeration value="MADM"/> + <xs:enumeration value="MISS"/> + <xs:enumeration value="MIST"/> + <xs:enumeration value="MIKS"/> + </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="OrganisationIdentification29"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICDec2014Identifier"/> + <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="OrganisationIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="OtherContact1"> + <xs:sequence> + <xs:element name="ChanlTp" type="Max4Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max128Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Party38Choice"> + <xs:choice> + <xs:element name="OrgId" type="OrganisationIdentification29"/> + <xs:element name="PrvtId" type="PersonIdentification13"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="PartyIdentification135"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/> + <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party38Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="Contact4"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentIdentification6"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/> + <xs:element name="EndToEndId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UETR" type="UUIDv4Identifier"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInitiationSource1"> + <xs:sequence> + <xs:element name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prvdr" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Vrsn" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PaymentInstruction40"> + <xs:sequence> + <xs:element name="PmtInfId" type="Max35Text"/> + <xs:element name="PmtMtd" type="PaymentMethod3Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ReqdAdvcTp" type="AdviceType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/> + <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/> + <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation26"/> + <xs:element name="ReqdExctnDt" type="DateAndDateTime2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/> + <xs:element name="Dbtr" type="PartyIdentification135"/> + <xs:element name="DbtrAcct" type="CashAccount40"/> + <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount40"/> + <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification6"/> + <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction54"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PaymentMethod3Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CHK"/> + <xs:enumeration value="TRF"/> + <xs:enumeration value="TRA"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="PaymentTypeInformation26"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/> + </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="PersonIdentification13"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PersonIdentificationSchemeName1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPersonIdentification1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </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="PostalAddress24"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="BldgNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Flr" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstBx" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Room" type="Max70Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TwnLctnNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DstrctNm" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PreferredContactMethod1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="LETT"/> + <xs:enumeration value="MAIL"/> + <xs:enumeration value="PHON"/> + <xs:enumeration value="FAXX"/> + <xs:enumeration value="CELL"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="Priority2Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HIGH"/> + <xs:enumeration value="NORM"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ProxyAccountIdentification1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ProxyAccountType1Choice"/> + <xs:element name="Id" type="Max2048Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ProxyAccountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalProxyAccountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="Purpose2Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalPurpose1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentInformation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ReferredDocumentType3Choice"> + <xs:choice> + <xs:element name="Cd" type="DocumentType6Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="ReferredDocumentType4"> + <xs:sequence> + <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/> + <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryAuthority2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RegulatoryReportingType1Code"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CRED"/> + <xs:enumeration value="DEBT"/> + <xs:enumeration value="BOTH"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="RemittanceAmount2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/> + <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceInformation21"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation17"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocation7"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationData1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RemittanceLocationData1"> + <xs:sequence> + <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress16"/> + </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="ServiceLevel8Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalServiceLevel1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="StructuredRegulatoryReporting3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/> + <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="StructuredRemittanceInformation17"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/> + <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/> + <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification135"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxData1"/> + <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment3"/> + <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/> + <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="SupplementaryDataEnvelope1"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmount3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountAndType1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/> + <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxAmountType1Choice"> + <xs:choice> + <xs:element name="Cd" type="ExternalTaxAmountType1Code"/> + <xs:element name="Prtry" type="Max35Text"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="TaxAuthorisation1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxData1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxInformation10"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/> + <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/> + <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/> + <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord3"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty1"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxParty2"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxPeriod3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISOYear"/> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriod2"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecord3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod3"/> + <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount3"/> + <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TaxRecordDetails3"> + <xs:sequence> + <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod3"/> + <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:simpleType name="TrueFalseIndicator"> + <xs:restriction base="xs:boolean"/> + </xs:simpleType> + <xs:simpleType name="UUIDv4Identifier"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 1c5c576..5567fb8 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -11,6 +11,7 @@ <ItemGroup> <EmbeddedResource Include="Resources\Sql\*.sql" /> + <EmbeddedResource Include="Resources\Schemas\*.xsd" /> </ItemGroup> <Target Name="FetchResources" BeforeTargets="BeforeBuild">