salesking/sepa_king

View on GitHub
lib/schema/pain.001.001.03.ch.02.xsd

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
(C) Copyright 2010, SKSF, www.sksf.ch
CH Version fuer pain.001 Credit Transfer: xmlns="http://www.iso-payments.ch"
.ch.:                Identification for this CH version
Last part (.02):   Version of this scheme

Based on ISO pain.001.001.03 (urn:iso:std:iso:20022:tech:xsd:pain.001.001.03)

Anregungen und Fragen zu diesem Dokument können an das jeweilige Finanzinstitut gerichtet werden.
Allgemeine Anregungen können auch bei der SIX Interbank Clearing AG unter folgender Adresse angebracht werden:
pm@six-group.com

History
15.02.2010  V01  initial version, targetNamespace="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.01.xsd"  File:pain.001.001.03.ch.01.xsd
30.04.2010  V02  added: element Initiating Party/Contact Details contains Software name and Version of producing application
                         changed: name in "PartyIdentification32-CH_Name" mandatory
-->
<!-- V01: changed:
-->
<xs:schema xmlns="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd" elementFormDefault="qualified">
    <xs:element name="Document" type="Document"/>
    <!-- V01: changed: CH version changes applied -->
    <xs:complexType name="AccountIdentification4Choice-CH">
        <xs:sequence>
            <xs:choice>
                <xs:element name="IBAN" type="IBAN2007Identifier"/>
                <xs:element name="Othr" type="GenericAccountIdentification1-CH"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: unused
    <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>
    <!-- V01: unused: type Authorisation1Choice is not allowed or used in CH Version
    <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>
    -->
    <!-- V01: added: CH version supports only this character set. All text fields use this type -->
    <xs:simpleType name="BasicText-CH">
        <xs:restriction base="xs:string">
            <xs:pattern value="([a-zA-Z0-9\.,;:'\+\-/\(\)?\*\[\]\{\}\\`´~ ]|[!&quot;#%&amp;&lt;&gt;÷=@_$£]|[àáâäçèéêëìíîïñòóôöùúûüýßÀÁÂÄÇÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜÑ])*"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- V01: added: This is the SWIFT character set -->
    <xs:simpleType name="BasicText-Swift">
        <xs:restriction base="xs:string">
            <xs:pattern value="([A-Za-z0-9]|[+|\?|/|\-|:|\(|\)|\.|,|'|\p{Zs}])*"/>
        </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 name="BrnchId" type="BranchData2" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- VO1: added: definition of FI where only BIC or Clearing Id is allowed, but no branch data -->
    <xs:complexType name="BranchAndFinancialInstitutionIdentification4-CH_BicOrClrId">
        <xs:sequence>
            <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7-CH_BicOrClrId"/>
            <!-- V01: unused
            <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- VO1: added: definition of FI where all elements are allowed, but no branch data -->
    <xs:complexType name="BranchAndFinancialInstitutionIdentification4-CH">
        <xs:sequence>
            <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7-CH"/>
            <!-- V01: unused
            <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BranchData2">
        <xs:sequence>
            <xs:element name="Id" type="Max35Text" minOccurs="0"/>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: changed: CH version changes applied  -->
    <xs:complexType name="CashAccount16-CH_IdAndCurrency">
        <xs:sequence>
            <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
            <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
            <!-- V01: unused
            <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added -->
    <xs:complexType name="CashAccount16-CH_IdTpCcy">
        <xs:sequence>
            <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
            <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
            <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
            <!-- V01: unused
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added -->
    <xs:complexType name="CashAccount16-CH_Id">
        <xs:sequence>
            <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
            <!-- V01: unused
            <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
            <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="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>
    <!-- V01: changed: Only element Code allowed in Ch version -->
    <xs:complexType name="CategoryPurpose1-CH_Code">
        <xs:sequence>
            <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
            <!-- V01: unused
                <xs:element name="Prtry" type="Max35Text"/>
                -->
        </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>
    <!-- V01: unused
    <xs:complexType name="Cheque6">
        <xs:sequence>
            <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
            <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
            <xs:element name="ChqFr" type="NameAndAddress10" minOccurs="0"/>
            <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
            <xs:element name="DlvrTo" type="NameAndAddress10" minOccurs="0"/>
            <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
            <xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0"/>
            <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
            <xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="2"/>
            <xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0"/>
            <xs:element name="PrtLctn" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    -->
    <!-- V01: added -->
    <xs:complexType name="Cheque6-CH">
        <xs:sequence>
            <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
            <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
            <!-- V01: unused
            <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
            <xs:element name="ChqFr" type="NameAndAddress10" minOccurs="0"/>
            <xs:element name="DlvrTo" type="NameAndAddress10" minOccurs="0"/>
            <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
            <xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0"/>
            <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
            <xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="2"/>
            <xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0"/>
            <xs:element name="PrtLctn" type="Max35Text" minOccurs="0"/>
            -->
        </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 name="ClrSysId" type="ClearingSystemIdentification2Choice" minOccurs="0"/>
            <xs:element name="MmbId" type="Max35Text"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContactDetails2">
        <xs:sequence>
            <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
            <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V02: changed: include Contact Details for Software name and version -->
    <xs:complexType name="ContactDetails2-CH">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
            <!-- V02: unused
            <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
            <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
            <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
            -->
        </xs: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-CH">
        <xs:sequence>
            <xs:element name="PmtId" type="PaymentIdentification1"/>
            <xs:element name="PmtTpInf" type="PaymentTypeInformation19-CH" minOccurs="0"/>
            <xs:element name="Amt" type="AmountType3Choice"/>
            <xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0"/>
            <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
            <xs:element name="ChqInstr" type="Cheque6-CH" minOccurs="0"/>
            <xs:element name="UltmtDbtr" type="PartyIdentification32-CH" minOccurs="0"/>
            <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4-CH" minOccurs="0"/>
            <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4-CH" minOccurs="0"/>
            <!-- V02: changed:  element Name mandatory -->
            <xs:element name="Cdtr" type="PartyIdentification32-CH_Name" minOccurs="0"/>
            <xs:element name="CdtrAcct" type="CashAccount16-CH_Id" minOccurs="0"/>
            <!-- V02: changed:  element Name mandatory -->
            <xs:element name="UltmtCdtr" type="PartyIdentification32-CH_Name" minOccurs="0"/>
            <xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
            <xs:element name="Purp" type="Purpose2-CH_Code" minOccurs="0"/>
            <xs:element name="RgltryRptg" type="RegulatoryReporting3" minOccurs="0" maxOccurs="10"/>
            <xs:element name="RmtInf" type="RemittanceInformation5-CH" minOccurs="0"/>
            <!-- V01: usused
            <xs:element name="IntrmyAgt1Acct" type="CashAccount16" minOccurs="0"/>
            <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
            <xs:element name="IntrmyAgt2Acct" type="CashAccount16" minOccurs="0"/>
            <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
            <xs:element name="IntrmyAgt3Acct" type="CashAccount16" minOccurs="0"/>
            <xs:element name="CdtrAgtAcct" type="CashAccount16-CH_Id" minOccurs="0"/>
            <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
            <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CreditorReferenceInformation2">
        <xs:sequence>
            <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
            <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CreditorReferenceType1Choice">
        <xs:sequence>
            <xs:choice>
                <xs:element name="Cd" type="DocumentType3Code"/>
                <xs:element name="Prtry" type="Max35Text"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CreditorReferenceType2">
        <xs:sequence>
            <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CustomerCreditTransferInitiationV03-CH">
        <xs:sequence>
            <xs:element name="GrpHdr" type="GroupHeader32-CH"/>
            <xs:element name="PmtInf" type="PaymentInstructionInformation3-CH" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DateAndPlaceOfBirth">
        <xs:sequence>
            <xs:element name="BirthDt" type="ISODate"/>
            <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
            <xs:element name="CityOfBirth" type="Max35Text"/>
            <xs:element name="CtryOfBirth" type="CountryCode"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: unused
    <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-CH"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DocumentAdjustment1">
        <xs:sequence>
            <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
            <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
            <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
            <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="DocumentType3Code">
        <xs:restriction base="xs:string">
            <xs:enumeration value="RADM"/>
            <xs:enumeration value="RPIN"/>
            <xs:enumeration value="FXDR"/>
            <xs:enumeration value="DISP"/>
            <xs:enumeration value="PUOR"/>
            <xs:enumeration value="SCOR"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DocumentType5Code">
        <xs:restriction base="xs:string">
            <xs:enumeration value="MSIN"/>
            <xs:enumeration value="CNFA"/>
            <xs:enumeration value="DNFA"/>
            <xs:enumeration value="CINV"/>
            <xs:enumeration value="CREN"/>
            <xs:enumeration value="DEBN"/>
            <xs:enumeration value="HIRI"/>
            <xs:enumeration value="SBIN"/>
            <xs:enumeration value="CMCN"/>
            <xs:enumeration value="SOAC"/>
            <xs:enumeration value="DISP"/>
            <xs:enumeration value="BOLD"/>
            <xs:enumeration value="VCHR"/>
            <xs:enumeration value="AROI"/>
            <xs:enumeration value="TSUT"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="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 name="XchgRate" type="BaseOneRate" minOccurs="0"/>
            <xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0"/>
            <xs:element name="CtrctId" type="Max35Text" minOccurs="0"/>
        </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>
    <!-- V01:  unused:
    <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 name="BIC" type="BICIdentifier" minOccurs="0"/>
            <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
            <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added: definition of FI where only BIC or Clearing Id is allowed -->
    <xs:complexType name="FinancialInstitutionIdentification7-CH_BicOrClrId">
        <xs:sequence>
            <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
            <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
            <!-- V01: unused
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
            <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added: definition of FI where all elements are allowed (in a CH version) -->
    <xs:complexType name="FinancialInstitutionIdentification7-CH">
        <xs:sequence>
            <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
            <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
            <xs:element name="Othr" type="GenericFinancialIdentification1-CH" minOccurs="0"/>
            <!-- V01: unused
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- V01: changed: only element ID allowed in CH version -->
    <xs:complexType name="GenericAccountIdentification1-CH">
        <xs:sequence>
            <xs:element name="Id" type="Max34Text"/>
            <!-- V01: unused
            <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericFinancialIdentification1">
        <xs:sequence>
            <xs:element name="Id" type="Max35Text"/>
            <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added: only element Id allowed in CH version -->
    <xs:complexType name="GenericFinancialIdentification1-CH">
        <xs:sequence>
            <xs:element name="Id" type="Max35Text"/>
            <!-- V01: unused
            <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericOrganisationIdentification1">
        <xs:sequence>
            <xs:element name="Id" type="Max35Text"/>
            <xs:element name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericPersonIdentification1">
        <xs:sequence>
            <xs:element name="Id" type="Max35Text"/>
            <xs:element name="SchmeNm" type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GroupHeader32-CH">
        <xs:sequence>
            <xs:element name="MsgId" type="Max35Text-Swift"/>
            <xs:element name="CreDtTm" type="ISODateTime"/>
            <xs:element name="NbOfTxs" type="Max15NumericText"/>
            <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
            <!-- V02: changed: include Contact Details for Software name and version -->
            <xs:element name="InitgPty" type="PartyIdentification32-CH_NameAndId"/>
            <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
            <!-- V01: unused: type Authorisation1Choice is not allowed or used in CH Version
            <xs:element name="Authstn" type="Authorisation1Choice" minOccurs="0" maxOccurs="2"/>
            -->
            <!-- V01: changed: Initiating party only to contain name and id in CH version
            <xs:element name="InitgPty" type="PartyIdentification32"/>
            -->
        </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 name="Cd" type="Instruction3Code" minOccurs="0"/>
            <xs:element name="InstrInf" type="Max140Text" minOccurs="0"/>
        </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="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- V01: unused
    <xs:simpleType name="Max128Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="128"/>
        </xs:restriction>
    </xs:simpleType>
    -->
    <xs:simpleType name="Max140Text">
        <xs:restriction base="BasicText-CH">
            <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="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="16"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max2048Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="2048"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max34Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="34"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max35Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="35"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- V01: added: replacement type for Max35Text where only the Swift character set is allowed -->
    <xs:simpleType name="Max35Text-Swift">
        <xs:restriction base="BasicText-Swift">
            <xs:minLength value="1"/>
            <xs:maxLength value="35"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max4Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="4"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Max70Text">
        <xs:restriction base="BasicText-CH">
            <xs:minLength value="1"/>
            <xs:maxLength value="70"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- V01: unused
    <xs:complexType name="NameAndAddress10">
        <xs:sequence>
            <xs:element name="Nm" type="Max140Text"/>
            <xs:element name="Adr" type="PostalAddress6"/>
        </xs:sequence>
    </xs:complexType>
    -->
    <!-- V01: added: CH-Version: unused (prepared for later usage)
    <xs:complexType name="NameAndAddress10-CH">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text"/>
            <xs:element name="Adr" type="PostalAddress6-CH"/>
        </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>
    <!-- V01: unused
    <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 name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
            <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added:  only one occurance of element other allowed in CH version -->
    <xs:complexType name="OrganisationIdentification4-CH">
        <xs:sequence>
            <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
            <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0"/>
        </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>
    <!-- V01: added:  -->
    <xs:complexType name="Party6Choice-CH">
        <xs:sequence>
            <xs:choice>
                <xs:element name="OrgId" type="OrganisationIdentification4-CH"/>
                <xs:element name="PrvtId" type="PersonIdentification5-CH"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PartyIdentification32">
        <xs:sequence>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
            <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
            <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added: replacement type for PartyIdentification8 where only elements Name and Id may be used -->
    <xs:complexType name="PartyIdentification32-CH_NameAndId">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
            <!-- V02: added: Contact Details for Software name and version -->
            <xs:element name="CtctDtls" type="ContactDetails2-CH" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added -->
    <xs:complexType name="PartyIdentification32-CH">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
            <!-- changed -->
            <!-- unused
            <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!-- V02: changed: element Name mandatory -->
    <xs:complexType name="PartyIdentification32-CH_Name">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text"/>
            <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
            <!-- changed -->
            <!-- unused
            <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
            -->
        </xs:sequence>
    </xs:complexType>
    <!--
    <xs:complexType name="PartyIdentification32-CH_Debtor">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>

            <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
            <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>

        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PartyIdentification32-CH_Creditor">
        <xs:sequence>
            <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
            <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
            <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>

            <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
            <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>

        </xs:sequence>
    </xs:complexType>
    -->
    <xs:complexType name="PaymentIdentification1">
        <xs:sequence>
            <xs:element name="InstrId" type="Max35Text-Swift" minOccurs="0"/>
            <xs:element name="EndToEndId" type="Max35Text-Swift"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: changed: CH-version changes applied -->
    <xs:complexType name="PaymentInstructionInformation3-CH">
        <xs:sequence>
            <xs:element name="PmtInfId" type="Max35Text-Swift"/>
            <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
            <xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0"/>
            <xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0"/>
            <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
            <xs:element name="PmtTpInf" type="PaymentTypeInformation19-CH" minOccurs="0"/>
            <xs:element name="ReqdExctnDt" type="ISODate"/>
            <xs:element name="Dbtr" type="PartyIdentification32-CH"/>
            <xs:element name="DbtrAcct" type="CashAccount16-CH_IdTpCcy"/>
            <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4-CH_BicOrClrId"/>
            <xs:element name="UltmtDbtr" type="PartyIdentification32-CH" minOccurs="0"/>
            <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
            <xs:element name="ChrgsAcct" type="CashAccount16-CH_IdAndCurrency" minOccurs="0"/>
            <xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation10-CH" maxOccurs="unbounded"/>
            <!-- V01: unused
            <xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0"/>
            <xs:element name="DbtrAgtAcct" type="CashAccount16" minOccurs="0"/>
            <xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
            -->
        </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>
    <!-- V01: changed: CH version changes applied -->
    <xs:complexType name="PaymentTypeInformation19-CH">
        <xs:sequence>
            <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
            <xs:element name="SvcLvl" type="ServiceLevel8Choice" minOccurs="0"/>
            <xs:element name="LclInstrm" type="LocalInstrument2Choice" minOccurs="0"/>
            <xs:element name="CtgyPurp" type="CategoryPurpose1-CH_Code" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: unused
    <xs:simpleType name="PercentageRate">
        <xs:restriction base="xs:decimal">
            <xs:fractionDigits value="10"/>
            <xs:totalDigits value="11"/>
        </xs:restriction>
    </xs:simpleType>
    -->
    <xs:complexType name="PersonIdentification5">
        <xs:sequence>
            <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
            <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: changed: only one occurance of element Othr allowed in CH version -->
    <xs:complexType name="PersonIdentification5-CH">
        <xs:sequence>
            <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
            <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PersonIdentificationSchemeName1Choice">
        <xs:sequence>
            <xs:choice>
                <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
                <xs:element name="Prtry" type="Max35Text"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="PhoneNumber">
        <xs:restriction base="xs:string">
            <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="PostalAddress6">
        <xs:sequence>
            <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
            <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
            <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
            <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
            <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
            <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
            <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
            <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
            <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
            <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: added: only 2 lines of address lines allowed in CH version -->
    <xs:complexType name="PostalAddress6-CH">
        <xs:sequence>
            <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
            <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
            <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
            <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
            <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
            <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
            <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
            <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
            <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
            <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="2"/>
            <!-- V01: changed: max. 2 occurence -->
        </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>
    <!-- V01: changed: CH-version changes applied -->
    <xs:complexType name="Purpose2-CH_Code">
        <xs:sequence>
            <xs:element name="Cd" type="ExternalPurpose1Code"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReferredDocumentInformation3">
        <xs:sequence>
            <xs:element name="Tp" type="ReferredDocumentType2" minOccurs="0"/>
            <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
            <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReferredDocumentType1Choice">
        <xs:sequence>
            <xs:choice>
                <xs:element name="Cd" type="DocumentType5Code"/>
                <xs:element name="Prtry" type="Max35Text"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReferredDocumentType2">
        <xs:sequence>
            <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
            <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegulatoryAuthority2">
        <xs:sequence>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
            <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegulatoryReporting3">
        <xs:sequence>
            <xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0"/>
            <xs:element name="Authrty" type="RegulatoryAuthority2" minOccurs="0"/>
            <xs:element name="Dtls" type="StructuredRegulatoryReporting3" minOccurs="0" maxOccurs="unbounded"/>
        </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 name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="AdjstmntAmtAndRsn" type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RemittanceInformation5-CH">
        <xs:sequence>
            <xs:element name="Ustrd" type="Max140Text" minOccurs="0"/>
            <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: unused
    <xs:complexType name="RemittanceLocation2">
        <xs:sequence>
            <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
            <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
            <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
            <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="RemittanceLocationMethod2Code">
        <xs:restriction base="xs:string">
            <xs:enumeration value="FAXI"/>
            <xs:enumeration value="EDIC"/>
            <xs:enumeration value="URID"/>
            <xs:enumeration value="EMAL"/>
            <xs:enumeration value="POST"/>
            <xs:enumeration value="SMSM"/>
        </xs:restriction>
    </xs:simpleType>
    -->
    <xs:complexType name="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 name="Tp" type="Max35Text" minOccurs="0"/>
            <xs:element name="Dt" type="ISODate" minOccurs="0"/>
            <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
            <xs:element name="Cd" type="Max10Text" minOccurs="0"/>
            <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuredRemittanceInformation7">
        <xs:sequence>
            <xs:element name="RfrdDocInf" type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="RfrdDocAmt" type="RemittanceAmount1" minOccurs="0"/>
            <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
            <xs:element name="Invcr" type="PartyIdentification32" minOccurs="0"/>
            <xs:element name="Invcee" type="PartyIdentification32" minOccurs="0"/>
            <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
        </xs:sequence>
    </xs:complexType>
    <!-- V01: unused
    <xs:complexType name="TaxAmount1">
        <xs:sequence>
            <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
            <xs:element name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="Dtls" type="TaxRecordDetails1" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxAuthorisation1">
        <xs:sequence>
            <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
            <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxInformation3">
        <xs:sequence>
            <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
            <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
            <xs:element name="AdmstnZn" type="Max35Text" minOccurs="0"/>
            <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
            <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
            <xs:element name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
            <xs:element name="Dt" type="ISODate" minOccurs="0"/>
            <xs:element name="SeqNb" type="Number" minOccurs="0"/>
            <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxParty1">
        <xs:sequence>
            <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
            <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
            <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxParty2">
        <xs:sequence>
            <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
            <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
            <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
            <xs:element name="Authstn" type="TaxAuthorisation1" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxPeriod1">
        <xs:sequence>
            <xs:element name="Yr" type="ISODate" minOccurs="0"/>
            <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
            <xs:element name="FrToDt" type="DatePeriodDetails" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxRecord1">
        <xs:sequence>
            <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
            <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
            <xs:element name="CtgyDtls" type="Max35Text" minOccurs="0"/>
            <xs:element name="DbtrSts" type="Max35Text" minOccurs="0"/>
            <xs:element name="CertId" type="Max35Text" minOccurs="0"/>
            <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
            <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
            <xs:element name="TaxAmt" type="TaxAmount1" minOccurs="0"/>
            <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TaxRecordDetails1">
        <xs:sequence>
            <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
            <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="TaxRecordPeriod1Code">
        <xs:restriction base="xs:string">
            <xs:enumeration value="MM01"/>
            <xs:enumeration value="MM02"/>
            <xs:enumeration value="MM03"/>
            <xs:enumeration value="MM04"/>
            <xs:enumeration value="MM05"/>
            <xs:enumeration value="MM06"/>
            <xs:enumeration value="MM07"/>
            <xs:enumeration value="MM08"/>
            <xs:enumeration value="MM09"/>
            <xs:enumeration value="MM10"/>
            <xs:enumeration value="MM11"/>
            <xs:enumeration value="MM12"/>
            <xs:enumeration value="QTR1"/>
            <xs:enumeration value="QTR2"/>
            <xs:enumeration value="QTR3"/>
            <xs:enumeration value="QTR4"/>
            <xs:enumeration value="HLF1"/>
            <xs:enumeration value="HLF2"/>
        </xs:restriction>
    </xs:simpleType>
    -->
</xs:schema>