<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="myxsd.xsl"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="APC:STUZZA:payments:ISO:pain:001:001:02:austrian:001" targetNamespace="APC:STUZZA:payments:ISO:pain:001:001:02:austrian:001" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- change: xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" -->
	<!---->
	<!-- This is a modified copy of ISO's pain.001.001.02 -->
	<!-- All original values are kept as comment to enable tracking of changes -->
	<!---->
	<!-- Edited by Hendrik Muus, STUZZA, AT -->
	<!-- Redifinition of pain.001.001.02 for Validation according SEPA and AOS -->
	<!-- ***** Change log at end of document -->
	<!-- All underlying schemata can be downloaded from www.stuzza.at/schemata -->
	<!---->
	<!-- The Root with applied SEPA and AOS requirements-->
	<xs:element name="Document" type="Validation_Document">
		<xs:annotation>
			<xs:documentation xml:lang="en">The root element</xs:documentation>
			<xs:documentation xml:lang="de">Das Wurzel Element</xs:documentation>
		</xs:annotation>
		<!-- change: type="Document" -->
	</xs:element>
	<!-- Principle restriction to IBAN only -->
	<xs:complexType name="AccountIdentification3Choice">
		<xs:choice>
			<xs:element name="IBAN" type="IBANIdentifier"/>
			<!-- delete: <xs:element name="BBAN" type="BBANIdentifier"/>
			<xs:element name="UPIC" type="UPICIdentifier"/>
			<xs:element name="PrtryAcct" type="SimpleIdentificationInformation2"/> -->
		</xs:choice>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: Debtors account is always Austrian IBAN -->
	<xs:complexType name="Validation_DbtrAcctChoice">
		<xs:complexContent>
			<xs:restriction base="AccountIdentification3Choice">
				<xs:choice>
					<xs:element name="IBAN" type="Validation_DbtrIBAN" id="AT-01">
						<xs:annotation>
							<xs:documentation xml:lang="en">IBAN from Austria</xs:documentation>
							<xs:documentation xml:lang="de">IBAN aus Österreich</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Creditors account is always SEPA-Country IBAN -->
	<xs:complexType name="Validation_CdtrAcctChoice">
		<xs:complexContent>
			<xs:restriction base="AccountIdentification3Choice">
				<xs:choice>
					<xs:element name="IBAN" type="Validation_CdtrIBAN" id="AT-20">
						<xs:annotation>
							<xs:documentation xml:lang="en">IBAN currently respected are from Austria, Belgium, Bulgaria, Switzerland, Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Great Britain, Gibraltar, Greece, Hungary, Ireland, Iceland, Italy, Liechtenstein, Lithuania, Luxemburg, Latvia, Malta, Netherlands, Norway, Poland, Portugal, Romania, Sweden, Slovenia and Slovak Republic.</xs:documentation>
							<xs:documentation xml:lang="de">Erlaubt sind zur Zeit IBAN von Österreich, Belgien, Bulgarien, Schweiz, Zypern. Tschechien, Deutschland, Dänemark, Estland, Spanien, Finnland, Frankreich, Großbritannien, Gibraltar, Griechenland, Ungarn, Irland, Island, Italien, Lichtenstein, Litauen, Luxemburg, Lettland, Malta, Niederlande, Norwegen, Polen, Portugal, Rumänien, Schweden, Slovennien und Slowakei</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to InstdAmt only -->
	<xs:complexType name="AmountType2Choice">
		<xs:choice>
			<xs:element name="InstdAmt" type="CurrencyAndAmount"/>
			<!-- delete: <xs:element name="EqvtAmt" type="EquivalentAmount"/> -->
		</xs:choice>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: Limit transferable amount -->
	<xs:complexType name="Validation_AmountType2Choice">
		<xs:complexContent>
			<xs:restriction base="AmountType2Choice">
				<xs:choice>
					<xs:element name="InstdAmt" type="Validation_InstdAmt" id="AT-04">
						<xs:annotation>
							<xs:documentation xml:lang="en">A value between 0.01 and 999999999.99
Decimal value notation. Decimal sign is the dot. No negative values. Examples of invalid and valid values</xs:documentation>
							<xs:documentation xml:lang="de">Ein Wert zwischen 0.01 und 999999999.99
Dezimalwertdarstellung. Punkt als Dezimalzeichen. Keine negativen Werte. Beispiele ungültiger und gültiger Werte</xs:documentation>
							<xs:documentation>.87
645.
942.80352132
00023
000343.00
--------------------
0.34
74.5
456
3.04

10.0
10.40
10.00</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- The BIC pattern from SWIFT -->
	<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>
	<!-- add: Debtors bank identifier is always Austrian BIC -->
	<xs:simpleType name="Validation_DbtrBIC">
		<xs:restriction base="BICIdentifier">
			<xs:pattern value="[A-Z]{4}AT[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Creditors bank identifier is always SEPA-Country BIC -->
	<xs:simpleType name="Validation_CdtrBIC">
		<xs:restriction base="BICIdentifier">
			<xs:pattern value="([A-Z]{4}(AT|BE|BG|CH|CY|CZ|DE|DK|EE|ES|FI|FR|GB|GF|GG|GI|GP|GR|HU|IE|IS|IT|JE|LI|LT|LU|LV|MT|MQ|NL|NO|PL|PT|RO|RE|SE|SI|SK)[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?)|NOTAVAIL"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction to FinInstnId only -->
	<xs:complexType name="BranchAndFinancialInstitutionIdentification3">
		<xs:sequence>
			<xs:element name="FinInstnId" type="FinancialInstitutionIdentification5Choice"/>
			<!-- delete: <xs:element name="BrnchId" type="BranchData" minOccurs="0"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Debtors bank is always Austrian -->
	<xs:complexType name="Validation_DbtrAgt">
		<xs:complexContent>
			<xs:restriction base="BranchAndFinancialInstitutionIdentification3">
				<xs:sequence>
					<xs:element name="FinInstnId" type="Validation_Dbtr_FinInstnId"/>
					<!-- delete: <xs:element name="BrnchId" type="BranchData" minOccurs="0"/> -->
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Creditors bank is always SEPA-Country -->
	<xs:complexType name="Validation_CdtrAgt">
		<xs:complexContent>
			<xs:restriction base="BranchAndFinancialInstitutionIdentification3">
				<xs:sequence>
					<xs:element name="FinInstnId" type="Validation_Cdtr_FinInstnId"/>
					<!-- delete: <xs:element name="BrnchId" type="BranchData" minOccurs="0"/> -->
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to Id and Ccy only -->
	<xs:complexType name="CashAccount7">
		<xs:sequence>
			<xs:element name="Id" type="AccountIdentification3Choice"/>
			<!-- delete: <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/> -->
			<xs:element name="Ccy" type="CurrencyCode" minOccurs="0"/>
			<!-- delete: <xs:element name="Nm" type="Max70Text" minOccurs="0"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Debtors account may have a curreny information (which may be different from EUR) -->
	<xs:complexType name="Validation_DbtrAcct">
		<xs:complexContent>
			<xs:restriction base="CashAccount7">
				<xs:sequence>
					<xs:element name="Id" type="Validation_DbtrAcctChoice"/>
					<xs:element name="Ccy" type="CurrencyCode" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Optional account currency</xs:documentation>
							<xs:documentation xml:lang="de">Optionale Kontowährung</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Creditors account has no curreny information -->
	<xs:complexType name="Validation_CdtrAcct">
		<xs:complexContent>
			<xs:restriction base="CashAccount7">
				<xs:sequence>
					<xs:element name="Id" type="Validation_CdtrAcctChoice"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to SLEV only -->
	<xs:simpleType name="ChargeBearerType1Code">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SLEV"/>
			<!-- delete: <xs:enumeration value="DEBT"/>
			<xs:enumeration value="CRED"/>
			<xs:enumeration value="SHAR"/> -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction of elements in single transfer -->
	<xs:complexType name="CreditTransferTransactionInformation1">
		<xs:sequence>
			<xs:element name="PmtId" type="PaymentIdentification1"/>
			<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0"/>
			<xs:element name="Amt" type="AmountType2Choice"/>
			<!-- delete: <xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0"/>
			<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
			<xs:element name="ChqInstr" type="Cheque5" minOccurs="0"/> -->
			<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0"/>
			<!-- delete: <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0"/>
			<xs:element name="IntrmyAgt1Acct" type="CashAccount7" minOccurs="0"/>
			<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0"/>
			<xs:element name="IntrmyAgt2Acct" type="CashAccount7" minOccurs="0"/>
			<xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0"/>
			<xs:element name="IntrmyAgt3Acct" type="CashAccount7" minOccurs="0"/> -->
			<xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification3">
				<!-- change:  minOccurs="0" -->
			</xs:element>
			<!-- delete: <xs:element name="CdtrAgtAcct" type="CashAccount7" minOccurs="0"/> -->
			<xs:element name="Cdtr" type="PartyIdentification8">
				<!-- change:  minOccurs="0" -->
			</xs:element>
			<xs:element name="CdtrAcct" type="CashAccount7">
				<!-- change:  minOccurs="0" -->
			</xs:element>
			<xs:element name="UltmtCdtr" type="PartyIdentification8" minOccurs="0"/>
			<!-- delete: <xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
			<xs:element name="Purp" type="Purpose1Choice" minOccurs="0"/>
			<xs:element name="RgltryRptg" type="RegulatoryReporting2" minOccurs="0" maxOccurs="10"/>
			<xs:element name="Tax" type="TaxInformation2" minOccurs="0"/>
			<xs:element name="RltdRmtInf" type="RemittanceLocation1" minOccurs="0" maxOccurs="10"/> -->
			<xs:element name="RmtInf" type="RemittanceInformation1" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements -->
	<xs:complexType name="Validation_CreditTransferTransactionInformation1">
		<xs:complexContent>
			<xs:restriction base="CreditTransferTransactionInformation1">
				<xs:sequence>
					<xs:element name="PmtId" type="Validation_PaymentIdentification1">
						<xs:annotation>
							<xs:documentation xml:lang="en">Payment Identifications</xs:documentation>
							<xs:documentation xml:lang="de">Zahlungsreferenzen</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PmtTpInf" type="Validation_PmtTpInf_Sngl" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">To declare a specific LclInstrm code for this single transactions use this structure. ATTENTION: SAL and PEN are only available at batch level! Mutally exclusive with PmtTpInf in PmtInf</xs:documentation>
							<xs:documentation xml:lang="de">Diese Struktur wird benutzt, um einen bestimmten LclInstrm Kode für diese Einzeltransaktion zu definieren. ACHTUNG: SAL und PEN sind nur auf Bestandsebene möglich! Gegenseitig ausschließend mit PmtTpInf in PmtInf</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Amt" type="Validation_AmountType2Choice">
						<xs:annotation>
							<xs:documentation xml:lang="en">Amout of the single transfer</xs:documentation>
							<xs:documentation xml:lang="de">Betrag der Einzelüberweisung</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UltmtDbtr" type="Validation_UltmtDbtr" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The Reference Party of the debitor. Used for payments on behalf. This is forwarded in AT only and will not travel cross border. Overwrites same element from batch level</xs:documentation>
							<xs:documentation xml:lang="de">Die Referenzpartei des Kontoinhabers. Für Zahlungen im Namen eines anderen. Dieses wird nur innerhalb AT und nicht über die Grenze weitergereicht. Überschreibt das gleiche Element der Bestandsebene</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CdtrAgt" type="Validation_CdtrAgt">
						<xs:annotation>
							<xs:documentation xml:lang="en">Bank of beneficiary. If the bank of the beneficiary is not reachable by this type of payment, the instructed bank can either reject the payment or use other channels according service agreement</xs:documentation>
							<xs:documentation xml:lang="de">Bank des Empfängers. Wenn die Bank des Empfängers mit diesem Zahlungstyp nicht erreichbar ist, kann die Bank entweder den Auftrag ablehnen oder andere Kanäle nach Servicevereinbarung nutzen</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Cdtr" type="Validation_Cdtr">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of the account owner on beneficiary side</xs:documentation>
							<xs:documentation xml:lang="de">Name des Kontoinhabers auf der Empfängerseite</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CdtrAcct" type="Validation_CdtrAcct">
						<xs:annotation>
							<xs:documentation xml:lang="en">Benefitting account</xs:documentation>
							<xs:documentation xml:lang="de">Begünstigtes Konto</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UltmtCdtr" type="Validation_UltmtCdtr" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">The Reference Party of the creditor. Used for payments on behalf. This is forwarded in AT only and will not travel cross border</xs:documentation>
							<xs:documentation xml:lang="de">Die Referenzpartei des Empfängers. Für Zahlungen im Namen eines anderen. Dieses wird nur innerhalb AT und nicht über die Grenze weitergereicht</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="RmtInf" type="Validation_RemittanceInformation1" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Remittance Information. Only one occurence of Unstructured is allowed
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Verwendungszweck. Es ist nur ein Vorkommen von Unstrukturiert erlaubt
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- CurrencyAndAmount base type -->
	<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>
	<!-- CurrencyAndAmount complete type -->
	<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>
	<!-- add: InstdAmt is limited in length and currency -->
	<xs:complexType name="Validation_InstdAmt">
		<xs:simpleContent>
			<xs:restriction base="CurrencyAndAmount">
				<xs:maxInclusive value="999999999.99"/>
				<xs:minInclusive value="0.01"/>
				<xs:pattern value="(0|([1-9]\d*))(\.\d{1,2})?"/>
				<xs:attribute name="Ccy" type="Validation_CurrencyCode" use="required"/>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<!-- CurrencyCode type -->
	<xs:simpleType name="CurrencyCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{3,3}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: SEPA payment are all EUR -->
	<xs:simpleType name="Validation_CurrencyCode">
		<xs:restriction base="CurrencyCode">
			<xs:enumeration value="EUR"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- DecimalNumber type -->
	<xs:simpleType name="DecimalNumber">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="17"/>
			<xs:totalDigits value="18"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: ControlSum is limited in length -->
	<xs:simpleType name="Validation_ControlSum">
		<xs:restriction base="DecimalNumber">
			<xs:maxInclusive value="999999999999.99"/>
			<xs:minInclusive value="0.01"/>
			<xs:pattern value="(0|([1-9]\d*))(\.\d{1,2})?"/>
			<!--This pattern prohibits leading zeros. Other restrictions are not affected by this pattern -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Document type -->
	<xs:complexType name="Document">
		<xs:sequence>
			<xs:element name="pain.001.001.02" type="pain.001.001.02"/>
		</xs:sequence>
	</xs:complexType>
	<!-- add: provide a Document type with all SEPA and AOS requirements -->
	<xs:complexType name="Validation_Document">
		<xs:complexContent>
			<xs:restriction base="Document">
				<xs:sequence>
					<xs:element name="pain.001.001.02" type="Validation_pain.001.001.02">
						<xs:annotation>
							<xs:documentation xml:lang="en">This version containes restrictions and extensions based on core recommendations of EPC Rulebook and ImplementationGuideline both version 2.2 for use in Austria</xs:documentation>
							<xs:documentation xml:lang="de">Diese Version definiert zusätzliche Beschränkungen und Erweiterungen basierend auf den Core Empfehlungen des EPC Rulebook und ImplementationGuideline beide in der Version 2.2 für die Verwendung in Österreich</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to BIC only -->
	<xs:complexType name="FinancialInstitutionIdentification5Choice">
		<xs:choice>
			<xs:element name="BIC" type="BICIdentifier"/>
			<!-- delete: <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>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: Debtors account is always Austrian -->
	<xs:complexType name="Validation_Dbtr_FinInstnId">
		<xs:complexContent>
			<xs:restriction base="FinancialInstitutionIdentification5Choice">
				<xs:choice>
					<xs:element name="BIC" type="Validation_DbtrBIC" id="AT-06">
						<xs:annotation>
							<xs:documentation xml:lang="en">BIC from Austria</xs:documentation>
							<xs:documentation xml:lang="de">BIC aus Österreich</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Creditors account is always SEPA-Country -->
	<xs:complexType name="Validation_Cdtr_FinInstnId">
		<xs:complexContent>
			<xs:restriction base="FinancialInstitutionIdentification5Choice">
				<xs:choice>
					<xs:element name="BIC" type="Validation_CdtrBIC" id="AT-23">
						<xs:annotation>
							<xs:documentation xml:lang="en">BIC from Austria, Belgium, Bulgaria, Switzerland, Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Great Britain, Greece, Hungary, Ireland, Iceland, Italy, Liechtenstein, Lithuania, Luxemburg, Latvia, Malta, Netherlands, Norway, Poland, Portugal, Romania, Sweden, Slovenia, Slovak Republic and all serviced countries of Spain, France, Great Britain and Portugal (GI, GG, JE, GF, GP, MQ, RE; see EU Regulation 2560/2001)
ONLY AT: As a service the ordered bank may allow the value NOTAVAIL and will take care about correct values during processing</xs:documentation>
							<xs:documentation xml:lang="de">Erlaubt sind zur Zeit BIC von Österreich, Belgien, Bulgarien, Schweiz, Zypern. Tschechien, Deutschland, Dänemark, Estland, Spanien, Finnland, Frankreich, Großbritannien, Griechenland, Ungarn, Irland, Island, Italien, Lichtenstein, Litauen, Luxemburg, Lettland, Malta, Niederlande, Norwegen, Polen, Portugal, Rumänien, Schweden, Slovennien, Slowakei und alle servisierten Länder von Spanien, Frankreich, Großbritannien und Portugal (GI, GG, JE, GF, GP, MQ, RE; siehe EU Regulative 2560/2001)
NUR AT: Darüber hinaus kann die beauftrage Bank als Service den Wert NOTAVAIL erlauben und korrekte Werte während der Verarbeitung einfügen</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction of elements in Group Header -->
	<xs:complexType name="GroupHeader1">
		<xs:sequence>
			<xs:element name="MsgId" type="Max35Text"/>
			<xs:element name="CreDtTm" type="ISODateTime"/>
			<!-- delete: <xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/>
			<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0"/> -->
			<xs:element name="NbOfTxs" type="Max15NumericText"/>
			<xs:element name="CtrlSum" type="DecimalNumber">
				<!-- change:  minOccurs="0" -->
			</xs:element>
			<xs:element name="Grpg" type="Grouping1Code"/>
			<xs:element name="InitgPty" type="PartyIdentification8"/>
			<!-- delete: <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements -->
	<xs:complexType name="Validation_GroupHeader1">
		<xs:complexContent>
			<xs:restriction base="GroupHeader1">
				<xs:sequence>
					<xs:element name="MsgId">
						<xs:annotation>
							<xs:documentation xml:lang="en">This is the batch reference in resulting account statement. Length and charset restrictions apply
Needs to be unique within a year</xs:documentation>
							<xs:documentation xml:lang="de">Dies ist die Bestandsreferenz am Kontoauszug. Es gelten Längen- und Zeichenbegrenzungen
Eindeutig über den Zeitraum eines Jahres</xs:documentation>
						</xs:annotation>
						<xs:simpleType>
							<xs:restriction base="Validation_MessageIdentification"/>
						</xs:simpleType>
					</xs:element>
					<xs:element name="CreDtTm" type="Validation_MessageCreationDateTime">
						<xs:annotation>
							<xs:documentation xml:lang="en">Only format available is YYYY-MM-DDThh:mm:ss. It is the UTC timestamp</xs:documentation>
							<xs:documentation xml:lang="de">Es ist nur das Format YYYY-MM-DDThh:mm:ss verfügbar. Zeitpunkt in UTC-Zeit</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NbOfTxs" type="Validation_NumberOfTransactions">
						<xs:annotation>
							<xs:documentation xml:lang="en">Maximum 999.999 transactions</xs:documentation>
							<xs:documentation xml:lang="de">Maximal 999.999 Transactionen</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CtrlSum" type="Validation_ControlSum">
						<xs:annotation>
							<xs:documentation xml:lang="en">Sum of all amounts of all subsequent single transactions. Batch or bulk sum. A value between 0.01 and 999999999999.99
Decimal value notation. Decimal sign is the dot. No negative values. Examples of invalid and valid values</xs:documentation>
							<xs:documentation xml:lang="de">Summe aller Einzelbeträge. Bestandssumme. Ein Wert zwischen 0.01 und 999999999999.99
Dezimalwertdarstellung. Punkt als Dezimalzeichen. Keine negativen Werte. Beispiele ungültiger und gültiger Werte</xs:documentation>
							<xs:documentation>.87
645.
942.80352132
00023
000343.00
--------------------
0.34
74.5
456
3.04

10.0
10.40
10.00</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Grpg" type="Grouping1Code">
						<xs:annotation>
							<xs:documentation xml:lang="en">Only available value is GRPD. Exactly one PmtInf with one or more CdtTrfTxInf needs to follow</xs:documentation>
							<xs:documentation xml:lang="de">Einzig verfügbarer Wert ist GRPD. Exakt ein PmtInf mit ein oder mehreren CdtTrfTxInf müssen folgen</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="InitgPty" type="Validation_InitgPty">
						<xs:annotation>
							<xs:documentation xml:lang="en">Identification is done with exakt one of the following elements</xs:documentation>
							<xs:documentation xml:lang="de">Identifikation erfolgt mit exakt einem der folgenden Elemente</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to GRPD only -->
	<xs:simpleType name="Grouping1Code">
		<xs:restriction base="xs:string">
			<xs:enumeration value="GRPD"/>
			<!-- delete: <xs:enumeration value="SNGL"/> -->
			<!-- delete: <xs:enumeration value="MIXD"/> -->
		</xs:restriction>
	</xs:simpleType>
	<!-- IBANIdentifier type -->
	<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>
	<!-- add: Debtors account is always Austrian IBAN -->
	<xs:simpleType name="Validation_DbtrIBAN">
		<xs:restriction base="IBANIdentifier">
			<xs:pattern value="AT[0-9]{18}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Creditors account is always SEPA-Country IBAN -->
	<xs:simpleType name="Validation_CdtrIBAN">
		<xs:restriction base="IBANIdentifier">
			<xs:pattern value="(AT|BE|BG|CH|CY|CZ|DE|DK|EE|ES|FI|FR|GB|GI|GR|HU|IE|IS|IT|LI|LT|LU|LV|MT|NL|NO|PL|PT|RO|SE|SI|SK)[0-9]{2}[a-zA-Z0-9]{10,30}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- ISODate type -->
	<xs:simpleType name="ISODate">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<!-- add: Date format restriction -->
	<xs:simpleType name="Validation_ReqdExctnDt">
		<xs:restriction base="ISODate">
			<xs:minInclusive value="2007-01-01"/>
			<xs:maxInclusive value="2107-01-01"/>
			<xs:pattern value=".{10}"/>
			<!-- Just length and millenium restriction, all other is handled by underlying type (inclusively all part proper valuespace checking) -->
		</xs:restriction>
	</xs:simpleType>
	<!-- ISODateTime type -->
	<xs:simpleType name="ISODateTime">
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<!-- add: DateTime format restriction -->
	<xs:simpleType name="Validation_MessageCreationDateTime">
		<xs:restriction base="ISODateTime">
			<xs:minInclusive value="2007-01-01T00:00:00"/>
			<xs:maxInclusive value="2107-01-01T23:59:59"/>
			<xs:pattern value=".{19}"/>
			<!-- Just length and millenium restriction, all other is handled by underlying type (inclusively all part proper valuespace checking) -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction to Prtry only -->
	<xs:complexType name="LocalInstrument1Choice">
		<xs:choice>
			<!-- delete: <xs:element name="Cd" type="ExternalLocalInstrumentCode"/> -->
			<xs:element name="Prtry" type="Max35Text"/>
		</xs:choice>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: LclInstrm for batch differs from single transfer -->
	<xs:complexType name="Validation_LclInstrm_Btch">
		<xs:complexContent>
			<xs:restriction base="LocalInstrument1Choice">
				<xs:choice>
					<xs:element name="Prtry" type="Validation_LclInstrm_Prtry_Btch">
						<xs:annotation>
							<xs:documentation xml:lang="en">Available values from emuneration list</xs:documentation>
							<xs:documentation xml:lang="de">Verfügbarere Werte aus Werteliste</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: LclInstrm for single transfer differs from batch -->
	<xs:complexType name="Validation_LclInstrm_Sngl">
		<xs:complexContent>
			<xs:restriction base="LocalInstrument1Choice">
				<xs:choice>
					<xs:element name="Prtry" type="Validation_LclInstrm_Prtry_Sngl">
						<xs:annotation>
							<xs:documentation xml:lang="en">Available values from emuneration list</xs:documentation>
							<xs:documentation xml:lang="de">Verfügbarere Werte aus Werteliste</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Max140Text type -->
	<xs:simpleType name="Max140Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="140"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit remittance text -->
	<xs:simpleType name="Validation_Ustrd">
		<xs:restriction base="Max140Text">
			<xs:pattern value="([\-a-zA-Z0-9/\?:\(\)\.,'\+&#x20;]|[äöüßÄÖÜ]|[&amp;&gt;&lt;&quot;\|€$§%!=#~;\*\{\}\[\]@\\_°\^\n\r])*"/>
			<!-- This pattern is an "or" construct fron 3 char classes,
1st giving the SWIFT Z-Charset defined as minimum for SEPA including letters, digit as well as "-","/","?",":","(",")",".",",","'","+" and " " but no CR and LF,
2nd adds german Umlauts accepted for AOS and
3rd adds special chars accepted for AOS including "&","<",">",""","|","€","$","§","%","!","=","#","~",";","*","{","}","[","]","@","\","_","°","^" as well as CR and LF -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Max15NumericText type -->
	<xs:simpleType name="Max15NumericText">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{1,15}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit NumberOfTransactionsto 6 digits -->
	<xs:simpleType name="Validation_NumberOfTransactions">
		<xs:restriction base="Max15NumericText">
			<xs:minLength value="1"/>
			<xs:maxLength value="6"/>
			<xs:pattern value="[1-9][0-9]*"/>
			<!--This pattern prohibits leading zeros. The length restrictions are not affected by this pattern -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Max35Text type -->
	<xs:simpleType name="Max35Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit MessageIdentification for MT940 Compliance as batch reference -->
	<xs:simpleType name="Validation_MessageIdentification">
		<xs:restriction base="Max35Text">
			<xs:maxLength value="16"/>
			<xs:pattern value="[0-9A-Z][\-0-9A-Z]*"/>
			<!-- This pattern ensures that an identification cannot start with a dash. The length restrictions are not affected by this pattern -->
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit BkPtyId to dash, letters and numbers and space -->
	<xs:simpleType name="Validation_BkPtyId">
		<xs:restriction base="Max35Text">
			<xs:pattern value="[\-a-zA-Z0-9&#x20;]+"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit Prtry of batch level to enumerated codes -->
	<xs:simpleType name="Validation_LclInstrm_Prtry_Btch">
		<xs:restriction base="Max35Text">
			<xs:enumeration value="SAL"/>
			<xs:enumeration value="PEN"/>
			<xs:enumeration value="TAX"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit Prtry of single level to enumerated codes -->
	<xs:simpleType name="Validation_LclInstrm_Prtry_Sngl">
		<xs:restriction base="Max35Text">
			<xs:enumeration value="TAX"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit EndToEndId -->
	<xs:simpleType name="Validation_EndToEndId">
		<xs:restriction base="Max35Text">
			<xs:pattern value="[\-a-zA-Z0-9/\?:\(\)\.,'\+&#x20;]*"/>
			<!-- This pattern gives the SWIFT Z-Charset defined as minimum for SEPA including letters, digit as well as "-","/","?",":","(",")",".",",","'","+" and " " but no CR and LF -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Max70Text type -->
	<xs:simpleType name="Max70Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="70"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- add: Limit names -->
	<xs:simpleType name="Validation_Nm">
		<xs:restriction base="Max70Text">
			<xs:pattern value="([\-a-zA-Z0-9/\?:\(\)\.,'\+&#x20;]|[äöüßÄÖÜ]|[&amp;&gt;&lt;&quot;\|€$§%!=#~;\*\{\}\[\]@\\_°\^])*"/>
			<!-- This pattern is an "or" construct fron 3 char classes,
1st giving the SWIFT Z-Charset defined as minimum for SEPA including letters, digit as well as "-","/","?",":","(",")",".",",","'","+" and " " but no CR and LF,
2nd adds german Umlauts accepted for AOS and
3rd adds special chars accepted for AOS including "&","<",">",""","|","€","$","§","%","!","=","#","~",";","*","{","}","[","]","@","\","_","°" and "^" -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction to BkPtyId only -->
	<xs:complexType name="OrganisationIdentification2">
		<xs:sequence>
			<!-- delete: <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
			<xs:element name="IBEI" type="IBEIIdentifier" minOccurs="0"/>
			<xs:element name="BEI" type="BEIIdentifier" minOccurs="0"/>
			<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0"/>
			<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0"/>
			<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0"/> -->
			<xs:element name="BkPtyId" type="Max35Text" minOccurs="0"/>
			<!-- delete: <xs:element name="TaxIdNb" type="Max35Text" minOccurs="0"/>
			<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply AOS requirement -->
	<xs:complexType name="Validation_InitgPtyOrgId">
		<xs:complexContent>
			<xs:restriction base="OrganisationIdentification2">
				<xs:sequence>
					<xs:element name="BkPtyId" type="Validation_BkPtyId" id="zB._AT-10">
						<xs:annotation>
							<xs:documentation xml:lang="en">Customer ID govered by bank. Habitual the main account number. The Implementation Guideline's suggestion of AT-10 for this element would presume a unique initiator ID recognised by all banks and all creditors. As this is customer to bank identification, it is not applied</xs:documentation>
							<xs:documentation xml:lang="de">Von der Bank vergebenen Kunden-ID, meist die Hauptkontonummer. Der Vorschlag von AT-10 für dieses Element aus der Implementierungsanleitung setzte voraus, daß eine eindeutige ID des Initiators existiere, die von allen Banken und Empängern erkannt würde. Da dies die Kunde zu Bankkennung ist, wird dem nicht gefolgt</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to 1 batch only -->
	<xs:complexType name="pain.001.001.02">
		<xs:sequence>
			<xs:element name="GrpHdr" type="GroupHeader1"/>
			<xs:element name="PmtInf" type="PaymentInstructionInformation1">
				<!-- change: maxOccurs="unbounded" -->
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements -->
	<xs:complexType name="Validation_pain.001.001.02">
		<xs:complexContent>
			<xs:restriction base="pain.001.001.02">
				<xs:sequence>
					<xs:element name="GrpHdr" type="Validation_GroupHeader1">
						<xs:annotation>
							<xs:documentation xml:lang="en">Due to choosen restrictions this is a fraction of the batch or bulk leve</xs:documentation>
							<xs:documentation xml:lang="de">Duch die getroffenen Einschränkungen ist dies ein Teil der Bestandsebene</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PmtInf" type="Validation_PaymentInstructionInformation1">
						<xs:annotation>
							<xs:documentation xml:lang="en">Exactly one batch or bulk</xs:documentation>
							<xs:documentation xml:lang="de">Exakt ein Bestand</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to OrgId only -->
	<xs:complexType name="Party2Choice">
		<xs:choice>
			<xs:element name="OrgId" type="OrganisationIdentification2"/>
			<!-- delete: <xs:element name="PrvtId" type="PersonIdentification3" maxOccurs="4"/> -->
		</xs:choice>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: Apply AOS requirements -->
	<xs:complexType name="Validation_InitgPtyChoice">
		<xs:complexContent>
			<xs:restriction base="Party2Choice">
				<xs:choice>
					<xs:element name="OrgId" type="Validation_InitgPtyOrgId">
						<xs:annotation>
							<xs:documentation xml:lang="en">Both legal and natural persons may use this element</xs:documentation>
							<xs:documentation xml:lang="de">Sowohl juristische als auch natürliche Personen können dieses Element benützen</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to Nm or Id only -->
	<xs:complexType name="PartyIdentification8">
		<xs:choice>
			<xs:element name="Nm" type="Max70Text" minOccurs="0"/>
			<!-- delete: <xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0"/> -->
			<xs:element name="Id" type="Party2Choice" minOccurs="0"/>
			<!-- delete: <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/> -->
		</xs:choice>
		<!-- change: xs:sequence  /xs:sequence -->
	</xs:complexType>
	<!-- add: Apply AOS requirements -->
	<xs:complexType name="Validation_InitgPty">
		<xs:complexContent>
			<xs:restriction base="PartyIdentification8">
				<xs:choice>
					<xs:element name="Nm" type="Validation_Nm" id="zB._AT-02" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of the initiator. May differ from the account owners name. Therefore the Implementation Guideline's suggestion of AT-02 in this element is not always true</xs:documentation>
							<xs:documentation xml:lang="de">Name des Initiators. Kann vom Namen des Kontoinhabers abweichen. Daher ist der Vorschlag von AT-02 für dieses Element aus der Implementierungsanleitung nicht immer wahr</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Id" type="Validation_InitgPtyChoice" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">ID of the initiator. May differ from the account owners ID</xs:documentation>
							<xs:documentation xml:lang="de">ID des Initiators. Kann von der ID des Kontoinhabers abweichen</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Limit UltmtDbtr to name only -->
	<xs:complexType name="Validation_UltmtDbtr">
		<xs:complexContent>
			<xs:restriction base="PartyIdentification8">
				<xs:choice>
					<xs:element name="Nm" type="Validation_Nm" id="AT-08">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of Reference Party. Legal or natural person
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Name der Referenzpartei. Juristische oder natürliche Person
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Limit Dbtr to name only -->
	<xs:complexType name="Validation_Dbtr">
		<xs:complexContent>
			<xs:restriction base="PartyIdentification8">
				<xs:choice>
					<xs:element name="Nm" type="Validation_Nm" id="AT-02">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of the account owner.
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Name des Kontoinhabers.
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Limit Cdtr to name only -->
	<xs:complexType name="Validation_Cdtr">
		<xs:complexContent>
			<xs:restriction base="PartyIdentification8">
				<xs:choice>
					<xs:element name="Nm" type="Validation_Nm" id="AT-21">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of the account owner.
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Name des Kontoinhabers.
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Limit UltmtCdtr to name only -->
	<xs:complexType name="Validation_UltmtCdtr">
		<xs:complexContent>
			<xs:restriction base="PartyIdentification8">
				<xs:choice>
					<xs:element name="Nm" type="Validation_Nm" id="AT-28">
						<xs:annotation>
							<xs:documentation xml:lang="en">Name of Reference Party. Legal or natural person
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Name der Referenzpartei. Juristische oder natürliche Person
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to EndToEndId only -->
	<xs:complexType name="PaymentIdentification1">
		<xs:sequence>
			<!-- delete: <xs:element name="InstrId" type="Max35Text" minOccurs="0"/> -->
			<xs:element name="EndToEndId" type="Max35Text"/>
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA requirements -->
	<xs:complexType name="Validation_PaymentIdentification1">
		<xs:complexContent>
			<xs:restriction base="PaymentIdentification1">
				<xs:sequence>
					<xs:element name="EndToEndId" type="Validation_EndToEndId" default="NOTPROVIDED" id="AT-41">
						<xs:annotation>
							<xs:documentation xml:lang="en">This ID helps the creditor on reconciliation purposes. Defaut is NOTPROVIDED. For tax payments always qoute the tax ID here.
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Die ID hilft dem Empfänger bei der Zuordnung der Zahlung. Standardwert ist NOTPROVIDED. Bei Steuerzahlungen immer die Steuernummer hier einfügen.
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction of elements in single transaction -->
	<xs:complexType name="PaymentInstructionInformation1">
		<xs:sequence>
			<!-- delete: <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/> -->
			<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
			<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0"/>
			<xs:element name="ReqdExctnDt" type="ISODate"/>
			<!-- delete: <xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0"/> -->
			<xs:element name="Dbtr" type="PartyIdentification8"/>
			<xs:element name="DbtrAcct" type="CashAccount7"/>
			<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification3"/>
			<!-- delete: <xs:element name="DbtrAgtAcct" type="CashAccount7" minOccurs="0"/> -->
			<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0"/>
			<!-- delete: <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
			<xs:element name="ChrgsAcct" type="CashAccount7" minOccurs="0"/>
			<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0"/> -->
			<xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation1" maxOccurs="999999">
				<!-- change: maxOccurs="unbounded" -->
				<!--hint: some parsers seem to work quicker if this set to unbound. if you adapt your local copy accordingly, you need to safely ensure the maximum count with other mechanisms  -->
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements -->
	<xs:complexType name="Validation_PaymentInstructionInformation1">
		<xs:complexContent>
			<xs:restriction base="PaymentInstructionInformation1">
				<xs:sequence>
					<xs:element name="PmtMtd" type="PaymentMethod3Code">
						<xs:annotation>
							<xs:documentation xml:lang="en">Only available value is TRF</xs:documentation>
							<xs:documentation xml:lang="de">Einzig verfügbarer Wert ist TRF</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PmtTpInf" type="Validation_PmtTpInf_Btch" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">To declare a specific LclInstrm code for all subsequent single transactions use this structure. ATTENTION: The same structure on single transaction level cannot overwrite this selection! Moreover SAL and PEN are only available at this level! Mutally exclusive with PmtTpInf in CdtTrfTxInf</xs:documentation>
							<xs:documentation xml:lang="de">Diese Struktur wird benutzt, um einen bestimmten LclInstrm Kode für alle folgenden Einzeltransaktionen zu definieren. ACHTUNG: Die gleiche Struktur in der Einzeltransaktion kann nicht zum Überschreiben genutzt werden! Darüber hinaus sind SAL und PEN nur auf dieser Ebene möglich! Gegenseitig ausschließend mit PmtTpInf in CdtTrfTxInf</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ReqdExctnDt" type="Validation_ReqdExctnDt" id="AT-07">
						<xs:annotation>
							<xs:documentation xml:lang="en">Only format available is YYYY-MM-DD
Observe banks cutoff times and the consequences in case of late delivery according to agreement.
The maximum offset of this date to the sending date can be 28 banking days</xs:documentation>
							<xs:documentation xml:lang="de">Es ist nur das Format YYYY-MM-DD verfügbarBeachtung der Einlieferungszeiten bei der Bank und die Konsequenzen im Falle der Spätlieferung laut Vereinbarung erforderlich.
Der maximale Unterschied dieses Datums zum Sendedatum kann 28 Banktage betragen</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Dbtr" type="Validation_Dbtr">
						<xs:annotation>
							<xs:documentation xml:lang="en">This is always the account owner</xs:documentation>
							<xs:documentation xml:lang="de">Dies ist immer der Kontoinhaber</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DbtrAcct" type="Validation_DbtrAcct">
						<xs:annotation>
							<xs:documentation xml:lang="en">The account debited with the sum of all subsequent single payments</xs:documentation>
							<xs:documentation xml:lang="de">Das mit der Summe der Einzelaufträge belastete Konto</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="DbtrAgt" type="Validation_DbtrAgt">
						<xs:annotation>
							<xs:documentation xml:lang="en">Ordered bank</xs:documentation>
							<xs:documentation xml:lang="de">Beauftragte Bank</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="UltmtDbtr" type="Validation_UltmtDbtr" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">To declare debtor's reference party for all subsequent single transactions. Single transaction level can overwrite this party</xs:documentation>
							<xs:documentation xml:lang="de">Bestimmt die Referenzpartei des Kontoinhabers für alle folgenden Einzeltransaktionen. Kann auf Einzelumsatzebene überschrieben werden</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="CdtTrfTxInf" type="Validation_CreditTransferTransactionInformation1" maxOccurs="999999">
						<xs:annotation>
							<xs:documentation xml:lang="en">Observe repetition limits according bank specifications and according agreements</xs:documentation>
							<xs:documentation xml:lang="de">Beachtung der Wiederholbarkeit gemäß den Spezificationen der Bank und entsprechenden Vereinbarungen erforderlich</xs:documentation>
						</xs:annotation>
						<!--hint: some parsers seem to work quicker if this set to unbound. if you adapt your local copy accordingly, you need to safely ensure the maximum count with other mechanisms  -->
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to TRF only -->
	<xs:simpleType name="PaymentMethod3Code">
		<xs:restriction base="xs:string">
			<xs:enumeration value="TRF"/>
			<!-- delete: <xs:enumeration value="CHK"/> -->
			<!-- delete: <xs:enumeration value="TRA"/> -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction to SvcLvl and LclInstrm only -->
	<xs:complexType name="PaymentTypeInformation1">
		<xs:sequence>
			<!-- delete: <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/> -->
			<xs:choice>
				<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0"/>
				<!-- delete: <xs:element name="ClrChanl" type="ClearingChannel2Code" minOccurs="0"/> -->
			</xs:choice>
			<xs:element name="LclInstrm" type="LocalInstrument1Choice" minOccurs="0"/>
			<!-- delete: <xs:element name="CtgyPurp" type="PaymentCategoryPurpose1Code" minOccurs="0"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements on batch level -->
	<xs:complexType name="Validation_PmtTpInf_Btch">
		<xs:complexContent>
			<xs:restriction base="PaymentTypeInformation1">
				<xs:sequence>
					<xs:choice>
						<xs:element name="SvcLvl" type="Validation_ServiceLevel2Choice" minOccurs="0"/>
					</xs:choice>
					<xs:element name="LclInstrm" type="Validation_LclInstrm_Btch">
						<xs:annotation>
							<xs:documentation xml:lang="en">This code is forwarded in AT only and will not travel cross border. Use to group payments of same type together</xs:documentation>
							<xs:documentation xml:lang="de">Dieser Code wird nur innerhalb AT und nicht über die Grenze weitergereicht. Wird zur Gruppierung gleicher Zahlungen verwendet</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements on single level -->
	<xs:complexType name="Validation_PmtTpInf_Sngl">
		<xs:complexContent>
			<xs:restriction base="PaymentTypeInformation1">
				<xs:sequence>
					<xs:choice>
						<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0"/>
					</xs:choice>
					<xs:element name="LclInstrm" type="Validation_LclInstrm_Sngl">
						<xs:annotation>
							<xs:documentation xml:lang="en">This code is forwarded in AT only and will not travel cross border. Use to group payments of same type together</xs:documentation>
							<xs:documentation xml:lang="de">Dieser Code wird nur innerhalb AT und nicht über die Grenze weitergereicht. Wird zur Gruppierung gleicher Zahlungen verwendet</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to 1 Ustrd only -->
	<xs:complexType name="RemittanceInformation1">
		<xs:sequence>
			<xs:element name="Ustrd" type="Max140Text" minOccurs="0"/>
			<!-- change:  maxOccurs="unbounded" -->
			<!-- delete: <xs:element name="Strd" type="StructuredRemittanceInformation6" minOccurs="0" maxOccurs="unbounded"/> -->
		</xs:sequence>
	</xs:complexType>
	<!-- add: Apply SEPA and AOS requirements -->
	<xs:complexType name="Validation_RemittanceInformation1">
		<xs:complexContent>
			<xs:restriction base="RemittanceInformation1">
				<xs:sequence>
					<xs:element name="Ustrd" type="Validation_Ustrd" id="AT-05" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Remittance Information as text.
In any payment that leaves AT all AOS characters may be replaced</xs:documentation>
							<xs:documentation xml:lang="de">Verwendungszweck als Text.
In jeder AT verlassenden Zahlung können alle AOS Zeichen ersetzt werden</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- Principle restriction to SEPA only -->
	<xs:simpleType name="ServiceLevel1Code">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SEPA"/>
			<!-- delete: <xs:enumeration value="SDVA"/>
			<xs:enumeration value="PRPT"/> -->
		</xs:restriction>
	</xs:simpleType>
	<!-- Principle restriction to Cd only -->
	<xs:complexType name="ServiceLevel2Choice">
		<xs:choice>
			<xs:element name="Cd" type="ServiceLevel1Code"/>
			<!-- delete: <xs:element name="Prtry" type="Max35Text"/> -->
		</xs:choice>
		<!-- change: xs:sequence xs:choice /xs:choice /xs:sequence -->
	</xs:complexType>
	<!-- add: Apply SEPA  requirements -->
	<xs:complexType name="Validation_ServiceLevel2Choice">
		<xs:complexContent>
			<xs:restriction base="ServiceLevel2Choice">
				<xs:choice>
					<xs:element name="Cd" type="ServiceLevel1Code" id="AT-40">
						<xs:annotation>
							<xs:documentation xml:lang="en">Only available value is SEPA</xs:documentation>
							<xs:documentation xml:lang="de">Einzig verfügbarer Wert ist SEPA</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<!-- delete: <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: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="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="BranchData">
		<xs:sequence>
			<xs:element name="Id" type="Max35Text" minOccurs="0"/>
			<xs:element name="Nm" type="Max35Text" minOccurs="0"/>
			<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0"/>
		</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: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="Cheque5">
		<xs:sequence>
			<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
			<xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
			<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0"/>
			<xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
			<xs:element name="DlvrTo" type="NameAndAddress3" 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"/>
			<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="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="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="CreditorReferenceInformation1">
		<xs:sequence>
			<xs:element name="CdtrRefTp" type="CreditorReferenceType1" minOccurs="0"/>
			<xs:element name="CdtrRef" type="Max35Text" minOccurs="0"/>
		</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"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DateAndPlaceOfBirth">
		<xs:sequence>
			<xs:element name="BirthDt" type="ISODate"/>
			<xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
			<xs:element name="CityOfBirth" type="Max35Text"/>
			<xs:element name="CtryOfBirth" type="CountryCode"/>
		</xs:sequence>
	</xs:complexType>
	<xs: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"/>
			<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>
	<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"/>
			<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice" minOccurs="0"/>
			<xs:element name="Nm" type="Max70Text" minOccurs="0"/>
			<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0"/>
			<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="GenericIdentification3">
		<xs:sequence>
			<xs:element name="Id" type="Max35Text"/>
			<xs:element name="Issr" type="Max35Text" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="GenericIdentification4">
		<xs:sequence>
			<xs:element name="Id" type="Max35Text"/>
			<xs:element name="IdTp" type="Max35Text"/>
		</xs:sequence>
	</xs:complexType>
	<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="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:simpleType name="Max128Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="128"/>
		</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="Max3Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="3"/>
		</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: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: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"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PostalAddress1">
		<xs:sequence>
			<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
			<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/>
			<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"/>
		</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"/>
			<xs:element name="RfrdDocNb" type="Max35Text" minOccurs="0"/>
		</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"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RegulatoryAuthority">
		<xs:sequence>
			<xs:element name="AuthrtyNm" type="Max70Text" minOccurs="0"/>
			<xs:element name="AuthrtyCtry" type="CountryCode" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RegulatoryReporting2">
		<xs:sequence>
			<xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0"/>
			<xs:element name="Authrty" type="RegulatoryAuthority" minOccurs="0"/>
			<xs:element name="RgltryDtls" type="StructuredRegulatoryReporting2" minOccurs="0"/>
		</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="RemittanceLocation1">
		<xs:sequence>
			<xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
			<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0"/>
			<xs:element name="RmtLctnElctrncAdr" type="Max256Text" minOccurs="0"/>
			<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0"/>
		</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: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"/>
			<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0"/>
			<xs:element name="Inf" type="Max35Text" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StructuredRemittanceInformation6">
		<xs:sequence>
			<xs:element name="RfrdDocInf" type="ReferredDocumentInformation1" minOccurs="0"/>
			<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0"/>
			<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="CdtrRefInf" type="CreditorReferenceInformation1" minOccurs="0"/>
			<xs:element name="Invcr" type="PartyIdentification8" minOccurs="0"/>
			<xs:element name="Invcee" type="PartyIdentification8" minOccurs="0"/>
			<xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TaxDetails">
		<xs:sequence>
			<xs:element name="CertId" type="Max35Text" minOccurs="0"/>
			<xs:element name="TaxTp" type="TaxType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TaxInformation2">
		<xs:sequence>
			<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0"/>
			<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0"/>
			<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0"/>
			<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0"/>
			<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0"/>
			<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0"/>
			<xs:element name="TaxDt" type="ISODate" minOccurs="0"/>
			<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"/>
			<xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
			<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0"/>
			<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="UPICIdentifier">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{8,17}"/>
		</xs:restriction>
	</xs:simpleType> -->
	<!--***** Begin of change log -->
	<!-- 2008-08-13 -->
	<!-- - add Stylesheet entry -->
	<!--***** End of change log -->
</xs:schema>
