summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine A <>2024-01-23 18:06:55 +0100
committerAntoine A <>2024-01-23 18:10:59 +0100
commitbb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed (patch)
treeecb0f851e8781dd8c8100224d079131ec56efea9
parent8aeffb3f9d4fa5323d896a46902ed2384a953cbd (diff)
downloadlibeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.tar.gz
libeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.tar.bz2
libeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.zip
Split utils into common and ebics and ename integration to testbench
-rw-r--r--.gitignore11
-rw-r--r--Makefile12
-rw-r--r--bank/build.gradle5
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/BankIntegrationApi.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Config.kt7
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Constants.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/ConversionApi.kt3
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt4
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Error.kt3
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Main.kt3
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Params.kt3
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/RevenueApi.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/TalerCommon.kt5
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt4
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/auth/auth.kt4
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/AccountDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/CashoutDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/ConversionDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/Database.kt3
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/ExchangeDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/NotificationWatcher.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/TanDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/TokenDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/TransactionDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/db/WithdrawalDAO.kt2
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/helpers.kt3
-rw-r--r--bank/src/test/kotlin/AmountTest.kt3
-rw-r--r--bank/src/test/kotlin/BankIntegrationApiTest.kt3
-rw-r--r--bank/src/test/kotlin/ConversionApiTest.kt3
-rw-r--r--bank/src/test/kotlin/CoreBankApiTest.kt4
-rw-r--r--bank/src/test/kotlin/DatabaseTest.kt2
-rw-r--r--bank/src/test/kotlin/JsonTest.kt2
-rw-r--r--bank/src/test/kotlin/SecurityTest.kt2
-rw-r--r--bank/src/test/kotlin/StatsTest.kt2
-rw-r--r--bank/src/test/kotlin/WireGatewayApiTest.kt3
-rw-r--r--bank/src/test/kotlin/helpers.kt4
-rw-r--r--bank/src/test/kotlin/routines.kt3
-rw-r--r--build.gradle2
-rw-r--r--common/build.gradle (renamed from util/build.gradle)7
-rw-r--r--common/import.py66
-rw-r--r--common/src/main/kotlin/Backoff.kt (renamed from util/src/main/kotlin/Backoff.kt)2
-rw-r--r--common/src/main/kotlin/Cli.kt (renamed from util/src/main/kotlin/Cli.kt)5
-rw-r--r--common/src/main/kotlin/Client.kt (renamed from util/src/main/kotlin/Client.kt)3
-rw-r--r--common/src/main/kotlin/Config.kt (renamed from util/src/main/kotlin/Config.kt)2
-rw-r--r--common/src/main/kotlin/Constants.kt (renamed from util/src/main/kotlin/Constants.kt)2
-rw-r--r--common/src/main/kotlin/CryptoUtil.kt (renamed from util/src/main/kotlin/CryptoUtil.kt)3
-rw-r--r--common/src/main/kotlin/DB.kt (renamed from util/src/main/kotlin/DB.kt)2
-rw-r--r--common/src/main/kotlin/Encoding.kt (renamed from util/src/main/kotlin/Encoding.kt)2
-rw-r--r--common/src/main/kotlin/HTTP.kt (renamed from util/src/main/kotlin/HTTP.kt)2
-rw-r--r--common/src/main/kotlin/IbanPayto.kt (renamed from util/src/main/kotlin/IbanPayto.kt)2
-rw-r--r--common/src/main/kotlin/TalerCommon.kt (renamed from util/src/main/kotlin/TalerCommon.kt)2
-rw-r--r--common/src/main/kotlin/TalerConfig.kt (renamed from util/src/main/kotlin/TalerConfig.kt)2
-rw-r--r--common/src/main/kotlin/TalerErrorCode.kt (renamed from util/src/main/kotlin/TalerErrorCode.kt)2
-rw-r--r--common/src/main/kotlin/iban.kt (renamed from util/src/main/kotlin/iban.kt)2
-rw-r--r--common/src/main/kotlin/strings.kt (renamed from util/src/main/kotlin/strings.kt)3
-rw-r--r--common/src/main/kotlin/time.kt (renamed from util/src/main/kotlin/time.kt)2
-rw-r--r--common/src/main/resources/xsd/camt.052.001.02.xsd (renamed from util/src/main/resources/xsd/camt.052.001.02.xsd)0
-rw-r--r--common/src/main/resources/xsd/camt.053.001.02.xsd (renamed from util/src/main/resources/xsd/camt.053.001.02.xsd)0
-rw-r--r--common/src/main/resources/xsd/camt.054.001.02.xsd (renamed from util/src/main/resources/xsd/camt.054.001.02.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_H004.xsd (renamed from util/src/main/resources/xsd/ebics_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_H005.xsd (renamed from util/src/main/resources/xsd/ebics_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_hev.xsd (renamed from util/src/main/resources/xsd/ebics_hev.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd (renamed from util/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd (renamed from util/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd (renamed from util/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd (renamed from util/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_orders_H004.xsd (renamed from util/src/main/resources/xsd/ebics_orders_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_orders_H005.xsd (renamed from util/src/main/resources/xsd/ebics_orders_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_request_H004.xsd (renamed from util/src/main/resources/xsd/ebics_request_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_request_H005.xsd (renamed from util/src/main/resources/xsd/ebics_request_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_response_H004.xsd (renamed from util/src/main/resources/xsd/ebics_response_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_response_H005.xsd (renamed from util/src/main/resources/xsd/ebics_response_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_signature_S002.xsd (renamed from util/src/main/resources/xsd/ebics_signature_S002.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_signatures.xsd (renamed from util/src/main/resources/xsd/ebics_signatures.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_types_H004.xsd (renamed from util/src/main/resources/xsd/ebics_types_H004.xsd)0
-rw-r--r--common/src/main/resources/xsd/ebics_types_H005.xsd (renamed from util/src/main/resources/xsd/ebics_types_H005.xsd)0
-rw-r--r--common/src/main/resources/xsd/pain.001.001.03.ch.02.xsd (renamed from util/src/main/resources/xsd/pain.001.001.03.ch.02.xsd)0
-rw-r--r--common/src/main/resources/xsd/pain.001.001.03.xsd (renamed from util/src/main/resources/xsd/pain.001.001.03.xsd)0
-rw-r--r--common/src/main/resources/xsd/pain.001.001.09.ch.03.xsd (renamed from util/src/main/resources/xsd/pain.001.001.09.ch.03.xsd)0
-rw-r--r--common/src/main/resources/xsd/pain.002.001.13.xsd (renamed from util/src/main/resources/xsd/pain.002.001.13.xsd)0
-rw-r--r--common/src/main/resources/xsd/xmldsig-core-schema.xsd (renamed from util/src/main/resources/xsd/xmldsig-core-schema.xsd)0
-rw-r--r--common/src/test/kotlin/AmountTest.kt (renamed from util/src/test/kotlin/AmountTest.kt)2
-rw-r--r--common/src/test/kotlin/CryptoUtilTest.kt (renamed from util/src/test/kotlin/CryptoUtilTest.kt)3
-rw-r--r--common/src/test/kotlin/PaytoTest.kt (renamed from util/src/test/kotlin/PaytoTest.kt)4
-rw-r--r--common/src/test/kotlin/TalerConfigTest.kt (renamed from util/src/test/kotlin/TalerConfigTest.kt)1
-rw-r--r--common/src/test/kotlin/TimeTest.kt (renamed from util/src/test/kotlin/TimeTest.kt)4
-rw-r--r--common/src/test/resources/ebics_hev.xml (renamed from util/src/test/resources/ebics_hev.xml)0
-rw-r--r--common/src/test/resources/ebics_ini_inner_key.xml (renamed from util/src/test/resources/ebics_ini_inner_key.xml)0
-rw-r--r--common/src/test/resources/ebics_ini_request_sample.xml (renamed from util/src/test/resources/ebics_ini_request_sample.xml)0
-rw-r--r--common/src/test/resources/hia_request.xml (renamed from util/src/test/resources/hia_request.xml)0
-rw-r--r--common/src/test/resources/hia_request_order_data.xml (renamed from util/src/test/resources/hia_request_order_data.xml)0
-rw-r--r--common/src/test/resources/hpb_request.xml (renamed from util/src/test/resources/hpb_request.xml)0
-rw-r--r--common/src/test/resources/signature1/doc.xml (renamed from util/src/test/resources/signature1/doc.xml)0
-rw-r--r--common/src/test/resources/signature1/public_key.txt (renamed from util/src/test/resources/signature1/public_key.txt)0
-rw-r--r--ebics/build.gradle29
-rw-r--r--ebics/import.py (renamed from util/import.py)2
-rw-r--r--ebics/src/main/kotlin/Ebics.kt (renamed from util/src/main/kotlin/Ebics.kt)15
-rw-r--r--ebics/src/main/kotlin/EbicsCodeSets.kt (renamed from util/src/main/kotlin/EbicsCodeSets.kt)2
-rw-r--r--ebics/src/main/kotlin/EbicsOrderUtil.kt (renamed from util/src/main/kotlin/EbicsOrderUtil.kt)3
-rw-r--r--ebics/src/main/kotlin/XMLUtil.kt (renamed from util/src/main/kotlin/XMLUtil.kt)4
-rw-r--r--ebics/src/main/kotlin/XmlCombinators.kt (renamed from util/src/main/kotlin/XmlCombinators.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsRequest.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsRequest.kt)4
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsResponse.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsResponse.kt)6
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsTypes.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsTypes.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt (renamed from util/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt)6
-rw-r--r--ebics/src/main/kotlin/ebics_h004/HIARequestOrderData.kt (renamed from util/src/main/kotlin/ebics_h004/HIARequestOrderData.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt (renamed from util/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt (renamed from util/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt (renamed from util/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h004/package-info.java (renamed from util/src/main/kotlin/ebics_h004/package-info.java)2
-rw-r--r--ebics/src/main/kotlin/ebics_h005/Ebics3Request.kt (renamed from util/src/main/kotlin/ebics_h005/Ebics3Request.kt)4
-rw-r--r--ebics/src/main/kotlin/ebics_h005/Ebics3Response.kt (renamed from util/src/main/kotlin/ebics_h005/Ebics3Response.kt)8
-rw-r--r--ebics/src/main/kotlin/ebics_h005/Ebics3Types.kt (renamed from util/src/main/kotlin/ebics_h005/Ebics3Types.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_h005/package-info.java (renamed from util/src/main/kotlin/ebics_h005/package-info.java)2
-rw-r--r--ebics/src/main/kotlin/ebics_hev/EbicsMessages.kt (renamed from util/src/main/kotlin/ebics_hev/EbicsMessages.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_hev/package-info.java (renamed from util/src/main/kotlin/ebics_hev/package-info.java)2
-rw-r--r--ebics/src/main/kotlin/ebics_s001/SignatureTypes.kt (renamed from util/src/main/kotlin/ebics_s001/SignatureTypes.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_s001/UserSignatureData.kt (renamed from util/src/main/kotlin/ebics_s001/UserSignatureData.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_s001/package-info.java (renamed from util/src/main/kotlin/ebics_s001/package-info.java)2
-rw-r--r--ebics/src/main/kotlin/ebics_s002/SignatureTypes.kt (renamed from util/src/main/kotlin/ebics_s002/SignatureTypes.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt (renamed from util/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt)2
-rw-r--r--ebics/src/main/kotlin/ebics_s002/package-info.java (renamed from util/src/main/kotlin/ebics_s002/package-info.java)2
-rw-r--r--ebics/src/main/resources/version.txt1
-rw-r--r--ebics/src/main/resources/xsd/camt.052.001.02.xsd1299
-rw-r--r--ebics/src/main/resources/xsd/camt.053.001.02.xsd1299
-rw-r--r--ebics/src/main/resources/xsd/camt.054.001.02.xsd1240
-rw-r--r--ebics/src/main/resources/xsd/ebics_H004.xsd11
-rw-r--r--ebics/src/main/resources/xsd/ebics_H005.xsd11
-rw-r--r--ebics/src/main/resources/xsd/ebics_hev.xsd135
-rw-r--r--ebics/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd543
-rw-r--r--ebics/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd523
-rw-r--r--ebics/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd137
-rw-r--r--ebics/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd137
-rw-r--r--ebics/src/main/resources/xsd/ebics_orders_H004.xsd1892
-rw-r--r--ebics/src/main/resources/xsd/ebics_orders_H005.xsd2094
-rw-r--r--ebics/src/main/resources/xsd/ebics_request_H004.xsd355
-rw-r--r--ebics/src/main/resources/xsd/ebics_request_H005.xsd349
-rw-r--r--ebics/src/main/resources/xsd/ebics_response_H004.xsd166
-rw-r--r--ebics/src/main/resources/xsd/ebics_response_H005.xsd167
-rw-r--r--ebics/src/main/resources/xsd/ebics_signature_S002.xsd177
-rw-r--r--ebics/src/main/resources/xsd/ebics_signatures.xsd217
-rw-r--r--ebics/src/main/resources/xsd/ebics_types_H004.xsd2426
-rw-r--r--ebics/src/main/resources/xsd/ebics_types_H005.xsd1885
-rw-r--r--ebics/src/main/resources/xsd/pain.001.001.03.ch.02.xsd1212
-rw-r--r--ebics/src/main/resources/xsd/pain.001.001.03.xsd922
-rw-r--r--ebics/src/main/resources/xsd/pain.001.001.09.ch.03.xsd1733
-rw-r--r--ebics/src/main/resources/xsd/pain.002.001.13.xsd1253
-rw-r--r--ebics/src/main/resources/xsd/xmldsig-core-schema.xsd318
-rw-r--r--ebics/src/test/kotlin/EbicsMessagesTest.kt (renamed from util/src/test/kotlin/EbicsMessagesTest.kt)12
-rw-r--r--ebics/src/test/kotlin/EbicsOrderUtilTest.kt (renamed from util/src/test/kotlin/EbicsOrderUtilTest.kt)6
-rw-r--r--ebics/src/test/kotlin/SignatureDataTest.kt (renamed from util/src/test/kotlin/SignatureDataTest.kt)8
-rw-r--r--ebics/src/test/kotlin/XmlCombinatorsTest.kt (renamed from util/src/test/kotlin/XmlCombinatorsTest.kt)4
-rw-r--r--ebics/src/test/kotlin/XmlUtilTest.kt (renamed from util/src/test/kotlin/XmlUtilTest.kt)14
-rw-r--r--ebics/src/test/resources/ebics_hev.xml4
-rw-r--r--ebics/src/test/resources/ebics_ini_inner_key.xml14
-rw-r--r--ebics/src/test/resources/ebics_ini_request_sample.xml25
-rw-r--r--ebics/src/test/resources/hia_request.xml26
-rw-r--r--ebics/src/test/resources/hia_request_order_data.xml23
-rw-r--r--ebics/src/test/resources/hpb_request.xml43
-rw-r--r--ebics/src/test/resources/signature1/doc.xml9
-rw-r--r--ebics/src/test/resources/signature1/public_key.txt1
-rw-r--r--nexus/build.gradle4
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Database.kt2
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt2
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt6
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSetup.kt8
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt2
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt3
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Log.kt2
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt6
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics2.kt6
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics3.kt10
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt5
-rw-r--r--nexus/src/test/kotlin/CliTest.kt2
-rw-r--r--nexus/src/test/kotlin/Common.kt2
-rw-r--r--nexus/src/test/kotlin/ConfigLoading.kt1
-rw-r--r--nexus/src/test/kotlin/DatabaseTest.kt2
-rw-r--r--nexus/src/test/kotlin/Ebics.kt4
-rw-r--r--nexus/src/test/kotlin/Keys.kt2
-rw-r--r--nexus/src/test/kotlin/MySerializers.kt4
-rw-r--r--nexus/src/test/kotlin/Parsing.kt6
-rw-r--r--settings.gradle5
-rw-r--r--testbench/build.gradle (renamed from integration/build.gradle)6
-rw-r--r--testbench/conf/integration.conf (renamed from integration/conf/integration.conf)0
-rw-r--r--testbench/conf/mini.conf (renamed from integration/conf/mini.conf)0
-rw-r--r--testbench/conf/netzbon.conf (renamed from integration/conf/netzbon.conf)0
-rw-r--r--testbench/conf/postfinance.conf (renamed from integration/conf/postfinance.conf)0
-rw-r--r--testbench/src/main/kotlin/Main.kt (renamed from integration/src/main/kotlin/Main.kt)5
-rw-r--r--testbench/src/test/kotlin/IntegrationTest.kt (renamed from integration/src/test/kotlin/IntegrationTest.kt)3
192 files changed, 20931 insertions, 233 deletions
diff --git a/.gitignore b/.gitignore
index 8d1b734f..d046aaa3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,8 @@
.idea/*
.vscode
-/nexus/bin/
-/sandbox/bin/
-/util/bin/
-nexus/libeufin-nexus-dev
nexus/test
-integration/test
-integration/config.json
-sandbox/libeufin-sandbox-dev
+testbench/test
+testbench/config.json
configure
build/
.gradle
@@ -26,7 +21,7 @@ __pycache__
*.log
.DS_Store
*.mk
-util/src/main/resources/version.txt
+common/src/main/resources/version.txt
debian/usr/share/libeufin/demobank-ui/index.js
debian/usr/share/libeufin/demobank-ui/*.html
debian/usr/share/libeufin/demobank-ui/*.css
diff --git a/Makefile b/Makefile
index e4c393f6..9a63ae7e 100644
--- a/Makefile
+++ b/Makefile
@@ -110,13 +110,13 @@ bank-test: install-nobuild-bank-files
nexus-test: install-nobuild-nexus-files
./gradlew :nexus:test --tests $(test) -i
-.PHONY: integration-test
-integration-test: install-nobuild-bank-files install-nobuild-nexus-files
- ./gradlew :integration:test --tests $(test) -i
+.PHONY: testbench-test
+testbench-test: install-nobuild-bank-files install-nobuild-nexus-files
+ ./gradlew :testbench:test --tests $(test) -i
-.PHONY: integration
-integration: install-nobuild-bank-files install-nobuild-nexus-files
- ./gradlew :integration:run --console=plain --args="$(test)"
+.PHONY: testbench
+testbench: install-nobuild-bank-files install-nobuild-nexus-files
+ ./gradlew :testbench:run --console=plain --args="$(platform)"
.PHONY: doc
doc:
diff --git a/bank/build.gradle b/bank/build.gradle
index fa43b2ae..1e9558ba 100644
--- a/bank/build.gradle
+++ b/bank/build.gradle
@@ -21,8 +21,7 @@ dependencies {
// Core language libraries
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
- // LibEuFin util library
- implementation(project(":util"))
+ implementation(project(":common"))
implementation("org.postgresql:postgresql:$postgres_version")
implementation("com.github.ajalt.clikt:clikt:$clikt_version")
@@ -41,7 +40,7 @@ dependencies {
testImplementation("org.jetbrains.kotlin:kotlin-test:$kotlin_version")
testImplementation("io.ktor:ktor-server-test-host:$ktor_version")
- testImplementation(project(":util"))
+ testImplementation(project(":common"))
}
application {
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/BankIntegrationApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/BankIntegrationApi.kt
index ae3419f4..be38286f 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/BankIntegrationApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/BankIntegrationApi.kt
@@ -26,7 +26,7 @@ import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import io.ktor.http.*
-import net.taler.common.errorcodes.TalerErrorCode
+import tech.libeufin.common.TalerErrorCode
import tech.libeufin.bank.db.*
import tech.libeufin.bank.db.WithdrawalDAO.*
import java.lang.AssertionError
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Config.kt b/bank/src/main/kotlin/tech/libeufin/bank/Config.kt
index 7ad7eca0..a1dd7711 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Config.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Config.kt
@@ -18,13 +18,10 @@
*/
package tech.libeufin.bank
-import tech.libeufin.util.*
-import ConfigSource
-import TalerConfig
-import TalerConfigError
+import tech.libeufin.common.*
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
-import tech.libeufin.util.DatabaseConfig
+import tech.libeufin.common.DatabaseConfig
/**
* Application the parsed configuration.
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt b/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt
index 07d23469..ef647112 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Constants.kt
@@ -18,7 +18,7 @@
*/
package tech.libeufin.bank
-import ConfigSource
+import tech.libeufin.common.*
import java.time.Duration
// Config
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/ConversionApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/ConversionApi.kt
index d9e88942..6707eff0 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/ConversionApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/ConversionApi.kt
@@ -24,11 +24,10 @@ import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import java.util.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.auth.*
import tech.libeufin.bank.db.ConversionDAO.*
import tech.libeufin.bank.db.*
-import net.taler.common.errorcodes.TalerErrorCode
fun Routing.conversionApi(db: Database, ctx: BankConfig) = conditional(ctx.allowConversion) {
get("/conversion-info/config") {
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
index 04616e88..099d4d82 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/CoreBankApi.kt
@@ -32,8 +32,6 @@ import kotlinx.serialization.json.Json
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.future.await
import kotlinx.coroutines.withContext
-import net.taler.common.errorcodes.TalerErrorCode
-import net.taler.wallet.crypto.Base32Crockford
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import tech.libeufin.bank.*
@@ -45,7 +43,7 @@ import tech.libeufin.bank.db.CashoutDAO.*
import tech.libeufin.bank.db.ExchangeDAO.*
import tech.libeufin.bank.db.TransactionDAO.*
import tech.libeufin.bank.db.WithdrawalDAO.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
private val logger: Logger = LoggerFactory.getLogger("libeufin-bank-api")
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Error.kt b/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
index 04c3881e..eacf6a08 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Error.kt
@@ -23,8 +23,7 @@ import io.ktor.server.response.*
import io.ktor.server.application.ApplicationCall
import io.ktor.util.AttributeKey
import kotlinx.serialization.Serializable
-import net.taler.common.errorcodes.TalerErrorCode
-import tech.libeufin.util.*
+import tech.libeufin.common.*
/**
* Convenience type to throw errors along the bank activity
* and that is meant to be caught by Ktor and responded to the
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
index 94f37ffc..c2f4e8b1 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
@@ -48,14 +48,13 @@ import java.io.File
import kotlinx.coroutines.*
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.slf4j.event.Level
import org.postgresql.util.PSQLState
import tech.libeufin.bank.db.AccountDAO.*
import tech.libeufin.bank.db.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
private val logger: Logger = LoggerFactory.getLogger("libeufin-bank")
// Dirty local variable to stop the server in test TODO remove this ugly hack
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Params.kt b/bank/src/main/kotlin/tech/libeufin/bank/Params.kt
index bdfa2dd8..7b3e53e8 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Params.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Params.kt
@@ -27,8 +27,7 @@ import io.ktor.server.util.*
import java.time.*
import java.time.temporal.*
import java.util.*
-import net.taler.common.errorcodes.TalerErrorCode
-import tech.libeufin.util.*
+import tech.libeufin.common.*
fun Parameters.expect(name: String): String
= get(name) ?: throw badRequest("Missing '$name' parameter", TalerErrorCode.GENERIC_PARAMETER_MISSING)
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/RevenueApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/RevenueApi.kt
index 4575b106..7200de47 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/RevenueApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/RevenueApi.kt
@@ -24,7 +24,7 @@ import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import java.util.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.auth.*
import tech.libeufin.bank.db.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/TalerCommon.kt b/bank/src/main/kotlin/tech/libeufin/bank/TalerCommon.kt
index 7fb310a6..40736d09 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/TalerCommon.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/TalerCommon.kt
@@ -19,7 +19,7 @@
package tech.libeufin.bank
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import io.ktor.http.*
import io.ktor.serialization.kotlinx.json.*
import io.ktor.server.application.*
@@ -33,9 +33,6 @@ import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
-import net.taler.wallet.crypto.Base32Crockford
-import net.taler.wallet.crypto.EncodingException
/** 32-byte Crockford's Base32 encoded data */
@Serializable(with = Base32Crockford32B.Serializer::class)
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt b/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt
index 576068d6..170881e4 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/TalerMessage.kt
@@ -19,12 +19,10 @@
package tech.libeufin.bank
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import io.ktor.http.*
import io.ktor.server.application.*
import kotlinx.serialization.*
-import net.taler.wallet.crypto.Base32Crockford
-import net.taler.wallet.crypto.EncodingException
import java.time.Duration
import java.time.Instant
import java.time.temporal.ChronoUnit
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt b/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
index fa376fd4..eba396a1 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApi.kt
@@ -28,7 +28,7 @@ import io.ktor.server.response.*
import io.ktor.server.routing.*
import io.ktor.util.pipeline.PipelineContext
import java.time.Instant
-import net.taler.common.errorcodes.TalerErrorCode
+import tech.libeufin.common.*
import tech.libeufin.bank.db.*
import tech.libeufin.bank.db.ExchangeDAO.*
import tech.libeufin.bank.auth.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/auth/auth.kt b/bank/src/main/kotlin/tech/libeufin/bank/auth/auth.kt
index 7898dad6..b7b5befe 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/auth/auth.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/auth/auth.kt
@@ -26,12 +26,10 @@ import io.ktor.server.response.header
import io.ktor.util.AttributeKey
import io.ktor.util.pipeline.PipelineContext
import java.time.Instant
-import net.taler.common.errorcodes.TalerErrorCode
-import net.taler.wallet.crypto.Base32Crockford
import tech.libeufin.bank.db.AccountDAO.*
import tech.libeufin.bank.db.*
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
/** Used to store if the currenly authenticated user is admin */
private val AUTH_IS_ADMIN = AttributeKey<Boolean>("is_admin");
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/AccountDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/AccountDAO.kt
index e9e30c52..5b7db6ad 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/AccountDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/AccountDAO.kt
@@ -19,7 +19,7 @@
package tech.libeufin.bank.db
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.time.*
import java.sql.Types
import tech.libeufin.bank.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/CashoutDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/CashoutDAO.kt
index a7950aa2..25e6ed61 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/CashoutDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/CashoutDAO.kt
@@ -22,7 +22,7 @@ package tech.libeufin.bank.db
import java.time.Duration
import java.time.Instant
import java.util.concurrent.TimeUnit
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.*
/** Data access logic for cashout operations */
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/ConversionDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/ConversionDAO.kt
index b2d521c7..fc46b91e 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/ConversionDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/ConversionDAO.kt
@@ -19,7 +19,7 @@
package tech.libeufin.bank.db
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.*
import tech.libeufin.bank.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/Database.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/Database.kt
index c1e39227..a0edbdec 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/Database.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/Database.kt
@@ -32,9 +32,8 @@ import java.util.concurrent.TimeUnit
import kotlin.math.abs
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import io.ktor.http.HttpStatusCode
-import net.taler.common.errorcodes.TalerErrorCode
import tech.libeufin.bank.*
private val logger: Logger = LoggerFactory.getLogger("libeufin-bank-db")
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/ExchangeDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/ExchangeDAO.kt
index 44cb272c..3339bae6 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/ExchangeDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/ExchangeDAO.kt
@@ -23,7 +23,7 @@ import java.util.UUID
import java.time.Instant
import java.time.Duration
import java.util.concurrent.TimeUnit
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.*
/** Data access logic for exchange specific logic */
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/NotificationWatcher.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/NotificationWatcher.kt
index c17ffb58..973423e1 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/NotificationWatcher.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/NotificationWatcher.kt
@@ -26,7 +26,7 @@ import kotlinx.coroutines.flow.*
import org.postgresql.ds.PGSimpleDataSource
import org.slf4j.Logger
import org.slf4j.LoggerFactory
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.*
private val logger: Logger = LoggerFactory.getLogger("libeufin-bank-db-watcher")
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/TanDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/TanDAO.kt
index 457d1216..3594b188 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/TanDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/TanDAO.kt
@@ -19,7 +19,7 @@
package tech.libeufin.bank.db
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.*
import tech.libeufin.bank.db.*
import java.util.concurrent.TimeUnit
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/TokenDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/TokenDAO.kt
index d3754938..92708308 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/TokenDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/TokenDAO.kt
@@ -19,7 +19,7 @@
package tech.libeufin.bank.db
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.time.Instant
import tech.libeufin.bank.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/TransactionDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/TransactionDAO.kt
index 9c21fd53..b4f5c025 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/TransactionDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/TransactionDAO.kt
@@ -21,7 +21,7 @@ package tech.libeufin.bank.db
import org.slf4j.Logger
import org.slf4j.LoggerFactory
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.time.*
import java.sql.Types
import tech.libeufin.bank.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/db/WithdrawalDAO.kt b/bank/src/main/kotlin/tech/libeufin/bank/db/WithdrawalDAO.kt
index 380263b4..13dcbff3 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/db/WithdrawalDAO.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/db/WithdrawalDAO.kt
@@ -23,7 +23,7 @@ import java.util.UUID
import java.time.Instant
import java.time.Duration
import java.util.concurrent.TimeUnit
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.*
import tech.libeufin.bank.*
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/helpers.kt b/bank/src/main/kotlin/tech/libeufin/bank/helpers.kt
index 47de2b15..16799103 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/helpers.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/helpers.kt
@@ -36,8 +36,7 @@ import java.net.*
import java.time.*
import java.time.temporal.*
import java.util.*
-import net.taler.common.errorcodes.TalerErrorCode
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import tech.libeufin.bank.db.*
import tech.libeufin.bank.db.AccountDAO.*
import tech.libeufin.bank.auth.*
diff --git a/bank/src/test/kotlin/AmountTest.kt b/bank/src/test/kotlin/AmountTest.kt
index 8f80b2b6..e23cdfda 100644
--- a/bank/src/test/kotlin/AmountTest.kt
+++ b/bank/src/test/kotlin/AmountTest.kt
@@ -26,8 +26,7 @@ import tech.libeufin.bank.*
import tech.libeufin.bank.db.*
import tech.libeufin.bank.db.TransactionDAO.*
import tech.libeufin.bank.db.WithdrawalDAO.*
-import tech.libeufin.util.*
-import net.taler.common.errorcodes.TalerErrorCode
+import tech.libeufin.common.*
class AmountTest {
// Test amount computation in database
diff --git a/bank/src/test/kotlin/BankIntegrationApiTest.kt b/bank/src/test/kotlin/BankIntegrationApiTest.kt
index ce6b46c7..d2205f21 100644
--- a/bank/src/test/kotlin/BankIntegrationApiTest.kt
+++ b/bank/src/test/kotlin/BankIntegrationApiTest.kt
@@ -26,11 +26,10 @@ import java.util.*
import kotlin.test.*
import kotlinx.coroutines.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
import org.junit.Test
import tech.libeufin.bank.*
import tech.libeufin.bank.db.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class BankIntegrationApiTest {
// GET /taler-integration/config
diff --git a/bank/src/test/kotlin/ConversionApiTest.kt b/bank/src/test/kotlin/ConversionApiTest.kt
index 14c826e3..a228705f 100644
--- a/bank/src/test/kotlin/ConversionApiTest.kt
+++ b/bank/src/test/kotlin/ConversionApiTest.kt
@@ -26,10 +26,9 @@ import java.util.*
import kotlin.test.*
import kotlinx.coroutines.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
import org.junit.Test
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class ConversionApiTest {
// GET /conversion-info/config
diff --git a/bank/src/test/kotlin/CoreBankApiTest.kt b/bank/src/test/kotlin/CoreBankApiTest.kt
index c9ecfa03..0df15208 100644
--- a/bank/src/test/kotlin/CoreBankApiTest.kt
+++ b/bank/src/test/kotlin/CoreBankApiTest.kt
@@ -30,12 +30,10 @@ import java.util.*
import kotlin.test.*
import kotlinx.coroutines.*
import kotlinx.serialization.json.JsonElement
-import net.taler.common.errorcodes.TalerErrorCode
-import net.taler.wallet.crypto.Base32Crockford
import org.junit.Test
import tech.libeufin.bank.*
import tech.libeufin.bank.db.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class CoreBankConfigTest {
// GET /config
diff --git a/bank/src/test/kotlin/DatabaseTest.kt b/bank/src/test/kotlin/DatabaseTest.kt
index de1e608f..f03e151c 100644
--- a/bank/src/test/kotlin/DatabaseTest.kt
+++ b/bank/src/test/kotlin/DatabaseTest.kt
@@ -30,7 +30,7 @@ import kotlinx.coroutines.*
import org.junit.Test
import tech.libeufin.bank.*
import tech.libeufin.bank.db.AccountDAO.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class DatabaseTest {
diff --git a/bank/src/test/kotlin/JsonTest.kt b/bank/src/test/kotlin/JsonTest.kt
index eb5904db..3a7e5f21 100644
--- a/bank/src/test/kotlin/JsonTest.kt
+++ b/bank/src/test/kotlin/JsonTest.kt
@@ -25,7 +25,7 @@ import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import org.junit.Test
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
@Serializable
data class MyJsonType(
diff --git a/bank/src/test/kotlin/SecurityTest.kt b/bank/src/test/kotlin/SecurityTest.kt
index c73140e2..b3c5f5ac 100644
--- a/bank/src/test/kotlin/SecurityTest.kt
+++ b/bank/src/test/kotlin/SecurityTest.kt
@@ -27,7 +27,7 @@ import kotlin.test.*
import kotlinx.coroutines.*
import org.junit.Test
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class SecurityTest {
@Test
diff --git a/bank/src/test/kotlin/StatsTest.kt b/bank/src/test/kotlin/StatsTest.kt
index 4198dbe4..1aa1979e 100644
--- a/bank/src/test/kotlin/StatsTest.kt
+++ b/bank/src/test/kotlin/StatsTest.kt
@@ -28,7 +28,7 @@ import java.util.*
import kotlin.test.*
import org.junit.Test
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class StatsTest {
@Test
diff --git a/bank/src/test/kotlin/WireGatewayApiTest.kt b/bank/src/test/kotlin/WireGatewayApiTest.kt
index 89c199ca..150de96a 100644
--- a/bank/src/test/kotlin/WireGatewayApiTest.kt
+++ b/bank/src/test/kotlin/WireGatewayApiTest.kt
@@ -25,10 +25,9 @@ import io.ktor.server.testing.*
import java.util.*
import kotlinx.coroutines.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
import org.junit.Test
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class WireGatewayApiTest {
// Testing the POST /transfer call from the TWG API.
diff --git a/bank/src/test/kotlin/helpers.kt b/bank/src/test/kotlin/helpers.kt
index 951d24f5..fac02408 100644
--- a/bank/src/test/kotlin/helpers.kt
+++ b/bank/src/test/kotlin/helpers.kt
@@ -29,12 +29,10 @@ import kotlin.test.*
import kotlin.random.Random
import kotlinx.coroutines.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
-import net.taler.wallet.crypto.Base32Crockford
import tech.libeufin.bank.*
import tech.libeufin.bank.db.*
import tech.libeufin.bank.db.AccountDAO.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
/* ----- Setup ----- */
diff --git a/bank/src/test/kotlin/routines.kt b/bank/src/test/kotlin/routines.kt
index 92fdfd9c..6618b157 100644
--- a/bank/src/test/kotlin/routines.kt
+++ b/bank/src/test/kotlin/routines.kt
@@ -18,7 +18,7 @@
*/
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import io.ktor.client.statement.HttpResponse
import io.ktor.server.testing.ApplicationTestBuilder
import io.ktor.client.request.*
@@ -26,7 +26,6 @@ import io.ktor.http.*
import kotlin.test.*
import kotlinx.coroutines.*
import kotlinx.serialization.json.*
-import net.taler.common.errorcodes.TalerErrorCode
// Test endpoint is correctly authenticated
suspend fun ApplicationTestBuilder.authRoutine(
diff --git a/build.gradle b/build.gradle
index 87891a99..35df956e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -52,7 +52,7 @@ task versionFile() {
}
def gitHash = stdout.toString().trim()
def version = getRootProject().version
- new File("${projectDir}/util/src/main/resources", "version.txt").text = "v$version-git-$gitHash"
+ new File("${projectDir}/common/src/main/resources", "version.txt").text = "v$version-git-$gitHash"
}
// See: https://stackoverflow.com/questions/24936781/gradle-plugin-project-version-number
diff --git a/util/build.gradle b/common/build.gradle
index 52e5e8c0..79b7fda3 100644
--- a/util/build.gradle
+++ b/common/build.gradle
@@ -1,7 +1,4 @@
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
plugins {
- id("java")
id("kotlin")
id("org.jetbrains.kotlin.plugin.serialization") version "$kotlin_version"
}
@@ -20,10 +17,6 @@ sourceSets.main.java.srcDirs = ["src/main/kotlin"]
dependencies {
implementation("ch.qos.logback:logback-classic:1.4.5")
- // XML Stuff
- implementation("javax.xml.bind:jaxb-api:2.3.1")
- implementation("org.glassfish.jaxb:jaxb-runtime:2.3.1")
- implementation("org.apache.santuario:xmlsec:2.2.2")
// Crypto
implementation("org.bouncycastle:bcprov-jdk15on:1.69")
// Database helper
diff --git a/common/import.py b/common/import.py
new file mode 100644
index 00000000..769f1a3d
--- /dev/null
+++ b/common/import.py
@@ -0,0 +1,66 @@
+# Update EBICS constants file using latest external code sets files
+
+import requests
+from zipfile import ZipFile
+from io import BytesIO
+import polars as pl
+
+# Get XLSX zip file from server
+r = requests.get(
+ "https://www.iso20022.org/sites/default/files/media/file/ExternalCodeSets_XLSX.zip"
+)
+assert r.status_code == 200
+
+# Unzip the XLSX file
+zip = ZipFile(BytesIO(r.content))
+files = zip.namelist()
+assert len(files) == 1
+file = zip.open(files[0])
+
+# Parse excel
+df = pl.read_excel(file, sheet_name="AllCodeSets")
+
+def extractCodeSet(setName: str, className: str) -> str:
+ out = f"enum class {className}(val isoCode: String, val description: String) {{"
+
+ for row in df.filter(pl.col("Code Set") == setName).sort("Code Value").rows(named=True):
+ (value, isoCode, description) = (
+ row["Code Value"],
+ row["Code Name"],
+ row["Code Definition"].split("\n", 1)[0].strip(),
+ )
+ out += f'\n\t{value}("{isoCode}", "{description}"),'
+
+ out += "\n}"
+ return out
+
+# Write kotlin file
+kt = f"""/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2024 Taler Systems S.A.
+
+ * LibEuFin is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation; either version 3, or
+ * (at your option) any later version.
+
+ * LibEuFin is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+ * Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public
+ * License along with LibEuFin; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>
+ */
+
+// THIS FILE IS GENERATED, DO NOT EDIT
+
+package tech.libeufin.common
+
+{extractCodeSet("ExternalStatusReason1Code", "ExternalStatusReasonCode")}
+
+{extractCodeSet("ExternalPaymentGroupStatus1Code", "ExternalPaymentGroupStatusCode")}
+"""
+with open("src/main/kotlin/EbicsCodeSets.kt", "w") as file1:
+ file1.write(kt)
diff --git a/util/src/main/kotlin/Backoff.kt b/common/src/main/kotlin/Backoff.kt
index db31e266..fdbc358f 100644
--- a/util/src/main/kotlin/Backoff.kt
+++ b/common/src/main/kotlin/Backoff.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import kotlin.random.Random
diff --git a/util/src/main/kotlin/Cli.kt b/common/src/main/kotlin/Cli.kt
index 0c1803f5..d0a61e7e 100644
--- a/util/src/main/kotlin/Cli.kt
+++ b/common/src/main/kotlin/Cli.kt
@@ -17,11 +17,8 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
-import ConfigSource
-import TalerConfig
-import TalerConfigError
import com.github.ajalt.clikt.core.*
import com.github.ajalt.clikt.parameters.types.*
import com.github.ajalt.clikt.parameters.arguments.*
diff --git a/util/src/main/kotlin/Client.kt b/common/src/main/kotlin/Client.kt
index 3ffbdbeb..b65f59db 100644
--- a/util/src/main/kotlin/Client.kt
+++ b/common/src/main/kotlin/Client.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import io.ktor.http.*
import kotlinx.serialization.json.*
@@ -26,7 +26,6 @@ import io.ktor.client.statement.*
import java.io.ByteArrayOutputStream
import java.util.zip.DeflaterOutputStream
import kotlin.test.assertEquals
-import net.taler.common.errorcodes.TalerErrorCode
/* ----- Json DSL ----- */
diff --git a/util/src/main/kotlin/Config.kt b/common/src/main/kotlin/Config.kt
index 124a9db8..95496839 100644
--- a/util/src/main/kotlin/Config.kt
+++ b/common/src/main/kotlin/Config.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import ch.qos.logback.core.util.Loader
diff --git a/util/src/main/kotlin/Constants.kt b/common/src/main/kotlin/Constants.kt
index 3411323d..054011d4 100644
--- a/util/src/main/kotlin/Constants.kt
+++ b/common/src/main/kotlin/Constants.kt
@@ -16,7 +16,7 @@
* License along with LibEuFin; see the file COPYING. If not, see
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
// DB
const val MIN_VERSION: Int = 14
diff --git a/util/src/main/kotlin/CryptoUtil.kt b/common/src/main/kotlin/CryptoUtil.kt
index 923e84da..bcf19ae1 100644
--- a/util/src/main/kotlin/CryptoUtil.kt
+++ b/common/src/main/kotlin/CryptoUtil.kt
@@ -17,9 +17,8 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
-import net.taler.wallet.crypto.Base32Crockford
import org.bouncycastle.jce.provider.BouncyCastleProvider
import java.io.ByteArrayOutputStream
import java.math.BigInteger
diff --git a/util/src/main/kotlin/DB.kt b/common/src/main/kotlin/DB.kt
index 6575e998..5707bd7f 100644
--- a/util/src/main/kotlin/DB.kt
+++ b/common/src/main/kotlin/DB.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import org.postgresql.ds.PGSimpleDataSource
import org.postgresql.jdbc.PgConnection
diff --git a/util/src/main/kotlin/Encoding.kt b/common/src/main/kotlin/Encoding.kt
index dc76ffeb..cef7b0c0 100644
--- a/util/src/main/kotlin/Encoding.kt
+++ b/common/src/main/kotlin/Encoding.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package net.taler.wallet.crypto
+package tech.libeufin.common
import java.io.ByteArrayOutputStream
diff --git a/util/src/main/kotlin/HTTP.kt b/common/src/main/kotlin/HTTP.kt
index 5b194283..3ba10dcf 100644
--- a/util/src/main/kotlin/HTTP.kt
+++ b/common/src/main/kotlin/HTTP.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import io.ktor.http.*
import io.ktor.server.application.*
diff --git a/util/src/main/kotlin/IbanPayto.kt b/common/src/main/kotlin/IbanPayto.kt
index b1712258..d3ab7576 100644
--- a/util/src/main/kotlin/IbanPayto.kt
+++ b/common/src/main/kotlin/IbanPayto.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import org.slf4j.Logger
import org.slf4j.LoggerFactory
diff --git a/util/src/main/kotlin/TalerCommon.kt b/common/src/main/kotlin/TalerCommon.kt
index d2b409c2..96d20a86 100644
--- a/util/src/main/kotlin/TalerCommon.kt
+++ b/common/src/main/kotlin/TalerCommon.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
diff --git a/util/src/main/kotlin/TalerConfig.kt b/common/src/main/kotlin/TalerConfig.kt
index b9435d19..a45b33e8 100644
--- a/util/src/main/kotlin/TalerConfig.kt
+++ b/common/src/main/kotlin/TalerConfig.kt
@@ -17,6 +17,8 @@
* <http://www.gnu.org/licenses/>
*/
+package tech.libeufin.common
+
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.io.File
diff --git a/util/src/main/kotlin/TalerErrorCode.kt b/common/src/main/kotlin/TalerErrorCode.kt
index ff1e6af8..e37f2eb5 100644
--- a/util/src/main/kotlin/TalerErrorCode.kt
+++ b/common/src/main/kotlin/TalerErrorCode.kt
@@ -20,7 +20,7 @@
Note: the LGPL does not apply to all components of GNU Taler,
but it does apply to this file.
*/
-package net.taler.common.errorcodes
+package tech.libeufin.common
enum class TalerErrorCode(val code: Int) {
diff --git a/util/src/main/kotlin/iban.kt b/common/src/main/kotlin/iban.kt
index 00c635ac..499ad8e7 100644
--- a/util/src/main/kotlin/iban.kt
+++ b/common/src/main/kotlin/iban.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
fun getIban(): String {
val ccNoCheck = "131400" // DE00
diff --git a/util/src/main/kotlin/strings.kt b/common/src/main/kotlin/strings.kt
index 43639cd5..7dc10d1e 100644
--- a/util/src/main/kotlin/strings.kt
+++ b/common/src/main/kotlin/strings.kt
@@ -17,9 +17,8 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
-import net.taler.wallet.crypto.Base32Crockford
import java.math.BigInteger
import java.util.*
diff --git a/util/src/main/kotlin/time.kt b/common/src/main/kotlin/time.kt
index d1ed8b21..fee05d01 100644
--- a/util/src/main/kotlin/time.kt
+++ b/common/src/main/kotlin/time.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.common
import org.slf4j.Logger
import org.slf4j.LoggerFactory
diff --git a/util/src/main/resources/xsd/camt.052.001.02.xsd b/common/src/main/resources/xsd/camt.052.001.02.xsd
index 52abd831..52abd831 100644
--- a/util/src/main/resources/xsd/camt.052.001.02.xsd
+++ b/common/src/main/resources/xsd/camt.052.001.02.xsd
diff --git a/util/src/main/resources/xsd/camt.053.001.02.xsd b/common/src/main/resources/xsd/camt.053.001.02.xsd
index 0dc3b77e..0dc3b77e 100644
--- a/util/src/main/resources/xsd/camt.053.001.02.xsd
+++ b/common/src/main/resources/xsd/camt.053.001.02.xsd
diff --git a/util/src/main/resources/xsd/camt.054.001.02.xsd b/common/src/main/resources/xsd/camt.054.001.02.xsd
index b284c6dd..b284c6dd 100644
--- a/util/src/main/resources/xsd/camt.054.001.02.xsd
+++ b/common/src/main/resources/xsd/camt.054.001.02.xsd
diff --git a/util/src/main/resources/xsd/ebics_H004.xsd b/common/src/main/resources/xsd/ebics_H004.xsd
index c5f7ec2c..c5f7ec2c 100644
--- a/util/src/main/resources/xsd/ebics_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_H005.xsd b/common/src/main/resources/xsd/ebics_H005.xsd
index 149bf263..149bf263 100644
--- a/util/src/main/resources/xsd/ebics_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_hev.xsd b/common/src/main/resources/xsd/ebics_hev.xsd
index 8ee84587..8ee84587 100644
--- a/util/src/main/resources/xsd/ebics_hev.xsd
+++ b/common/src/main/resources/xsd/ebics_hev.xsd
diff --git a/util/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd b/common/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd
index 4a3d2b0b..4a3d2b0b 100644
--- a/util/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd b/common/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
index cb93d3c4..cb93d3c4 100644
--- a/util/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd b/common/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd
index 6de6984f..6de6984f 100644
--- a/util/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd b/common/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
index dfc33909..dfc33909 100644
--- a/util/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_orders_H004.xsd b/common/src/main/resources/xsd/ebics_orders_H004.xsd
index dfb3914b..dfb3914b 100644
--- a/util/src/main/resources/xsd/ebics_orders_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_orders_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_orders_H005.xsd b/common/src/main/resources/xsd/ebics_orders_H005.xsd
index 30db1213..30db1213 100644
--- a/util/src/main/resources/xsd/ebics_orders_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_orders_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_request_H004.xsd b/common/src/main/resources/xsd/ebics_request_H004.xsd
index efae61d9..efae61d9 100644
--- a/util/src/main/resources/xsd/ebics_request_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_request_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_request_H005.xsd b/common/src/main/resources/xsd/ebics_request_H005.xsd
index dc7ad70a..dc7ad70a 100644
--- a/util/src/main/resources/xsd/ebics_request_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_request_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_response_H004.xsd b/common/src/main/resources/xsd/ebics_response_H004.xsd
index f14ff99b..f14ff99b 100644
--- a/util/src/main/resources/xsd/ebics_response_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_response_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_response_H005.xsd b/common/src/main/resources/xsd/ebics_response_H005.xsd
index 841286b7..841286b7 100644
--- a/util/src/main/resources/xsd/ebics_response_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_response_H005.xsd
diff --git a/util/src/main/resources/xsd/ebics_signature_S002.xsd b/common/src/main/resources/xsd/ebics_signature_S002.xsd
index 3127faa7..3127faa7 100644
--- a/util/src/main/resources/xsd/ebics_signature_S002.xsd
+++ b/common/src/main/resources/xsd/ebics_signature_S002.xsd
diff --git a/util/src/main/resources/xsd/ebics_signatures.xsd b/common/src/main/resources/xsd/ebics_signatures.xsd
index 79abed9b..79abed9b 100644
--- a/util/src/main/resources/xsd/ebics_signatures.xsd
+++ b/common/src/main/resources/xsd/ebics_signatures.xsd
diff --git a/util/src/main/resources/xsd/ebics_types_H004.xsd b/common/src/main/resources/xsd/ebics_types_H004.xsd
index 461e377d..461e377d 100644
--- a/util/src/main/resources/xsd/ebics_types_H004.xsd
+++ b/common/src/main/resources/xsd/ebics_types_H004.xsd
diff --git a/util/src/main/resources/xsd/ebics_types_H005.xsd b/common/src/main/resources/xsd/ebics_types_H005.xsd
index ea13f06b..ea13f06b 100644
--- a/util/src/main/resources/xsd/ebics_types_H005.xsd
+++ b/common/src/main/resources/xsd/ebics_types_H005.xsd
diff --git a/util/src/main/resources/xsd/pain.001.001.03.ch.02.xsd b/common/src/main/resources/xsd/pain.001.001.03.ch.02.xsd
index b8ecce02..b8ecce02 100644
--- a/util/src/main/resources/xsd/pain.001.001.03.ch.02.xsd
+++ b/common/src/main/resources/xsd/pain.001.001.03.ch.02.xsd
diff --git a/util/src/main/resources/xsd/pain.001.001.03.xsd b/common/src/main/resources/xsd/pain.001.001.03.xsd
index 60cd5d71..60cd5d71 100644
--- a/util/src/main/resources/xsd/pain.001.001.03.xsd
+++ b/common/src/main/resources/xsd/pain.001.001.03.xsd
diff --git a/util/src/main/resources/xsd/pain.001.001.09.ch.03.xsd b/common/src/main/resources/xsd/pain.001.001.09.ch.03.xsd
index f12da93c..f12da93c 100644
--- a/util/src/main/resources/xsd/pain.001.001.09.ch.03.xsd
+++ b/common/src/main/resources/xsd/pain.001.001.09.ch.03.xsd
diff --git a/util/src/main/resources/xsd/pain.002.001.13.xsd b/common/src/main/resources/xsd/pain.002.001.13.xsd
index 01d18ba4..01d18ba4 100644
--- a/util/src/main/resources/xsd/pain.002.001.13.xsd
+++ b/common/src/main/resources/xsd/pain.002.001.13.xsd
diff --git a/util/src/main/resources/xsd/xmldsig-core-schema.xsd b/common/src/main/resources/xsd/xmldsig-core-schema.xsd
index 3c397a63..3c397a63 100644
--- a/util/src/main/resources/xsd/xmldsig-core-schema.xsd
+++ b/common/src/main/resources/xsd/xmldsig-core-schema.xsd
diff --git a/util/src/test/kotlin/AmountTest.kt b/common/src/test/kotlin/AmountTest.kt
index 05cd271d..ccd836aa 100644
--- a/util/src/test/kotlin/AmountTest.kt
+++ b/common/src/test/kotlin/AmountTest.kt
@@ -21,7 +21,7 @@ import java.time.Instant
import java.util.*
import kotlin.test.*
import org.junit.Test
-import tech.libeufin.util.*
+import tech.libeufin.common.*
class AmountTest {
@Test
diff --git a/util/src/test/kotlin/CryptoUtilTest.kt b/common/src/test/kotlin/CryptoUtilTest.kt
index d29a9fa9..09f17fca 100644
--- a/util/src/test/kotlin/CryptoUtilTest.kt
+++ b/common/src/test/kotlin/CryptoUtilTest.kt
@@ -17,10 +17,9 @@
* <http://www.gnu.org/licenses/>
*/
-import net.taler.wallet.crypto.Base32Crockford
import org.junit.Ignore
import org.junit.Test
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.io.File
import java.security.KeyPairGenerator
import java.security.interfaces.RSAPrivateCrtKey
diff --git a/util/src/test/kotlin/PaytoTest.kt b/common/src/test/kotlin/PaytoTest.kt
index ff075b58..a18dafe0 100644
--- a/util/src/test/kotlin/PaytoTest.kt
+++ b/common/src/test/kotlin/PaytoTest.kt
@@ -18,8 +18,8 @@
*/
import org.junit.Test
-import tech.libeufin.util.IbanPayto
-import tech.libeufin.util.parsePayto
+import tech.libeufin.common.IbanPayto
+import tech.libeufin.common.parsePayto
class PaytoTest {
diff --git a/util/src/test/kotlin/TalerConfigTest.kt b/common/src/test/kotlin/TalerConfigTest.kt
index 7e51076d..024ca460 100644
--- a/util/src/test/kotlin/TalerConfigTest.kt
+++ b/common/src/test/kotlin/TalerConfigTest.kt
@@ -19,6 +19,7 @@
import org.junit.Test
import kotlin.test.assertEquals
+import tech.libeufin.common.*
class TalerConfigTest {
diff --git a/util/src/test/kotlin/TimeTest.kt b/common/src/test/kotlin/TimeTest.kt
index 284e46d4..090843af 100644
--- a/util/src/test/kotlin/TimeTest.kt
+++ b/common/src/test/kotlin/TimeTest.kt
@@ -18,8 +18,8 @@
*/
import org.junit.Test
-import tech.libeufin.util.maxTimestamp
-import tech.libeufin.util.minTimestamp
+import tech.libeufin.common.maxTimestamp
+import tech.libeufin.common.minTimestamp
import java.time.Instant
import java.time.temporal.ChronoUnit
import kotlin.test.assertEquals
diff --git a/util/src/test/resources/ebics_hev.xml b/common/src/test/resources/ebics_hev.xml
index 9f4598fe..9f4598fe 100644
--- a/util/src/test/resources/ebics_hev.xml
+++ b/common/src/test/resources/ebics_hev.xml
diff --git a/util/src/test/resources/ebics_ini_inner_key.xml b/common/src/test/resources/ebics_ini_inner_key.xml
index 7e199f4f..7e199f4f 100644
--- a/util/src/test/resources/ebics_ini_inner_key.xml
+++ b/common/src/test/resources/ebics_ini_inner_key.xml
diff --git a/util/src/test/resources/ebics_ini_request_sample.xml b/common/src/test/resources/ebics_ini_request_sample.xml
index a9237a91..a9237a91 100644
--- a/util/src/test/resources/ebics_ini_request_sample.xml
+++ b/common/src/test/resources/ebics_ini_request_sample.xml
diff --git a/util/src/test/resources/hia_request.xml b/common/src/test/resources/hia_request.xml
index 0089a363..0089a363 100644
--- a/util/src/test/resources/hia_request.xml
+++ b/common/src/test/resources/hia_request.xml
diff --git a/util/src/test/resources/hia_request_order_data.xml b/common/src/test/resources/hia_request_order_data.xml
index cd1f4e4f..cd1f4e4f 100644
--- a/util/src/test/resources/hia_request_order_data.xml
+++ b/common/src/test/resources/hia_request_order_data.xml
diff --git a/util/src/test/resources/hpb_request.xml b/common/src/test/resources/hpb_request.xml
index 3a630fdd..3a630fdd 100644
--- a/util/src/test/resources/hpb_request.xml
+++ b/common/src/test/resources/hpb_request.xml
diff --git a/util/src/test/resources/signature1/doc.xml b/common/src/test/resources/signature1/doc.xml
index 271f8429..271f8429 100644
--- a/util/src/test/resources/signature1/doc.xml
+++ b/common/src/test/resources/signature1/doc.xml
diff --git a/util/src/test/resources/signature1/public_key.txt b/common/src/test/resources/signature1/public_key.txt
index 6d52df58..6d52df58 100644
--- a/util/src/test/resources/signature1/public_key.txt
+++ b/common/src/test/resources/signature1/public_key.txt
diff --git a/ebics/build.gradle b/ebics/build.gradle
new file mode 100644
index 00000000..dbd9b36a
--- /dev/null
+++ b/ebics/build.gradle
@@ -0,0 +1,29 @@
+plugins {
+ id("java")
+ id("kotlin")
+}
+
+version = rootProject.version
+
+java {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+}
+
+compileKotlin.kotlinOptions.jvmTarget = "17"
+compileTestKotlin.kotlinOptions.jvmTarget = "17"
+
+sourceSets.main.java.srcDirs = ["src/main/kotlin"]
+
+dependencies {
+ implementation(project(":common"))
+
+ implementation("ch.qos.logback:logback-classic:1.4.5")
+ // XML Stuff
+ implementation("javax.xml.bind:jaxb-api:2.3.1")
+ implementation("org.glassfish.jaxb:jaxb-runtime:2.3.1")
+ implementation("org.apache.santuario:xmlsec:2.2.2")
+
+ implementation("io.ktor:ktor-http:$ktor_version")
+ implementation("org.jetbrains.kotlin:kotlin-test:$kotlin_version")
+} \ No newline at end of file
diff --git a/util/import.py b/ebics/import.py
index e1389052..f9e90e10 100644
--- a/util/import.py
+++ b/ebics/import.py
@@ -56,7 +56,7 @@ kt = f"""/*
// THIS FILE IS GENERATED, DO NOT EDIT
-package tech.libeufin.util
+package tech.libeufin.ebics
{extractCodeSet("ExternalStatusReason1Code", "ExternalStatusReasonCode")}
diff --git a/util/src/main/kotlin/Ebics.kt b/ebics/src/main/kotlin/Ebics.kt
index b0b45197..558ceaee 100644
--- a/util/src/main/kotlin/Ebics.kt
+++ b/ebics/src/main/kotlin/Ebics.kt
@@ -22,12 +22,13 @@
* used to implement both an EBICS server and EBICS client.
*/
-package tech.libeufin.util
+package tech.libeufin.ebics
+import tech.libeufin.common.CryptoUtil
import io.ktor.http.HttpStatusCode
-import tech.libeufin.util.ebics_h004.*
-import tech.libeufin.util.ebics_h005.Ebics3Response
-import tech.libeufin.util.ebics_s001.UserSignatureData
+import tech.libeufin.ebics.ebics_h004.*
+import tech.libeufin.ebics.ebics_h005.Ebics3Response
+import tech.libeufin.ebics.ebics_s001.UserSignatureData
import java.security.SecureRandom
import java.security.interfaces.RSAPrivateCrtKey
import java.security.interfaces.RSAPublicKey
@@ -173,14 +174,14 @@ fun signOrderEbics3(
signKey: RSAPrivateCrtKey,
partnerId: String,
userId: String
-): tech.libeufin.util.ebics_s002.UserSignatureDataEbics3 {
+): tech.libeufin.ebics.ebics_s002.UserSignatureDataEbics3 {
val ES_signature = CryptoUtil.signEbicsA006(
CryptoUtil.digestEbicsOrderA006(orderBlob),
signKey
)
- val userSignatureData = tech.libeufin.util.ebics_s002.UserSignatureDataEbics3().apply {
+ val userSignatureData = tech.libeufin.ebics.ebics_s002.UserSignatureDataEbics3().apply {
orderSignatureList = listOf(
- tech.libeufin.util.ebics_s002.UserSignatureDataEbics3.OrderSignatureData().apply {
+ tech.libeufin.ebics.ebics_s002.UserSignatureDataEbics3.OrderSignatureData().apply {
signatureVersion = "A006"
signatureValue = ES_signature
partnerID = partnerId
diff --git a/util/src/main/kotlin/EbicsCodeSets.kt b/ebics/src/main/kotlin/EbicsCodeSets.kt
index 4e0f95da..5f8b2b08 100644
--- a/util/src/main/kotlin/EbicsCodeSets.kt
+++ b/ebics/src/main/kotlin/EbicsCodeSets.kt
@@ -19,7 +19,7 @@
// THIS FILE IS GENERATED, DO NOT EDIT
-package tech.libeufin.util
+package tech.libeufin.ebics
enum class ExternalStatusReasonCode(val isoCode: String, val description: String) {
AB01("AbortedClearingTimeout", "Clearing process aborted due to timeout."),
diff --git a/util/src/main/kotlin/EbicsOrderUtil.kt b/ebics/src/main/kotlin/EbicsOrderUtil.kt
index a7090295..ef7ed1f7 100644
--- a/util/src/main/kotlin/EbicsOrderUtil.kt
+++ b/ebics/src/main/kotlin/EbicsOrderUtil.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.ebics
import java.lang.IllegalArgumentException
import java.security.SecureRandom
@@ -50,6 +50,7 @@ object EbicsOrderUtil {
}
}
+ @kotlin.ExperimentalStdlibApi
fun generateTransactionId(): String {
val rng = SecureRandom()
val res = ByteArray(16)
diff --git a/util/src/main/kotlin/XMLUtil.kt b/ebics/src/main/kotlin/XMLUtil.kt
index c0fe0638..c294b7ef 100644
--- a/util/src/main/kotlin/XMLUtil.kt
+++ b/ebics/src/main/kotlin/XMLUtil.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.ebics
import com.sun.xml.bind.marshaller.NamespacePrefixMapper
import io.ktor.http.*
@@ -32,7 +32,7 @@ import org.xml.sax.ErrorHandler
import org.xml.sax.InputSource
import org.xml.sax.SAXException
import org.xml.sax.SAXParseException
-import tech.libeufin.util.ebics_h004.EbicsResponse
+import tech.libeufin.ebics.ebics_h004.EbicsResponse
import java.io.*
import java.security.PrivateKey
import java.security.PublicKey
diff --git a/util/src/main/kotlin/XmlCombinators.kt b/ebics/src/main/kotlin/XmlCombinators.kt
index 3d154e96..d9cc77b2 100644
--- a/util/src/main/kotlin/XmlCombinators.kt
+++ b/ebics/src/main/kotlin/XmlCombinators.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util
+package tech.libeufin.ebics
import com.sun.xml.txw2.output.IndentingXMLStreamWriter
import org.w3c.dom.Document
diff --git a/util/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt b/ebics/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt
index 6db6eab4..74d99c94 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsKeyManagementResponse.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt b/ebics/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt
index 34bfc8b2..2330ca0b 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsNpkdRequest.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import org.apache.xml.security.binding.xmldsig.SignatureType
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt b/ebics/src/main/kotlin/ebics_h004/EbicsRequest.kt
index e221a502..263fb71a 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsRequest.kt
@@ -1,7 +1,7 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import org.apache.xml.security.binding.xmldsig.SignatureType
-import tech.libeufin.util.CryptoUtil
+import tech.libeufin.common.CryptoUtil
import java.math.BigInteger
import java.security.interfaces.RSAPublicKey
import java.util.*
diff --git a/util/src/main/kotlin/ebics_h004/EbicsResponse.kt b/ebics/src/main/kotlin/ebics_h004/EbicsResponse.kt
index d0a88ae5..57841e28 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsResponse.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsResponse.kt
@@ -1,9 +1,9 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import org.apache.xml.security.binding.xmldsig.SignatureType
import org.apache.xml.security.binding.xmldsig.SignedInfoType
-import tech.libeufin.util.CryptoUtil
-import tech.libeufin.util.XMLUtil
+import tech.libeufin.common.CryptoUtil
+import tech.libeufin.ebics.XMLUtil
import java.math.BigInteger
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h004/EbicsTypes.kt b/ebics/src/main/kotlin/ebics_h004/EbicsTypes.kt
index 1713684a..7451607f 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsTypes.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsTypes.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
import org.w3c.dom.Element
diff --git a/util/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt b/ebics/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt
index efef020c..fbb60acd 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt
+++ b/ebics/src/main/kotlin/ebics_h004/EbicsUnsecuredRequest.kt
@@ -1,8 +1,8 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
-import tech.libeufin.util.EbicsOrderUtil
-import tech.libeufin.util.ebics_s001.SignatureTypes
+import tech.libeufin.ebics.EbicsOrderUtil
+import tech.libeufin.ebics.ebics_s001.SignatureTypes
import java.security.interfaces.RSAPrivateCrtKey
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h004/HIARequestOrderData.kt b/ebics/src/main/kotlin/ebics_h004/HIARequestOrderData.kt
index 95bd2b18..6268099b 100644
--- a/util/src/main/kotlin/ebics_h004/HIARequestOrderData.kt
+++ b/ebics/src/main/kotlin/ebics_h004/HIARequestOrderData.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt b/ebics/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt
index 999fe94c..c3e4b706 100644
--- a/util/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt
+++ b/ebics/src/main/kotlin/ebics_h004/HKDResponseOrderData.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import java.security.Permission
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt b/ebics/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt
index 9c380478..65b4098b 100644
--- a/util/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt
+++ b/ebics/src/main/kotlin/ebics_h004/HPBResponseOrderData.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt b/ebics/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt
index 4162379b..46954355 100644
--- a/util/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt
+++ b/ebics/src/main/kotlin/ebics_h004/HTDResponseOrderData.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.ebics.ebics_h004
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_h004/package-info.java b/ebics/src/main/kotlin/ebics_h004/package-info.java
index 662a1605..d12a4727 100644
--- a/util/src/main/kotlin/ebics_h004/package-info.java
+++ b/ebics/src/main/kotlin/ebics_h004/package-info.java
@@ -7,6 +7,6 @@
namespace = "urn:org:ebics:H004",
elementFormDefault = XmlNsForm.QUALIFIED
)
-package tech.libeufin.util.ebics_h004;
+package tech.libeufin.ebics.ebics_h004;
import javax.xml.bind.annotation.XmlSchema;
import javax.xml.bind.annotation.XmlNsForm; \ No newline at end of file
diff --git a/util/src/main/kotlin/ebics_h005/Ebics3Request.kt b/ebics/src/main/kotlin/ebics_h005/Ebics3Request.kt
index f46c38f1..54987c8b 100644
--- a/util/src/main/kotlin/ebics_h005/Ebics3Request.kt
+++ b/ebics/src/main/kotlin/ebics_h005/Ebics3Request.kt
@@ -1,7 +1,7 @@
-package tech.libeufin.util.ebics_h005
+package tech.libeufin.ebics.ebics_h005
import org.apache.xml.security.binding.xmldsig.SignatureType
-import tech.libeufin.util.CryptoUtil
+import tech.libeufin.common.CryptoUtil
import java.math.BigInteger
import java.security.interfaces.RSAPublicKey
import java.util.*
diff --git a/util/src/main/kotlin/ebics_h005/Ebics3Response.kt b/ebics/src/main/kotlin/ebics_h005/Ebics3Response.kt
index f22c0b85..12bf8a11 100644
--- a/util/src/main/kotlin/ebics_h005/Ebics3Response.kt
+++ b/ebics/src/main/kotlin/ebics_h005/Ebics3Response.kt
@@ -1,10 +1,10 @@
-package tech.libeufin.util.ebics_h005
+package tech.libeufin.ebics.ebics_h005
import org.apache.xml.security.binding.xmldsig.SignatureType
import org.apache.xml.security.binding.xmldsig.SignedInfoType
-import tech.libeufin.util.CryptoUtil
-import tech.libeufin.util.XMLUtil
-import tech.libeufin.util.ebics_h004.EbicsTypes
+import tech.libeufin.common.CryptoUtil
+import tech.libeufin.ebics.XMLUtil
+import tech.libeufin.ebics.ebics_h004.EbicsTypes
import java.math.BigInteger
import javax.xml.bind.annotation.*
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
diff --git a/util/src/main/kotlin/ebics_h005/Ebics3Types.kt b/ebics/src/main/kotlin/ebics_h005/Ebics3Types.kt
index 2bb0659a..298dc655 100644
--- a/util/src/main/kotlin/ebics_h005/Ebics3Types.kt
+++ b/ebics/src/main/kotlin/ebics_h005/Ebics3Types.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util.ebics_h005
+package tech.libeufin.ebics.ebics_h005
import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
import org.w3c.dom.Element
diff --git a/util/src/main/kotlin/ebics_h005/package-info.java b/ebics/src/main/kotlin/ebics_h005/package-info.java
index 6f65a4b2..42b565b7 100644
--- a/util/src/main/kotlin/ebics_h005/package-info.java
+++ b/ebics/src/main/kotlin/ebics_h005/package-info.java
@@ -7,7 +7,7 @@
namespace = "urn:org:ebics:H005",
elementFormDefault = XmlNsForm.QUALIFIED
)
-package tech.libeufin.util.ebics_h005;
+package tech.libeufin.ebics.ebics_h005;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema; \ No newline at end of file
diff --git a/util/src/main/kotlin/ebics_hev/EbicsMessages.kt b/ebics/src/main/kotlin/ebics_hev/EbicsMessages.kt
index 0d4302b3..506ba9fa 100644
--- a/util/src/main/kotlin/ebics_hev/EbicsMessages.kt
+++ b/ebics/src/main/kotlin/ebics_hev/EbicsMessages.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util.ebics_hev
+package tech.libeufin.ebics.ebics_hev
import java.util.*
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_hev/package-info.java b/ebics/src/main/kotlin/ebics_hev/package-info.java
index ad7de333..8d2c7b54 100644
--- a/util/src/main/kotlin/ebics_hev/package-info.java
+++ b/ebics/src/main/kotlin/ebics_hev/package-info.java
@@ -7,7 +7,7 @@
namespace = "http://www.ebics.org/H000",
elementFormDefault = XmlNsForm.QUALIFIED
)
-package tech.libeufin.util.ebics_hev;
+package tech.libeufin.ebics.ebics_hev;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
diff --git a/util/src/main/kotlin/ebics_s001/SignatureTypes.kt b/ebics/src/main/kotlin/ebics_s001/SignatureTypes.kt
index ea072527..4781ba26 100644
--- a/util/src/main/kotlin/ebics_s001/SignatureTypes.kt
+++ b/ebics/src/main/kotlin/ebics_s001/SignatureTypes.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util.ebics_s001
+package tech.libeufin.ebics.ebics_s001
import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
import org.apache.xml.security.binding.xmldsig.X509DataType
diff --git a/util/src/main/kotlin/ebics_s001/UserSignatureData.kt b/ebics/src/main/kotlin/ebics_s001/UserSignatureData.kt
index cbb9ce6c..7eb5e0ed 100644
--- a/util/src/main/kotlin/ebics_s001/UserSignatureData.kt
+++ b/ebics/src/main/kotlin/ebics_s001/UserSignatureData.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_s001
+package tech.libeufin.ebics.ebics_s001
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_s001/package-info.java b/ebics/src/main/kotlin/ebics_s001/package-info.java
index 0a2af713..adda5875 100644
--- a/util/src/main/kotlin/ebics_s001/package-info.java
+++ b/ebics/src/main/kotlin/ebics_s001/package-info.java
@@ -7,7 +7,7 @@
namespace = "http://www.ebics.org/S001",
elementFormDefault = XmlNsForm.QUALIFIED
)
-package tech.libeufin.util.ebics_s001;
+package tech.libeufin.ebics.ebics_s001;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema; \ No newline at end of file
diff --git a/util/src/main/kotlin/ebics_s002/SignatureTypes.kt b/ebics/src/main/kotlin/ebics_s002/SignatureTypes.kt
index 9e367fc9..c1d48e9b 100644
--- a/util/src/main/kotlin/ebics_s002/SignatureTypes.kt
+++ b/ebics/src/main/kotlin/ebics_s002/SignatureTypes.kt
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.util.ebics_s002
+package tech.libeufin.ebics.ebics_s002
import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
import org.apache.xml.security.binding.xmldsig.X509DataType
diff --git a/util/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt b/ebics/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt
index 6d7012a1..082d0681 100644
--- a/util/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt
+++ b/ebics/src/main/kotlin/ebics_s002/UserSignatureDataEbics3.kt
@@ -1,4 +1,4 @@
-package tech.libeufin.util.ebics_s002
+package tech.libeufin.ebics.ebics_s002
import javax.xml.bind.annotation.*
diff --git a/util/src/main/kotlin/ebics_s002/package-info.java b/ebics/src/main/kotlin/ebics_s002/package-info.java
index a9f7729a..5ddb1f77 100644
--- a/util/src/main/kotlin/ebics_s002/package-info.java
+++ b/ebics/src/main/kotlin/ebics_s002/package-info.java
@@ -7,7 +7,7 @@
namespace = "http://www.ebics.org/S002",
elementFormDefault = XmlNsForm.QUALIFIED
)
-package tech.libeufin.util.ebics_s002;
+package tech.libeufin.ebics.ebics_s002;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema; \ No newline at end of file
diff --git a/ebics/src/main/resources/version.txt b/ebics/src/main/resources/version.txt
new file mode 100644
index 00000000..359d0539
--- /dev/null
+++ b/ebics/src/main/resources/version.txt
@@ -0,0 +1 @@
+v0.9.4-git-8aeffb3f \ No newline at end of file
diff --git a/ebics/src/main/resources/xsd/camt.052.001.02.xsd b/ebics/src/main/resources/xsd/camt.052.001.02.xsd
new file mode 100644
index 00000000..52abd831
--- /dev/null
+++ b/ebics/src/main/resources/xsd/camt.052.001.02.xsd
@@ -0,0 +1,1299 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02" elementFormDefault="qualified">
+ <xs:element name="Document" type="Document"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountInterest2">
+ <xs:sequence>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountReport11">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="ElctrncSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="LglSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="CpyDplctInd" type="CopyDuplicate1Code" minOccurs="0"/>
+ <xs:element name="RptgSrc" type="ReportingSource1Choice" minOccurs="0"/>
+ <xs:element name="Acct" type="CashAccount20"/>
+ <xs:element name="RltdAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="Intrst" type="AccountInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Bal" type="CashBalance3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TxsSummry" type="TotalTransactions2" minOccurs="0"/>
+ <xs:element name="Ntry" type="ReportEntry2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlRptInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+ <xs:simpleContent>
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3,13}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AddressType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ADDR"/>
+ <xs:enumeration value="PBOX"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="BIZZ"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="DLVY"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AlternateSecurityIdentification2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Id" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchange3">
+ <xs:sequence>
+ <xs:element name="InstdAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="TxAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="CntrValAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="AnncdPstngAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="PrtryAmt" type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountRangeBoundary1">
+ <xs:sequence>
+ <xs:element name="BdryAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="Incl" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BalanceSubType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalBalanceSubType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BalanceType12">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="BalanceType5Choice"/>
+ <xs:element name="SubTp" type="BalanceSubType1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="BalanceType12Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="XPCD"/>
+ <xs:enumeration value="OPAV"/>
+ <xs:enumeration value="ITAV"/>
+ <xs:enumeration value="CLAV"/>
+ <xs:enumeration value="FWAV"/>
+ <xs:enumeration value="CLBD"/>
+ <xs:enumeration value="ITBD"/>
+ <xs:enumeration value="OPBD"/>
+ <xs:enumeration value="PRCD"/>
+ <xs:enumeration value="INFO"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BalanceType5Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="BalanceType12Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankToCustomerAccountReportV02">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader42"/>
+ <xs:element name="Rpt" type="AccountReport11" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure4">
+ <xs:sequence>
+ <xs:element name="Domn" type="BankTransactionCodeStructure5" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure5">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionDomain1Code"/>
+ <xs:element name="Fmly" type="BankTransactionCodeStructure6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure6">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionFamily1Code"/>
+ <xs:element name="SubFmlyCd" type="ExternalBankTransactionSubFamily1Code"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BatchInformation2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchData2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount16">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount20">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="Ownr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Svcr" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="CashAccountType4Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CashAccountType4Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CASH"/>
+ <xs:enumeration value="CHAR"/>
+ <xs:enumeration value="COMM"/>
+ <xs:enumeration value="TAXE"/>
+ <xs:enumeration value="CISH"/>
+ <xs:enumeration value="TRAS"/>
+ <xs:enumeration value="SACC"/>
+ <xs:enumeration value="CACC"/>
+ <xs:enumeration value="SVGS"/>
+ <xs:enumeration value="ONDP"/>
+ <xs:enumeration value="MGLD"/>
+ <xs:enumeration value="NREX"/>
+ <xs:enumeration value="MOMA"/>
+ <xs:enumeration value="LOAN"/>
+ <xs:enumeration value="SLRY"/>
+ <xs:enumeration value="ODFT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CashBalance3">
+ <xs:sequence>
+ <xs:element name="Tp" type="BalanceType12"/>
+ <xs:element name="CdtLine" type="CreditLine2" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashBalanceAvailability2">
+ <xs:sequence>
+ <xs:element name="Dt" type="CashBalanceAvailabilityDate1"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashBalanceAvailabilityDate1">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="NbOfDays" type="Max15PlusSignedNumericText"/>
+ <xs:element name="ActlDt" type="ISODate"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ChargeType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BRKF"/>
+ <xs:enumeration value="COMM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ChargeType2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ChargeType1Code"/>
+ <xs:element name="Prtry" type="GenericIdentification3"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ChargesInformation6">
+ <xs:sequence>
+ <xs:element name="TtlChrgsAndTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Tp" type="ChargeType2Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Br" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="Pty" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxCharges2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemIdentification2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemMemberIdentification2">
+ <xs:sequence>
+ <xs:element name="ClrSysId" type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+ <xs:element name="MmbId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ContactDetails2">
+ <xs:sequence>
+ <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CopyDuplicate1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CODU"/>
+ <xs:enumeration value="COPY"/>
+ <xs:enumeration value="DUPL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CorporateAction1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditLine2">
+ <xs:sequence>
+ <xs:element name="Incl" type="TrueFalseIndicator"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyAndAmountRange2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ImpliedCurrencyAmountRangeChoice"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyExchange5">
+ <xs:sequence>
+ <xs:element name="SrcCcy" type="ActiveOrHistoricCurrencyCode"/>
+ <xs:element name="TrgtCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="UnitCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="XchgRate" type="BaseOneRate"/>
+ <xs:element name="CtrctId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="QtnDt" type="ISODateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndDateTimeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Dt" type="ISODate"/>
+ <xs:element name="DtTm" type="ISODateTime"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndPlaceOfBirth">
+ <xs:sequence>
+ <xs:element name="BirthDt" type="ISODate"/>
+ <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CityOfBirth" type="Max35Text"/>
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DatePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateTimePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDtTm" type="ISODateTime"/>
+ <xs:element name="ToDtTm" type="ISODateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="17"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="BkToCstmrAcctRpt" type="BankToCustomerAccountReportV02"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DocumentType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RADM"/>
+ <xs:enumeration value="RPIN"/>
+ <xs:enumeration value="FXDR"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="SCOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DocumentType5Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MSIN"/>
+ <xs:enumeration value="CNFA"/>
+ <xs:enumeration value="DNFA"/>
+ <xs:enumeration value="CINV"/>
+ <xs:enumeration value="CREN"/>
+ <xs:enumeration value="DEBN"/>
+ <xs:enumeration value="HIRI"/>
+ <xs:enumeration value="SBIN"/>
+ <xs:enumeration value="CMCN"/>
+ <xs:enumeration value="SOAC"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="BOLD"/>
+ <xs:enumeration value="VCHR"/>
+ <xs:enumeration value="AROI"/>
+ <xs:enumeration value="TSUT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryDetails1">
+ <xs:sequence>
+ <xs:element name="Btch" type="BatchInformation2" minOccurs="0"/>
+ <xs:element name="TxDtls" type="EntryTransaction2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="EntryStatus2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BOOK"/>
+ <xs:enumeration value="PDNG"/>
+ <xs:enumeration value="INFO"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryTransaction2">
+ <xs:sequence>
+ <xs:element name="Refs" type="TransactionReferences2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RltdPties" type="TransactionParty2" minOccurs="0"/>
+ <xs:element name="RltdAgts" type="TransactionAgents2" minOccurs="0"/>
+ <xs:element name="Purp" type="Purpose2Choice" minOccurs="0"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RmtInf" type="RemittanceInformation5" minOccurs="0"/>
+ <xs:element name="RltdDts" type="TransactionDates2" minOccurs="0"/>
+ <xs:element name="RltdPric" type="TransactionPrice2Choice" minOccurs="0"/>
+ <xs:element name="RltdQties" type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FinInstrmId" type="SecurityIdentification4Choice" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
+ <xs:element name="RtrInf" type="ReturnReasonInformation10" minOccurs="0"/>
+ <xs:element name="CorpActn" type="CorporateAction1" minOccurs="0"/>
+ <xs:element name="SfkpgAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="AddtlTxInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ExternalAccountIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBalanceSubType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionDomain1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPersonIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReportingSource1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReturnReason1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification7">
+ <xs:sequence>
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstrumentQuantityChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Unit" type="DecimalNumber"/>
+ <xs:element name="FaceAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="AmtsdVal" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FromToAmountRange">
+ <xs:sequence>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification3">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericOrganisationIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericPersonIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GroupHeader42">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="MsgRcpt" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="MsgPgntn" type="Pagination" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="IBAN2007Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISINIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{12,12}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISODate">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISODateTime">
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="FrToAmt" type="FromToAmountRange"/>
+ <xs:element name="EQAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="NEQAmt" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ImpliedCurrencyAndAmount">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="InterestType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="InterestType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="InterestType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="INDY"/>
+ <xs:enumeration value="OVRN"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max105Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="105"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="140"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15PlusSignedNumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max16Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max500Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="500"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max5NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,5}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="MessageIdentification2">
+ <xs:sequence>
+ <xs:element name="MsgNmId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NameAndAddress10">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="Adr" type="PostalAddress6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="NamePrefix1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MIST"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MADM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="0"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NumberAndSumOfTransactions1">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NumberAndSumOfTransactions2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification4">
+ <xs:sequence>
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Pagination">
+ <xs:sequence>
+ <xs:element name="PgNb" type="Max5NumericText"/>
+ <xs:element name="LastPgInd" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Party6Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification32">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification5">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress6">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryAgent2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification4"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryDate2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryParty2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pty" type="PartyIdentification32"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryPrice2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryQuantity1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Qty" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryReference1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Ref" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Rate3">
+ <xs:sequence>
+ <xs:element name="Tp" type="RateType4Choice"/>
+ <xs:element name="VldtyRg" type="CurrencyAndAmountRange2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RateType4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Pctg" type="PercentageRate"/>
+ <xs:element name="Othr" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation3">
+ <xs:sequence>
+ <xs:element name="Tp" type="ReferredDocumentType2" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType5Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceAmount1">
+ <xs:sequence>
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="AdjstmntAmtAndRsn" type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceInformation5">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocation2">
+ <xs:sequence>
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
+ <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="RemittanceLocationMethod2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FAXI"/>
+ <xs:enumeration value="EDIC"/>
+ <xs:enumeration value="URID"/>
+ <xs:enumeration value="EMAL"/>
+ <xs:enumeration value="POST"/>
+ <xs:enumeration value="SMSM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReportEntry2">
+ <xs:sequence>
+ <xs:element name="NtryRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="RvslInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="Sts" type="EntryStatus2Code"/>
+ <xs:element name="BookgDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="ValDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="ComssnWvrInd" type="YesNoIndicator" minOccurs="0"/>
+ <xs:element name="AddtlInfInd" type="MessageIdentification2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TechInptChanl" type="TechnicalInputChannel1Choice" minOccurs="0"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="NtryDtls" type="EntryDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlNtryInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReportingSource1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReportingSource1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReason5Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReturnReason1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReasonInformation10">
+ <xs:sequence>
+ <xs:element name="OrgnlBkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Orgtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Rsn" type="ReturnReason5Choice" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max105Text" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SecurityIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="ISIN" type="ISINIdentifier"/>
+ <xs:element name="Prtry" type="AlternateSecurityIdentification2"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="StructuredRemittanceInformation7">
+ <xs:sequence>
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount1" minOccurs="0"/>
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
+ <xs:element name="Invcr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Invcee" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmount1">
+ <xs:sequence>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dtls" type="TaxRecordDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAuthorisation1">
+ <xs:sequence>
+ <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxCharges2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxInformation3">
+ <xs:sequence>
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="AdmstnZn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+ <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty1">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty2">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Authstn" type="TaxAuthorisation1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxPeriod1">
+ <xs:sequence>
+ <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+ <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
+ <xs:element name="FrToDt" type="DatePeriodDetails" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecord1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtgyDtls" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DbtrSts" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CertId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmount1" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecordDetails1">
+ <xs:sequence>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TaxRecordPeriod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MM01"/>
+ <xs:enumeration value="MM02"/>
+ <xs:enumeration value="MM03"/>
+ <xs:enumeration value="MM04"/>
+ <xs:enumeration value="MM05"/>
+ <xs:enumeration value="MM06"/>
+ <xs:enumeration value="MM07"/>
+ <xs:enumeration value="MM08"/>
+ <xs:enumeration value="MM09"/>
+ <xs:enumeration value="MM10"/>
+ <xs:enumeration value="MM11"/>
+ <xs:enumeration value="MM12"/>
+ <xs:enumeration value="QTR1"/>
+ <xs:enumeration value="QTR2"/>
+ <xs:enumeration value="QTR3"/>
+ <xs:enumeration value="QTR4"/>
+ <xs:enumeration value="HLF1"/>
+ <xs:enumeration value="HLF2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="TechnicalInputChannel1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalTechnicalInputChannel1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalTransactions2">
+ <xs:sequence>
+ <xs:element name="TtlNtries" type="NumberAndSumOfTransactions2" minOccurs="0"/>
+ <xs:element name="TtlCdtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlDbtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlNtriesPerBkTxCd" type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalsPerBankTransactionCode2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="FcstInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionAgents2">
+ <xs:sequence>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="RcvgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="DlvrgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IssgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="SttlmPlc" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryAgent2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionDates2">
+ <xs:sequence>
+ <xs:element name="AccptncDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="TradActvtyCtrctlSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="IntrBkSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="StartDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TxDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryDate2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionInterest2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionParty2">
+ <xs:sequence>
+ <xs:element name="InitgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Dbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="DbtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="TradgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryParty2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionPrice2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="DealPric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="Prtry" type="ProprietaryPrice2" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionQuantities1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Qty" type="FinancialInstrumentQuantityChoice"/>
+ <xs:element name="Prtry" type="ProprietaryQuantity1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionReferences2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MndtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ClrSysRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryReference1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TrueFalseIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="YesNoIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/camt.053.001.02.xsd b/ebics/src/main/resources/xsd/camt.053.001.02.xsd
new file mode 100644
index 00000000..0dc3b77e
--- /dev/null
+++ b/ebics/src/main/resources/xsd/camt.053.001.02.xsd
@@ -0,0 +1,1299 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" elementFormDefault="qualified">
+ <xs:element name="Document" type="Document"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountInterest2">
+ <xs:sequence>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountStatement2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="ElctrncSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="LglSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="CpyDplctInd" type="CopyDuplicate1Code" minOccurs="0"/>
+ <xs:element name="RptgSrc" type="ReportingSource1Choice" minOccurs="0"/>
+ <xs:element name="Acct" type="CashAccount20"/>
+ <xs:element name="RltdAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="Intrst" type="AccountInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Bal" type="CashBalance3" maxOccurs="unbounded"/>
+ <xs:element name="TxsSummry" type="TotalTransactions2" minOccurs="0"/>
+ <xs:element name="Ntry" type="ReportEntry2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlStmtInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+ <xs:simpleContent>
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3,13}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AddressType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ADDR"/>
+ <xs:enumeration value="PBOX"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="BIZZ"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="DLVY"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AlternateSecurityIdentification2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Id" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchange3">
+ <xs:sequence>
+ <xs:element name="InstdAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="TxAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="CntrValAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="AnncdPstngAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="PrtryAmt" type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountRangeBoundary1">
+ <xs:sequence>
+ <xs:element name="BdryAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="Incl" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BalanceSubType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalBalanceSubType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BalanceType12">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="BalanceType5Choice"/>
+ <xs:element name="SubTp" type="BalanceSubType1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="BalanceType12Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="XPCD"/>
+ <xs:enumeration value="OPAV"/>
+ <xs:enumeration value="ITAV"/>
+ <xs:enumeration value="CLAV"/>
+ <xs:enumeration value="FWAV"/>
+ <xs:enumeration value="CLBD"/>
+ <xs:enumeration value="ITBD"/>
+ <xs:enumeration value="OPBD"/>
+ <xs:enumeration value="PRCD"/>
+ <xs:enumeration value="INFO"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BalanceType5Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="BalanceType12Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankToCustomerStatementV02">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader42"/>
+ <xs:element name="Stmt" type="AccountStatement2" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure4">
+ <xs:sequence>
+ <xs:element name="Domn" type="BankTransactionCodeStructure5" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure5">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionDomain1Code"/>
+ <xs:element name="Fmly" type="BankTransactionCodeStructure6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure6">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionFamily1Code"/>
+ <xs:element name="SubFmlyCd" type="ExternalBankTransactionSubFamily1Code"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BatchInformation2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchData2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount16">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount20">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="Ownr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Svcr" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="CashAccountType4Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CashAccountType4Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CASH"/>
+ <xs:enumeration value="CHAR"/>
+ <xs:enumeration value="COMM"/>
+ <xs:enumeration value="TAXE"/>
+ <xs:enumeration value="CISH"/>
+ <xs:enumeration value="TRAS"/>
+ <xs:enumeration value="SACC"/>
+ <xs:enumeration value="CACC"/>
+ <xs:enumeration value="SVGS"/>
+ <xs:enumeration value="ONDP"/>
+ <xs:enumeration value="MGLD"/>
+ <xs:enumeration value="NREX"/>
+ <xs:enumeration value="MOMA"/>
+ <xs:enumeration value="LOAN"/>
+ <xs:enumeration value="SLRY"/>
+ <xs:enumeration value="ODFT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CashBalance3">
+ <xs:sequence>
+ <xs:element name="Tp" type="BalanceType12"/>
+ <xs:element name="CdtLine" type="CreditLine2" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashBalanceAvailability2">
+ <xs:sequence>
+ <xs:element name="Dt" type="CashBalanceAvailabilityDate1"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashBalanceAvailabilityDate1">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="NbOfDays" type="Max15PlusSignedNumericText"/>
+ <xs:element name="ActlDt" type="ISODate"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ChargeType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BRKF"/>
+ <xs:enumeration value="COMM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ChargeType2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ChargeType1Code"/>
+ <xs:element name="Prtry" type="GenericIdentification3"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ChargesInformation6">
+ <xs:sequence>
+ <xs:element name="TtlChrgsAndTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Tp" type="ChargeType2Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Br" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="Pty" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxCharges2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemIdentification2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemMemberIdentification2">
+ <xs:sequence>
+ <xs:element name="ClrSysId" type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+ <xs:element name="MmbId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ContactDetails2">
+ <xs:sequence>
+ <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CopyDuplicate1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CODU"/>
+ <xs:enumeration value="COPY"/>
+ <xs:enumeration value="DUPL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CorporateAction1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditLine2">
+ <xs:sequence>
+ <xs:element name="Incl" type="TrueFalseIndicator"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyAndAmountRange2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ImpliedCurrencyAmountRangeChoice"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyExchange5">
+ <xs:sequence>
+ <xs:element name="SrcCcy" type="ActiveOrHistoricCurrencyCode"/>
+ <xs:element name="TrgtCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="UnitCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="XchgRate" type="BaseOneRate"/>
+ <xs:element name="CtrctId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="QtnDt" type="ISODateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndDateTimeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Dt" type="ISODate"/>
+ <xs:element name="DtTm" type="ISODateTime"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndPlaceOfBirth">
+ <xs:sequence>
+ <xs:element name="BirthDt" type="ISODate"/>
+ <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CityOfBirth" type="Max35Text"/>
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DatePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateTimePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDtTm" type="ISODateTime"/>
+ <xs:element name="ToDtTm" type="ISODateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="17"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="BkToCstmrStmt" type="BankToCustomerStatementV02"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DocumentType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RADM"/>
+ <xs:enumeration value="RPIN"/>
+ <xs:enumeration value="FXDR"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="SCOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DocumentType5Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MSIN"/>
+ <xs:enumeration value="CNFA"/>
+ <xs:enumeration value="DNFA"/>
+ <xs:enumeration value="CINV"/>
+ <xs:enumeration value="CREN"/>
+ <xs:enumeration value="DEBN"/>
+ <xs:enumeration value="HIRI"/>
+ <xs:enumeration value="SBIN"/>
+ <xs:enumeration value="CMCN"/>
+ <xs:enumeration value="SOAC"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="BOLD"/>
+ <xs:enumeration value="VCHR"/>
+ <xs:enumeration value="AROI"/>
+ <xs:enumeration value="TSUT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryDetails1">
+ <xs:sequence>
+ <xs:element name="Btch" type="BatchInformation2" minOccurs="0"/>
+ <xs:element name="TxDtls" type="EntryTransaction2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="EntryStatus2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BOOK"/>
+ <xs:enumeration value="PDNG"/>
+ <xs:enumeration value="INFO"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryTransaction2">
+ <xs:sequence>
+ <xs:element name="Refs" type="TransactionReferences2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RltdPties" type="TransactionParty2" minOccurs="0"/>
+ <xs:element name="RltdAgts" type="TransactionAgents2" minOccurs="0"/>
+ <xs:element name="Purp" type="Purpose2Choice" minOccurs="0"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RmtInf" type="RemittanceInformation5" minOccurs="0"/>
+ <xs:element name="RltdDts" type="TransactionDates2" minOccurs="0"/>
+ <xs:element name="RltdPric" type="TransactionPrice2Choice" minOccurs="0"/>
+ <xs:element name="RltdQties" type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FinInstrmId" type="SecurityIdentification4Choice" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
+ <xs:element name="RtrInf" type="ReturnReasonInformation10" minOccurs="0"/>
+ <xs:element name="CorpActn" type="CorporateAction1" minOccurs="0"/>
+ <xs:element name="SfkpgAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="AddtlTxInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ExternalAccountIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBalanceSubType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionDomain1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPersonIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReportingSource1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReturnReason1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification7">
+ <xs:sequence>
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstrumentQuantityChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Unit" type="DecimalNumber"/>
+ <xs:element name="FaceAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="AmtsdVal" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FromToAmountRange">
+ <xs:sequence>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification3">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericOrganisationIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericPersonIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GroupHeader42">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="MsgRcpt" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="MsgPgntn" type="Pagination" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="IBAN2007Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISINIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{12,12}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISODate">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISODateTime">
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="FrToAmt" type="FromToAmountRange"/>
+ <xs:element name="EQAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="NEQAmt" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ImpliedCurrencyAndAmount">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="InterestType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="InterestType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="InterestType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="INDY"/>
+ <xs:enumeration value="OVRN"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max105Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="105"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="140"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15PlusSignedNumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max16Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max500Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="500"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max5NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,5}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="MessageIdentification2">
+ <xs:sequence>
+ <xs:element name="MsgNmId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NameAndAddress10">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="Adr" type="PostalAddress6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="NamePrefix1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MIST"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MADM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="0"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NumberAndSumOfTransactions1">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NumberAndSumOfTransactions2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification4">
+ <xs:sequence>
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Pagination">
+ <xs:sequence>
+ <xs:element name="PgNb" type="Max5NumericText"/>
+ <xs:element name="LastPgInd" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Party6Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification32">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification5">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress6">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryAgent2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification4"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryDate2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryParty2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pty" type="PartyIdentification32"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryPrice2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryQuantity1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Qty" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryReference1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Ref" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Rate3">
+ <xs:sequence>
+ <xs:element name="Tp" type="RateType4Choice"/>
+ <xs:element name="VldtyRg" type="CurrencyAndAmountRange2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RateType4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Pctg" type="PercentageRate"/>
+ <xs:element name="Othr" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation3">
+ <xs:sequence>
+ <xs:element name="Tp" type="ReferredDocumentType2" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType5Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceAmount1">
+ <xs:sequence>
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="AdjstmntAmtAndRsn" type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceInformation5">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocation2">
+ <xs:sequence>
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
+ <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="RemittanceLocationMethod2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FAXI"/>
+ <xs:enumeration value="EDIC"/>
+ <xs:enumeration value="URID"/>
+ <xs:enumeration value="EMAL"/>
+ <xs:enumeration value="POST"/>
+ <xs:enumeration value="SMSM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReportEntry2">
+ <xs:sequence>
+ <xs:element name="NtryRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="RvslInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="Sts" type="EntryStatus2Code"/>
+ <xs:element name="BookgDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="ValDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="ComssnWvrInd" type="YesNoIndicator" minOccurs="0"/>
+ <xs:element name="AddtlInfInd" type="MessageIdentification2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TechInptChanl" type="TechnicalInputChannel1Choice" minOccurs="0"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="NtryDtls" type="EntryDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlNtryInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReportingSource1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReportingSource1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReason5Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReturnReason1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReasonInformation10">
+ <xs:sequence>
+ <xs:element name="OrgnlBkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Orgtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Rsn" type="ReturnReason5Choice" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max105Text" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SecurityIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="ISIN" type="ISINIdentifier"/>
+ <xs:element name="Prtry" type="AlternateSecurityIdentification2"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="StructuredRemittanceInformation7">
+ <xs:sequence>
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount1" minOccurs="0"/>
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
+ <xs:element name="Invcr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Invcee" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmount1">
+ <xs:sequence>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dtls" type="TaxRecordDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAuthorisation1">
+ <xs:sequence>
+ <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxCharges2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxInformation3">
+ <xs:sequence>
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="AdmstnZn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+ <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty1">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty2">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Authstn" type="TaxAuthorisation1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxPeriod1">
+ <xs:sequence>
+ <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+ <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
+ <xs:element name="FrToDt" type="DatePeriodDetails" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecord1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtgyDtls" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DbtrSts" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CertId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmount1" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecordDetails1">
+ <xs:sequence>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TaxRecordPeriod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MM01"/>
+ <xs:enumeration value="MM02"/>
+ <xs:enumeration value="MM03"/>
+ <xs:enumeration value="MM04"/>
+ <xs:enumeration value="MM05"/>
+ <xs:enumeration value="MM06"/>
+ <xs:enumeration value="MM07"/>
+ <xs:enumeration value="MM08"/>
+ <xs:enumeration value="MM09"/>
+ <xs:enumeration value="MM10"/>
+ <xs:enumeration value="MM11"/>
+ <xs:enumeration value="MM12"/>
+ <xs:enumeration value="QTR1"/>
+ <xs:enumeration value="QTR2"/>
+ <xs:enumeration value="QTR3"/>
+ <xs:enumeration value="QTR4"/>
+ <xs:enumeration value="HLF1"/>
+ <xs:enumeration value="HLF2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="TechnicalInputChannel1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalTechnicalInputChannel1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalTransactions2">
+ <xs:sequence>
+ <xs:element name="TtlNtries" type="NumberAndSumOfTransactions2" minOccurs="0"/>
+ <xs:element name="TtlCdtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlDbtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlNtriesPerBkTxCd" type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalsPerBankTransactionCode2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="FcstInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionAgents2">
+ <xs:sequence>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="RcvgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="DlvrgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IssgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="SttlmPlc" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryAgent2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionDates2">
+ <xs:sequence>
+ <xs:element name="AccptncDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="TradActvtyCtrctlSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="IntrBkSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="StartDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TxDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryDate2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionInterest2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionParty2">
+ <xs:sequence>
+ <xs:element name="InitgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Dbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="DbtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="TradgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryParty2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionPrice2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="DealPric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="Prtry" type="ProprietaryPrice2" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionQuantities1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Qty" type="FinancialInstrumentQuantityChoice"/>
+ <xs:element name="Prtry" type="ProprietaryQuantity1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionReferences2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MndtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ClrSysRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryReference1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TrueFalseIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="YesNoIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/camt.054.001.02.xsd b/ebics/src/main/resources/xsd/camt.054.001.02.xsd
new file mode 100644
index 00000000..b284c6dd
--- /dev/null
+++ b/ebics/src/main/resources/xsd/camt.054.001.02.xsd
@@ -0,0 +1,1240 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Wenzel (SIZ Bonn) bearbeitet -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02" elementFormDefault="qualified">
+ <xs:element name="Document" type="Document"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountInterest2">
+ <xs:sequence>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountNotification2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="ElctrncSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="LglSeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="CpyDplctInd" type="CopyDuplicate1Code" minOccurs="0"/>
+ <xs:element name="RptgSrc" type="ReportingSource1Choice" minOccurs="0"/>
+ <xs:element name="Acct" type="CashAccount20"/>
+ <xs:element name="RltdAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="Intrst" type="AccountInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TxsSummry" type="TotalTransactions2" minOccurs="0"/>
+ <xs:element name="Ntry" type="ReportEntry2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlNtfctnInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AccountSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+ <xs:simpleContent>
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3,13}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AddressType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ADDR"/>
+ <xs:enumeration value="PBOX"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="BIZZ"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="DLVY"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AlternateSecurityIdentification2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Id" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchange3">
+ <xs:sequence>
+ <xs:element name="InstdAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="TxAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="CntrValAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="AnncdPstngAmt" type="AmountAndCurrencyExchangeDetails3" minOccurs="0"/>
+ <xs:element name="PrtryAmt" type="AmountAndCurrencyExchangeDetails4" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails3">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountAndCurrencyExchangeDetails4">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyXchg" type="CurrencyExchange5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountRangeBoundary1">
+ <xs:sequence>
+ <xs:element name="BdryAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="Incl" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BankToCustomerDebitCreditNotificationV02">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader42"/>
+ <xs:element name="Ntfctn" type="AccountNotification2" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure4">
+ <xs:sequence>
+ <xs:element name="Domn" type="BankTransactionCodeStructure5" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryBankTransactionCodeStructure1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure5">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionDomain1Code"/>
+ <xs:element name="Fmly" type="BankTransactionCodeStructure6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankTransactionCodeStructure6">
+ <xs:sequence>
+ <xs:element name="Cd" type="ExternalBankTransactionFamily1Code"/>
+ <xs:element name="SubFmlyCd" type="ExternalBankTransactionSubFamily1Code"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BatchInformation2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchData2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount16">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount20">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="Ownr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Svcr" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="CashAccountType4Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CashAccountType4Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CASH"/>
+ <xs:enumeration value="CHAR"/>
+ <xs:enumeration value="COMM"/>
+ <xs:enumeration value="TAXE"/>
+ <xs:enumeration value="CISH"/>
+ <xs:enumeration value="TRAS"/>
+ <xs:enumeration value="SACC"/>
+ <xs:enumeration value="CACC"/>
+ <xs:enumeration value="SVGS"/>
+ <xs:enumeration value="ONDP"/>
+ <xs:enumeration value="MGLD"/>
+ <xs:enumeration value="NREX"/>
+ <xs:enumeration value="MOMA"/>
+ <xs:enumeration value="LOAN"/>
+ <xs:enumeration value="SLRY"/>
+ <xs:enumeration value="ODFT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CashBalanceAvailability2">
+ <xs:sequence>
+ <xs:element name="Dt" type="CashBalanceAvailabilityDate1"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashBalanceAvailabilityDate1">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="NbOfDays" type="Max15PlusSignedNumericText"/>
+ <xs:element name="ActlDt" type="ISODate"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ChargeType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BRKF"/>
+ <xs:enumeration value="COMM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ChargeType2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ChargeType1Code"/>
+ <xs:element name="Prtry" type="GenericIdentification3"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ChargesInformation6">
+ <xs:sequence>
+ <xs:element name="TtlChrgsAndTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Tp" type="ChargeType2Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Br" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="Pty" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxCharges2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemIdentification2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemMemberIdentification2">
+ <xs:sequence>
+ <xs:element name="ClrSysId" type="ClearingSystemIdentification2Choice" minOccurs="0"/>
+ <xs:element name="MmbId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ContactDetails2">
+ <xs:sequence>
+ <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
+ <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CopyDuplicate1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CODU"/>
+ <xs:enumeration value="COPY"/>
+ <xs:enumeration value="DUPL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CorporateAction1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyAndAmountRange2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ImpliedCurrencyAmountRangeChoice"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyExchange5">
+ <xs:sequence>
+ <xs:element name="SrcCcy" type="ActiveOrHistoricCurrencyCode"/>
+ <xs:element name="TrgtCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="UnitCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="XchgRate" type="BaseOneRate"/>
+ <xs:element name="CtrctId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="QtnDt" type="ISODateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndDateTimeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Dt" type="ISODate"/>
+ <xs:element name="DtTm" type="ISODateTime"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndPlaceOfBirth">
+ <xs:sequence>
+ <xs:element name="BirthDt" type="ISODate"/>
+ <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CityOfBirth" type="Max35Text"/>
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DatePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateTimePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDtTm" type="ISODateTime"/>
+ <xs:element name="ToDtTm" type="ISODateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="17"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="BkToCstmrDbtCdtNtfctn" type="BankToCustomerDebitCreditNotificationV02"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DocumentType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RADM"/>
+ <xs:enumeration value="RPIN"/>
+ <xs:enumeration value="FXDR"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="SCOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DocumentType5Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MSIN"/>
+ <xs:enumeration value="CNFA"/>
+ <xs:enumeration value="DNFA"/>
+ <xs:enumeration value="CINV"/>
+ <xs:enumeration value="CREN"/>
+ <xs:enumeration value="DEBN"/>
+ <xs:enumeration value="HIRI"/>
+ <xs:enumeration value="SBIN"/>
+ <xs:enumeration value="CMCN"/>
+ <xs:enumeration value="SOAC"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="BOLD"/>
+ <xs:enumeration value="VCHR"/>
+ <xs:enumeration value="AROI"/>
+ <xs:enumeration value="TSUT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryDetails1">
+ <xs:sequence>
+ <xs:element name="Btch" type="BatchInformation2" minOccurs="0"/>
+ <xs:element name="TxDtls" type="EntryTransaction2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="EntryStatus2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BOOK"/>
+ <xs:enumeration value="PDNG"/>
+ <xs:enumeration value="INFO"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EntryTransaction2">
+ <xs:sequence>
+ <xs:element name="Refs" type="TransactionReferences2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RltdPties" type="TransactionParty2" minOccurs="0"/>
+ <xs:element name="RltdAgts" type="TransactionAgents2" minOccurs="0"/>
+ <xs:element name="Purp" type="Purpose2Choice" minOccurs="0"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RmtInf" type="RemittanceInformation5" minOccurs="0"/>
+ <xs:element name="RltdDts" type="TransactionDates2" minOccurs="0"/>
+ <xs:element name="RltdPric" type="TransactionPrice2Choice" minOccurs="0"/>
+ <xs:element name="RltdQties" type="TransactionQuantities1Choice" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FinInstrmId" type="SecurityIdentification4Choice" minOccurs="0"/>
+ <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
+ <xs:element name="RtrInf" type="ReturnReasonInformation10" minOccurs="0"/>
+ <xs:element name="CorpActn" type="CorporateAction1" minOccurs="0"/>
+ <xs:element name="SfkpgAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="AddtlTxInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ExternalAccountIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionDomain1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalBankTransactionSubFamily1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPersonIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReportingSource1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalReturnReason1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalTechnicalInputChannel1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification7">
+ <xs:sequence>
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstrumentQuantityChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Unit" type="DecimalNumber"/>
+ <xs:element name="FaceAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="AmtsdVal" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FromToAmountRange">
+ <xs:sequence>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification3">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericOrganisationIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericPersonIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GroupHeader42">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="MsgRcpt" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="MsgPgntn" type="Pagination" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="IBAN2007Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISINIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{12,12}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISODate">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISODateTime">
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ <xs:complexType name="ImpliedCurrencyAmountRangeChoice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="FrAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="ToAmt" type="AmountRangeBoundary1"/>
+ <xs:element name="FrToAmt" type="FromToAmountRange"/>
+ <xs:element name="EQAmt" type="ImpliedCurrencyAndAmount"/>
+ <xs:element name="NEQAmt" type="ImpliedCurrencyAndAmount"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ImpliedCurrencyAndAmount">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="InterestType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="InterestType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="InterestType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="INDY"/>
+ <xs:enumeration value="OVRN"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max105Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="105"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="140"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15PlusSignedNumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[+]{0,1}[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max16Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max500Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="500"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max5NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,5}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="MessageIdentification2">
+ <xs:sequence>
+ <xs:element name="MsgNmId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NameAndAddress10">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="Adr" type="PostalAddress6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="NamePrefix1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MIST"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MADM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="0"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NumberAndSumOfTransactions1">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NumberAndSumOfTransactions2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification4">
+ <xs:sequence>
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Pagination">
+ <xs:sequence>
+ <xs:element name="PgNb" type="Max5NumericText"/>
+ <xs:element name="LastPgInd" type="YesNoIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Party6Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification32">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification5">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress6">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryAgent2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification4"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryBankTransactionCodeStructure1">
+ <xs:sequence>
+ <xs:element name="Cd" type="Max35Text"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryDate2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Dt" type="DateAndDateTimeChoice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryParty2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pty" type="PartyIdentification32"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryPrice2">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Pric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryQuantity1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Qty" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProprietaryReference1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text"/>
+ <xs:element name="Ref" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Rate3">
+ <xs:sequence>
+ <xs:element name="Tp" type="RateType4Choice"/>
+ <xs:element name="VldtyRg" type="CurrencyAndAmountRange2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RateType4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Pctg" type="PercentageRate"/>
+ <xs:element name="Othr" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation3">
+ <xs:sequence>
+ <xs:element name="Tp" type="ReferredDocumentType2" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType5Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceAmount1">
+ <xs:sequence>
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="AdjstmntAmtAndRsn" type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceInformation5">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocation2">
+ <xs:sequence>
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
+ <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="RemittanceLocationMethod2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FAXI"/>
+ <xs:enumeration value="EDIC"/>
+ <xs:enumeration value="URID"/>
+ <xs:enumeration value="EMAL"/>
+ <xs:enumeration value="POST"/>
+ <xs:enumeration value="SMSM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReportEntry2">
+ <xs:sequence>
+ <xs:element name="NtryRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="RvslInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="Sts" type="EntryStatus2Code"/>
+ <xs:element name="BookgDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="ValDt" type="DateAndDateTimeChoice" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="ComssnWvrInd" type="YesNoIndicator" minOccurs="0"/>
+ <xs:element name="AddtlInfInd" type="MessageIdentification2" minOccurs="0"/>
+ <xs:element name="AmtDtls" type="AmountAndCurrencyExchange3" minOccurs="0"/>
+ <xs:element name="Chrgs" type="ChargesInformation6" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TechInptChanl" type="TechnicalInputChannel1Choice" minOccurs="0"/>
+ <xs:element name="Intrst" type="TransactionInterest2" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="NtryDtls" type="EntryDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AddtlNtryInf" type="Max500Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReportingSource1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReportingSource1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReason5Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalReturnReason1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReturnReasonInformation10">
+ <xs:sequence>
+ <xs:element name="OrgnlBkTxCd" type="BankTransactionCodeStructure4" minOccurs="0"/>
+ <xs:element name="Orgtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Rsn" type="ReturnReason5Choice" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max105Text" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SecurityIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="ISIN" type="ISINIdentifier"/>
+ <xs:element name="Prtry" type="AlternateSecurityIdentification2"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="StructuredRemittanceInformation7">
+ <xs:sequence>
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount1" minOccurs="0"/>
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
+ <xs:element name="Invcr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Invcee" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmount1">
+ <xs:sequence>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dtls" type="TaxRecordDetails1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAuthorisation1">
+ <xs:sequence>
+ <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxCharges2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxInformation3">
+ <xs:sequence>
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="AdmstnZn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+ <xs:element name="SeqNb" type="Number" minOccurs="0"/>
+ <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty1">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty2">
+ <xs:sequence>
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Authstn" type="TaxAuthorisation1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxPeriod1">
+ <xs:sequence>
+ <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+ <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
+ <xs:element name="FrToDt" type="DatePeriodDetails" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecord1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtgyDtls" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DbtrSts" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CertId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmount1" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecordDetails1">
+ <xs:sequence>
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TaxRecordPeriod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MM01"/>
+ <xs:enumeration value="MM02"/>
+ <xs:enumeration value="MM03"/>
+ <xs:enumeration value="MM04"/>
+ <xs:enumeration value="MM05"/>
+ <xs:enumeration value="MM06"/>
+ <xs:enumeration value="MM07"/>
+ <xs:enumeration value="MM08"/>
+ <xs:enumeration value="MM09"/>
+ <xs:enumeration value="MM10"/>
+ <xs:enumeration value="MM11"/>
+ <xs:enumeration value="MM12"/>
+ <xs:enumeration value="QTR1"/>
+ <xs:enumeration value="QTR2"/>
+ <xs:enumeration value="QTR3"/>
+ <xs:enumeration value="QTR4"/>
+ <xs:enumeration value="HLF1"/>
+ <xs:enumeration value="HLF2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="TechnicalInputChannel1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalTechnicalInputChannel1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalTransactions2">
+ <xs:sequence>
+ <xs:element name="TtlNtries" type="NumberAndSumOfTransactions2" minOccurs="0"/>
+ <xs:element name="TtlCdtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlDbtNtries" type="NumberAndSumOfTransactions1" minOccurs="0"/>
+ <xs:element name="TtlNtriesPerBkTxCd" type="TotalsPerBankTransactionCode2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TotalsPerBankTransactionCode2">
+ <xs:sequence>
+ <xs:element name="NbOfNtries" type="Max15NumericText" minOccurs="0"/>
+ <xs:element name="Sum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="TtlNetNtryAmt" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
+ <xs:element name="FcstInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="BkTxCd" type="BankTransactionCodeStructure4"/>
+ <xs:element name="Avlbty" type="CashBalanceAvailability2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionAgents2">
+ <xs:sequence>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="RcvgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="DlvrgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="IssgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="SttlmPlc" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryAgent2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionDates2">
+ <xs:sequence>
+ <xs:element name="AccptncDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="TradActvtyCtrctlSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TradDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="IntrBkSttlmDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="StartDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="EndDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="TxDtTm" type="ISODateTime" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryDate2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionInterest2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element name="Tp" type="InterestType1Choice" minOccurs="0"/>
+ <xs:element name="Rate" type="Rate3" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FrToDt" type="DateTimePeriodDetails" minOccurs="0"/>
+ <xs:element name="Rsn" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionParty2">
+ <xs:sequence>
+ <xs:element name="InitgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Dbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="DbtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="TradgPty" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryParty2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionPrice2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="DealPric" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="Prtry" type="ProprietaryPrice2" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionQuantities1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Qty" type="FinancialInstrumentQuantityChoice"/>
+ <xs:element name="Prtry" type="ProprietaryQuantity1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TransactionReferences2">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="AcctSvcrRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="PmtInfId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TxId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="MndtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ClrSysRef" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Prtry" type="ProprietaryReference1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TrueFalseIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="YesNoIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/ebics_H004.xsd b/ebics/src/main/resources/xsd/ebics_H004.xsd
new file mode 100644
index 00000000..c5f7ec2c
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_H004.xsd
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_H004.xsd inkludiert alle Schemadateien des EBICS-Protokolls, um die Eindeutigkeit von Element- und Typnamen im EBCIS Namespace zu erzwingen.</documentation>
+ <documentation xml:lang="en">ebics_H004.xsd includes all schema files for the EBICS protocol in order to enforce unique element and type names in the EBICS namespace.</documentation>
+ </annotation>
+ <include schemaLocation="ebics_request_H004.xsd"/>
+ <include schemaLocation="ebics_response_H004.xsd"/>
+ <include schemaLocation="ebics_keymgmt_request_H004.xsd"/>
+ <include schemaLocation="ebics_keymgmt_response_H004.xsd"/>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_H005.xsd b/ebics/src/main/resources/xsd/ebics_H005.xsd
new file mode 100644
index 00000000..149bf263
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_H005.xsd
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_H005.xsd inkludiert alle Schemadateien des EBICS-Protokolls, um die Eindeutigkeit von Element- und Typnamen im EBCIS Namespace zu erzwingen.</documentation>
+ <documentation xml:lang="en">ebics_H005.xsd includes all schema files for the EBICS protocol in order to enforce unique element and type names in the EBICS namespace.</documentation>
+ </annotation>
+ <include schemaLocation="ebics_request_H005.xsd"/>
+ <include schemaLocation="ebics_response_H005.xsd"/>
+ <include schemaLocation="ebics_keymgmt_request_H005.xsd"/>
+ <include schemaLocation="ebics_keymgmt_response_H005.xsd"/>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_hev.xsd b/ebics/src/main/resources/xsd/ebics_hev.xsd
new file mode 100644
index 00000000..8ee84587
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_hev.xsd
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ebics="http://www.ebics.org/H000" targetNamespace="http://www.ebics.org/H000" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">ebics_hev.xsd ist das EBICS-Protokollschema entweder für Anfragen oder Rückmeldungen der Bank zu unterstützten EBICS-Versionen.</xs:documentation>
+ <xs:documentation xml:lang="en">ebics_hev.xsd is the appropriate EBICS protocol schema either for requests or responses according the EBICS versions supported by a bank.</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="HostIDType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für die Host-ID.</xs:documentation>
+ <xs:documentation xml:lang="en">Dataype for Host-ID.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="OrderTBaseType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für allgemeine Auftragsarten (Grundtyp).</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for general order types (basic type).</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:length value="3"/>
+ <xs:pattern value="HEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ReturnCodeType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für Antwortcodes.</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for the return code</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:length value="6"/>
+ <xs:pattern value="\d{6}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ReportTextType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für den Erklärungstext zum Antwortcode.</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for report text with respect to the return code</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:normalizedString">
+ <xs:maxLength value="256"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="VersionNumberType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für eine Versionsnummer</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for a release number </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:length value="5"/>
+ <xs:pattern value="[0-9]{2}[.][0-9]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ProtocolVersionType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für Versionsnummer des EBICS-schemas</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for release-number of the EBICS scheme</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:length value="4"/>
+ <xs:pattern value="H\d{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="SystemReturnCodeType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für technische Fehler.</xs:documentation>
+ <xs:documentation xml:lang="en">Datatype for technical error</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="ReturnCode" type="ebics:ReturnCodeType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Rückmeldung des Ausführungsstatus mit einer eindeutigen Fehlernummer.</xs:documentation>
+ <xs:documentation xml:lang="en">Confirmation of the carried out status with a unique error code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReportText" type="ebics:ReportTextType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Klartext der Rückmeldung des Ausführungsstatus.</xs:documentation>
+ <xs:documentation xml:lang="en">Clear text of the response (carried out status).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="HEVRequestDataType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Datentyp für die Request-Daten</xs:documentation>
+ <xs:documentation xml:lang="en">Data type for Request data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="HostID" type="ebics:HostIDType"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="HEVResponseDataType">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">Datentyp für die Response-Daten</xs:documentation>
+ <xs:documentation xml:lang="en">Data type for Request data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="SystemReturnCode" type="ebics:SystemReturnCodeType"/>
+ <xs:element name="VersionNumber" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Von der Bank unterstützte EBICS-Versionen, z.B. 2.4</xs:documentation>
+ <xs:documentation xml:lang="en">EBICS-releases supported by the bank, e.g. 2.4</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="ebics:VersionNumberType">
+ <xs:attribute name="ProtocolVersion" type="ebics:ProtocolVersionType" use="required">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">der EBICS-Version eindeutig zugeordnete Schema-Version, z.B. H003</xs:documentation>
+ <xs:documentation xml:lang="en">EBICS-scheme-version, e.g. H003, well-defined for EBICS-release-Version</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ebicsHEVRequest" type="ebics:HEVRequestDataType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Requestdaten</xs:documentation>
+ <xs:documentation xml:lang="en">request data</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ebicsHEVResponse" type="ebics:HEVResponseDataType">
+ <xs:annotation>
+ <xs:documentation xml:lang="de">Responsedaten</xs:documentation>
+ <xs:documentation xml:lang="en">response data</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd b/ebics/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd
new file mode 100644
index 00000000..4a3d2b0b
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_keymgmt_request_H004.xsd
@@ -0,0 +1,543 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) von benutzerservice benutzerservice (SIZ GmbH) bearbeitet -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_keymgmt_request_H004.xsd ist das EBICS-Protokollschema für Schlüsselmanagement-Anfragen (HIA, HPB, HSA, INI).</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H004.xsd"/>
+ <include schemaLocation="ebics_orders_H004.xsd"/>
+ <complexType name="StaticHeaderBaseType" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header (allgemein).</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nur anzugeben, falls Authentifikationssignatur vorhanden.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nur anzugeben, falls Authentifikationssignatur vorhanden.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:OrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="OrderDetailsType" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header (allgemein).</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderAttribute" type="ebics:OrderAttributeBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsattribut.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="ProductElementType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Element mit Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:ProductType">
+ <attribute name="Language" type="ebics:LanguageType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sprachkennzeichen der Kundenproduktversion (gemäß ISO 639).</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="InstituteID" type="ebics:InstituteIDType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Herausgebers des Kundenprodukts bzw. des betreuenden Kreditinstituts.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den leeren variablen EBICS-Header von Key Managemen Aufträgen.</documentation>
+ </annotation>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="ebicsUnsecuredRequest">
+ <annotation>
+ <documentation>Anfragestruktur für ungesicherte Auftragsarten HIA (Authentifikations- und Verschlüsselungsschlüssel senden) und INI (bankfachllichen Schlüssel senden).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:UnsecuredRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="DataTransfer">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="UnsecuredRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header bei ungesicherten Sendeauftragsarten (Aufträge HIA und INI): kein Nonce, kein Timestamp, keine EU-Datei, keine X001 Authentifizierung, keine Verschlüsselung, keine Digests der öffentlichen Bankschlüssel, Nutzdaten komprimiert, Auftragsattribut DZNNN</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nicht anzugeben für ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nicht anzugeben für ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:UnsecuredReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="UnsecuredReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header von ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderAttribute" type="ebics:OrderAttributeBaseType" fixed="DZNNN">
+ <annotation>
+ <documentation xml:lang="de">Auftragsattribut: DZNNN.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="ebicsNoPubKeyDigestsRequest">
+ <annotation>
+ <documentation>Anfragestruktur für Auftragsarten ohne Übertragung der Digests der öffentlichen Bankschlüssel (HPB Bankschlüssel abholen).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:NoPubKeyDigestsRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ </annotation>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält optionale Zertifikate (vorgesehen).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element ref="ds:X509Data" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">X.509-Daten des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="NoPubKeyDigestsRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header bei Aufträgen ohne Übertragung der Digests der Bankschlüssel (Auftrag HBP): keine Digests der öffentlichen Bankschlüssel, keine EU-Datei, keine Nutzdaten, OrderId optional!, Nonce, Timestamp, X001 Authentifizierung, Auftragsattribut DZHNN</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:NoPubKeyDigestsReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="NoPubKeyDigestsReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header von ebicsNoPubKeyDigestsRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderAttribute" type="ebics:OrderAttributeBaseType" fixed="DZHNN">
+ <annotation>
+ <documentation xml:lang="de">Auftragsattribut: DZHNN.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="ebicsUnsignedRequest">
+ <annotation>
+ <documentation xml:lang="en">The structure for uploads contains order data and the ESs, but without an authentication signature and data digest of bank keys.</documentation>
+ <documentation>Anfragestruktur für Sendeaufträge mit EU-Datei und Nutzdaten aber ohne Authentifizierungssignatur und Digests der Bankschlüssel.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="en">Contains technical transaction data.</documentation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:UnsignedRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="en">Contains all fixed header entries.</documentation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="en">Contains all mutable header entries.</documentation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="en">Contains the order data and the ESs.</documentation>
+ <documentation xml:lang="de">enthält die Auftragsdaten und EUs.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="DataTransfer">
+ <annotation>
+ <documentation xml:lang="en">Transfer of order data and the ESs.</documentation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten und EUs.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="SignatureData">
+ <annotation>
+ <documentation xml:lang="en">Contains the ESs.</documentation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="en">Contains the order data</documentation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="UnsignedRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header für ebicsUnsignedRequest.Datentyp für den statischen EBICS-Header bei Aufträgen ohne Authentifizierungssignatur (Auftrag HSA): keine X001 Authentifizierung, keine Digests der öffentlichen Bankschlüssel, EU-Datei, Nutzdaten, Nonce, Timestamp, OrderId, Auftragsattribut OZNNN</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nicht anzugeben bei ebicsUnsignedRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nicht anzugeben bei ebicsUnsignedRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:UnsignedReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="UnsignedReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header von ebicsUnsignedRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderAttribute" type="ebics:OrderAttributeBaseType" fixed="OZNNN">
+ <annotation>
+ <documentation xml:lang="de">Auftragsattribut: OZNNN.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd b/ebics/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
new file mode 100644
index 00000000..cb93d3c4
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
@@ -0,0 +1,523 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by EBICS Working Group - October 2016 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_keymgmt_request_H005.xsd ist das EBICS-Protokollschema für Schlüsselmanagement-Anfragen (HIA, HPB, HSA, INI).</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H005.xsd"/>
+ <include schemaLocation="ebics_orders_H005.xsd"/>
+ <complexType name="StaticHeaderBaseType" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header (allgemein).</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nur anzugeben, falls Authentifikationssignatur vorhanden.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nur anzugeben, falls Authentifikationssignatur vorhanden.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:OrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="OrderDetailsType" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header (allgemein).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="ProductElementType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Element mit Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:ProductType">
+ <attribute name="Language" type="ebics:LanguageType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sprachkennzeichen der Kundenproduktversion (gemäß ISO 639).</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="InstituteID" type="ebics:InstituteIDType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Herausgebers des Kundenprodukts bzw. des betreuenden Kreditinstituts.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den leeren variablen EBICS-Header von Key Managemen Aufträgen.</documentation>
+ </annotation>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="ebicsUnsecuredRequest">
+ <annotation>
+ <documentation>Anfragestruktur für ungesicherte Auftragsarten HIA (Authentifikations- und Verschlüsselungsschlüssel senden) und INI (bankfachllichen Schlüssel senden).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:UnsecuredRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="DataTransfer">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="UnsecuredRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header bei ungesicherten Sendeauftragsarten (Aufträge HIA und INI): kein Nonce, kein Timestamp, keine EU-Datei, keine X001 Authentifizierung, keine Verschlüsselung, keine Digests der öffentlichen Bankschlüssel, Nutzdaten komprimiert</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nicht anzugeben für ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nicht anzugeben für ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:UnsecuredReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="UnsecuredReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header von ebicsUnsecuredRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="ebicsNoPubKeyDigestsRequest">
+ <annotation>
+ <documentation>Anfragestruktur für Auftragsarten ohne Übertragung der Digests der öffentlichen Bankschlüssel (HPB Bankschlüssel abholen).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:NoPubKeyDigestsRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ </annotation>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält optionale Zertifikate (vorgesehen).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element ref="ds:X509Data" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">X.509-Daten des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="NoPubKeyDigestsRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header bei Aufträgen ohne Übertragung der Digests der Bankschlüssel (Auftrag HBP): keine Digests der öffentlichen Bankschlüssel, keine EU-Datei, keine Nutzdaten, OrderId optional!, Nonce, Timestamp, X001 Authentifizierung, Auftragsattribut DZHNN</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:NoPubKeyDigestsReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="NoPubKeyDigestsReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de"> Datentyp für OrderDetails im statischen EBICS-Header von ebicsNoPubKeyDigestsRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="ebicsUnsignedRequest">
+ <annotation>
+ <documentation xml:lang="en">The structure for uploads contains order data and the ESs, but without an authentication signature and data digest of bank keys.</documentation>
+ <documentation>Anfragestruktur für Sendeaufträge mit EU-Datei und Nutzdaten aber ohne Authentifizierungssignatur und Digests der Bankschlüssel.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="en">Contains technical transaction data.</documentation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:UnsignedRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="en">Contains all fixed header entries.</documentation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:EmptyMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="en">Contains all mutable header entries.</documentation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="en">Contains the order data and the ESs.</documentation>
+ <documentation xml:lang="de">enthält die Auftragsdaten und EUs.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="DataTransfer">
+ <annotation>
+ <documentation xml:lang="en">Transfer of order data and the ESs.</documentation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten und EUs.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="SignatureData">
+ <annotation>
+ <documentation xml:lang="en">Contains the ESs.</documentation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="en">Contains the order data</documentation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="UnsignedRequestStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header für ebicsUnsignedRequest.Datentyp für den statischen EBICS-Header bei Aufträgen ohne Authentifizierungssignatur (Auftrag HSA): keine X001 Authentifizierung, keine Digests der öffentlichen Bankschlüssel, EU-Datei, Nutzdaten, Nonce, Timestamp, OrderId, Auftragsattribut OZNNN</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:StaticHeaderBaseType">
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <element name="Nonce" type="ebics:NonceType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig; nicht anzugeben bei ebicsUnsignedRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung; nicht anzugeben bei ebicsUnsignedRequest.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" type="ebics:ProductElementType" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetails" type="ebics:UnsignedReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ </annotation>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="UnsignedReqOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für OrderDetails im statischen EBICS-Header von ebicsUnsignedRequest.</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:OrderDetailsType">
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd b/ebics/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd
new file mode 100644
index 00000000..6de6984f
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_keymgmt_response_H004.xsd
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) von benutzerservice benutzerservice (SIZ GmbH) bearbeitet -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_keymgmt_response_H004.xsd ist das EBICS-Protokollschema für Schlüsselmanagement-Antwortnachrichten (HIA, HPB, HSA, INI).</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H004.xsd"/>
+ <include schemaLocation="ebics_orders_H004.xsd"/>
+ <element name="ebicsKeyManagementResponse">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard des Zentralen Kreditausschusses (ZKA): Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="mutable" type="ebics:KeyMgmntResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten und den fachlichen ReturnCode.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataTransfer" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten; nur bei Download anzugeben (HPB).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Verschlüsselung der Auftragsdaten</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ReturnCode">
+ <annotation>
+ <documentation xml:lang="de">Antwortcode für den vorangegangenen Transfer.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ReturnCodeType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TimestampBankParameter" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter; nur in der Initialisierungsphase anzugeben.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:TimestampType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="KeyMgmntResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer von Sendeaufträgen gemäß DFÜ-Abkommen (used for all key management order types except download order type HPB).</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Rückmeldung des Ausführungsstatus mit einer eindeutigen Fehlernummer.</documentation>
+ </annotation>
+ </element>
+ <element name="ReportText" type="ebics:ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Klartext der Rückmeldung des Ausführungsstatus.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd b/ebics/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
new file mode 100644
index 00000000..dfc33909
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by EBICS Working Group - October 2016 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_keymgmt_response_H005.xsd ist das EBICS-Protokollschema für Schlüsselmanagement-Antwortnachrichten (HIA, HPB, HSA, INI).</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H005.xsd"/>
+ <include schemaLocation="ebics_orders_H005.xsd"/>
+ <element name="ebicsKeyManagementResponse">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard des Zentralen Kreditausschusses (ZKA): Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ </annotation>
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <element name="mutable" type="ebics:KeyMgmntResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten und den fachlichen ReturnCode.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataTransfer" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten; nur bei Download anzugeben (HPB).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Verschlüsselung der Auftragsdaten</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="ReturnCode">
+ <annotation>
+ <documentation xml:lang="de">Antwortcode für den vorangegangenen Transfer.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ReturnCodeType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TimestampBankParameter" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter; nur in der Initialisierungsphase anzugeben.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:TimestampType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ </complexType>
+ </element>
+ <complexType name="KeyMgmntResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer von Sendeaufträgen gemäß DFÜ-Abkommen (used for all key management order types except download order type HPB).</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Rückmeldung des Ausführungsstatus mit einer eindeutigen Fehlernummer.</documentation>
+ </annotation>
+ </element>
+ <element name="ReportText" type="ebics:ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Klartext der Rückmeldung des Ausführungsstatus.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_orders_H004.xsd b/ebics/src/main/resources/xsd/ebics_orders_H004.xsd
new file mode 100644
index 00000000..dfb3914b
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_orders_H004.xsd
@@ -0,0 +1,1892 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Sabine Wenzel (SIZ Bonn) bearbeitet -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S001" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_orders_H004.xsd enthält auftragsbezogene Referenzelemente und auftragsbezogene Typdefinitionen für EBICS.</documentation>
+ <documentation xml:lang="en">ebics_orders_H004.xsd contains order-based reference elements and order-based type definitions for EBICS.</documentation>
+ </annotation>
+ <import namespace="http://www.ebics.org/S001" schemaLocation="ebics_signatures.xsd"/>
+ <include schemaLocation="ebics_types_H004.xsd"/>
+ <!--Es folgen die Elementdefinitionen für neue EBICS-Auftragsarten (Hxx). Die XML-Klartext-Struktur wird im EBICS-Auftragsdatenkontext binär interpretiert.-->
+ <element name="EBICSOrderData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Klartext-Auftragsdaten für neue EBICS-Auftragsarten.</documentation>
+ <documentation xml:lang="en">Order data in XML format for new EBICS order types.</documentation>
+ </annotation>
+ </element>
+ <element name="HAAResponseOrderData" type="ebics:HAAResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HAA (Antwort: abrufbare Auftragsarten abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HAA (response: receive downloadable order types).</documentation>
+ </annotation>
+ </element>
+ <element name="HCARequestOrderData" type="ebics:HCARequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HCA (Anfrage: Änderung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Order data for order type HCA (request: replace user's keys for authentication and encryption).</documentation>
+ </annotation>
+ </element>
+ <element name="HCSRequestOrderData" type="ebics:HCSRequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HCS (Anfrage: Schlüsselwechsel aller Schlüssel).</documentation>
+ <documentation xml:lang="en">Order data for order type HCS (request: replace all keys).</documentation>
+ </annotation>
+ </element>
+ <element name="HIARequestOrderData" type="ebics:HIARequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HIA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Order data for order type HIA (request: initialise user's keys for authentication and encryption).</documentation>
+ </annotation>
+ </element>
+ <element name="H3KRequestOrderData" type="ebics:H3KRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="en">Order data for order type H3K (request: initialise all three user's keys).</documentation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart H3K (Anfrage: Initialisierung aller drei Teilnehmerschlüssel).</documentation>
+ </annotation>
+ </element>
+ <element name="HSARequestOrderData" type="ebics:HSARequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HSA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung, bankfachlich signiert mit Signaturschlüssel aus FTAM).</documentation>
+ <documentation xml:lang="en">Order data for order type HSA (request: initialise the user's keys for authentication and encryption; this request is signed using the user's FTAM signature key).</documentation>
+ </annotation>
+ </element>
+ <element name="HKDResponseOrderData" type="ebics:HKDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HKD (Antwort: Kunden- und Teilnehmerdaten des Kunden abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HKD (response: receive customer-based information on the customer and the customer's users).</documentation>
+ </annotation>
+ <key name="HKDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Schlüssel zur Identifikation des Kontos.</documentation>
+ <documentation xml:lang="en">Key for the identification of the account.</documentation>
+ </annotation>
+ <selector xpath="./ebics:PartnerInfo/ebics:AccountInfo"/>
+ <field xpath="@ID"/>
+ </key>
+ <keyref name="HKDAccountRef" refer="ebics:HKDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Referenz auf die Konten-Identifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">Reference to the account identification keys.</documentation>
+ </annotation>
+ <selector xpath="./ebics:UserInfo/ebics:Permission"/>
+ <field xpath="ebics:AccountID"/>
+ </keyref>
+ </element>
+ <element name="HPBResponseOrderData" type="ebics:HPBResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HPB (Antwort: Transfer der Bankschlüssel).</documentation>
+ <documentation xml:lang="en">Order data for order type HPB (response: receive bank's public keys).</documentation>
+ </annotation>
+ </element>
+ <element name="HPDResponseOrderData" type="ebics:HPDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HPD (Antwort: Bankparameter abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HPD (response: receive bank parameters).</documentation>
+ </annotation>
+ </element>
+ <element name="HTDResponseOrderData" type="ebics:HTDReponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HTD (Antwort: Kunden- und Teilnehmerdaten des Teilnehmers abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HTD (response: receive user-based information on the user's customer and the user herself/himself).</documentation>
+ </annotation>
+ <key name="HTDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Schlüssel zur Identifikation des Kontos.</documentation>
+ <documentation xml:lang="en">Key for the identification of the account.</documentation>
+ </annotation>
+ <selector xpath="./ebics:PartnerInfo/ebics:AccountInfo"/>
+ <field xpath="@ID"/>
+ </key>
+ <keyref name="HTDAccountRef" refer="ebics:HTDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Referenz auf die Konten-Identifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">Reference to the account identification keys.</documentation>
+ </annotation>
+ <selector xpath="./ebics:UserInfo/ebics:Permission"/>
+ <field xpath="ebics:AccountID"/>
+ </keyref>
+ </element>
+ <element name="HVDResponseOrderData" type="ebics:HVDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVD (Antwort: VEU-Status abrufen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVD (response: receive the status of an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVSRequestOrderData" type="ebics:HVSRequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVS (Anfrage: VEU-Storno).</documentation>
+ <documentation xml:lang="en">Order data for order type HVS (request: reject an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVTResponseOrderData" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVT (Antwort: VEU-Transaktionsdetails abrufen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVT (response: receive transaction details of an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:HVTResponseOrderDataType"/>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="HVUResponseOrderData" type="ebics:HVUResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVU (Antwort: VEU-Übersicht abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVU (response: receive summary of orders currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVZResponseOrderData" type="ebics:HVZResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVZ (Antwort: VEU-Übersicht mit Zusatzinformationen abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVZ (response: receive summary of orders currently stored in the distributed signature processing unit with additional information).</documentation>
+ </annotation>
+ </element>
+ <!--Es folgen die Elementdefinitionen für die EU. Die XML-Klartext-Struktur wird im EBICS-Signaturdatenkontext binär interpretiert.-->
+ <element name="EBICSSignatureData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Strukturen für bankfachliche Elektronische Unterschriften (EUs).</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <element name="BankSignatureData" type="ebics:BankSignatureDataSigBookType" substitutionGroup="ebics:EBICSSignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält die EU des Kreditinstituts.</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <!--Es folgen die Elementdefinitionen für zusätzliche Auftragsparameter. Die XML-Klartext-Struktur wird in die Headerdaten eingebettet.-->
+ <element name="OrderParams" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter, die zur Ausführung des Auftrags notwendig sind.</documentation>
+ <documentation xml:lang="en">additional order parameters required to execute the order.</documentation>
+ </annotation>
+ </element>
+ <element name="HVDOrderParams" type="ebics:HVDOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVD.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVD.</documentation>
+ </annotation>
+ </element>
+ <element name="HVEOrderParams" type="ebics:HVEOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVE.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVE.</documentation>
+ </annotation>
+ </element>
+ <element name="HVSOrderParams" type="ebics:HVSOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVS.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVS.</documentation>
+ </annotation>
+ </element>
+ <element name="HVTOrderParams" type="ebics:HVTOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVT.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVT.</documentation>
+ </annotation>
+ </element>
+ <element name="HVUOrderParams" type="ebics:HVUOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVU.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVU.</documentation>
+ </annotation>
+ </element>
+ <element name="HVZOrderParams" type="ebics:HVZOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVZ.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVZ.</documentation>
+ </annotation>
+ </element>
+ <element name="FULOrderParams" type="ebics:FULOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart FUL.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type FUL.</documentation>
+ </annotation>
+ </element>
+ <element name="FDLOrderParams" type="ebics:FDLOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart FDL.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type FDL.</documentation>
+ </annotation>
+ </element>
+ <element name="StandardOrderParams" type="ebics:StandardOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Standard-Auftragsarten.</documentation>
+ <documentation xml:lang="en">additional order parameters for standard order types.</documentation>
+ </annotation>
+ </element>
+ <element name="GenericOrderParams" type="ebics:GenericOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für beliebige Auftragsarten.</documentation>
+ <documentation xml:lang="en">additional order parameters for generic order types.</documentation>
+ </annotation>
+ </element>
+ <!--Es folgen Elementgruppen- und Strukturdefinitionen.-->
+ <group name="HVRequestStructure">
+ <annotation>
+ <documentation xml:lang="de">Standard-Requeststruktur für HVx-Aufträge (HVD, HVT, HVE, HVS).</documentation>
+ <documentation xml:lang="en">Standard request structure for HVx orders (HVD, HVT, HVE, HVS).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Standard-Requestdaten.</documentation>
+ <documentation xml:lang="en">Standard request data.</documentation>
+ </annotation>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Einreichers des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Customer ID of the presenter of the selected order.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Order type of the selected order.</documentation>
+ </annotation>
+ </element>
+ <element name="FileFormat" type="ebics:FileFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Identifizierung des Dateiformats im Falle von FUL/FDL</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Order ID of the selected order.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </group>
+ <attributeGroup name="AuthenticationMarker">
+ <annotation>
+ <documentation xml:lang="de">Marker für Elemente und deren Substrukturen, die authentifiziert werden sollen.</documentation>
+ <documentation xml:lang="en">Marker for elements and their substructures that are to be authenticated.</documentation>
+ </annotation>
+ <attribute name="authenticate" type="boolean" use="required" fixed="true">
+ <annotation>
+ <documentation xml:lang="de">Das zugehörige Element ist mitsamt seinen Unterstrukturen zu authentifizieren.</documentation>
+ <documentation xml:lang="en">The element (and its substructures) that belongs to this attribute is to be authenticated.</documentation>
+ </annotation>
+ </attribute>
+ </attributeGroup>
+ <attributeGroup name="OptSupportFlag">
+ <annotation>
+ <documentation xml:lang="de">optionales Support-Flag, Default = true.</documentation>
+ <documentation xml:lang="en">optional support flag, default = true.</documentation>
+ </annotation>
+ <attribute name="supported" type="boolean" use="optional" default="true">
+ <annotation>
+ <documentation xml:lang="de">Wird die Funktion unterstützt?</documentation>
+ <documentation xml:lang="en">Is this function supported?</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </attributeGroup>
+ <attributeGroup name="SignerPermission">
+ <annotation>
+ <documentation xml:lang="de">EU-Berechtigungsinformationen.</documentation>
+ <documentation xml:lang="en">permission information of a user's digital signature.</documentation>
+ </annotation>
+ <attribute name="AuthorisationLevel" type="ebics:AuthorisationLevelType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Unterschriftsberechtigung des Teilnehmers, der unterzeichnet hat.</documentation>
+ <documentation xml:lang="en">Authorisation level of the user that signed the order.</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </attributeGroup>
+ <!--Es folgen Typdefinitionen für auftragsbezogene komplexe Typen.-->
+ <complexType name="BankSignatureDataSigBookType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Signaturdaten des Kreditinstituts beim EU-Transfer.</documentation>
+ <documentation xml:lang="en">Data type for digital signature data transferred using EBICS.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderSignature" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift.</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureType"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PreValidationRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Vorabprüfung (Anfrage).</documentation>
+ <documentation xml:lang="en">Data type for pre-validation (request).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Client sendet den Hashwert der Auftragsdaten und alle weiteren Daten, die er im Rahmen der Vorabprüfung zur Verfügung stellen will</documentation>
+ </annotation>
+ <element name="DataDigest" type="ebics:DataDigestType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der zu übertragenden Auftragsdatendatei für die Vorabprüfung.</documentation>
+ </annotation>
+ </element>
+ <element name="AccountAuthorisation" type="ebics:PreValidationAccountAuthType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Kontoangabe zur Kontoberechtigung für diesen Zahlungsverkehrsauftrag bei der Vorabprüfung.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PreValidationAccountAuthType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontenberechtigungsdaten zur Vorabprüfung.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:AccountType">
+ <sequence>
+ <element name="Amount" type="ebics:AmountType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Summe der Zahlungsverkehrsaufträge dieses Kontos für die Höchstbetragsprüfung der EU.</documentation>
+ <documentation xml:lang="en">Total sum of the ordered payments regarding this account in order to check the maximum amount limit of the signature permission grades.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="DataTransferRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Auftragsdaten (Anfrage).</documentation>
+ </annotation>
+ <sequence>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Transaktionsphase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungsphase: Transfer der Signaturdaten (EUs) und des Transaktionsschlüssels.</documentation>
+ </annotation>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Information zur Verschlüsselung der Signatur- und Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="SignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Transferphase: Transfer von Auftragsdaten.</documentation>
+ </annotation>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </choice>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="DataTransferResponseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Auftragsdaten (Antwort).</documentation>
+ </annotation>
+ <sequence>
+ <sequence minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer des Sitzungsschlüssels und (optional) der Signaturdaten (EUs); nur in der Initialisierungsphase anzugeben.</documentation>
+ </annotation>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Information zur Verschlüsselung der Signatur- und Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="SignatureData" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="TransferReceiptRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Transferquittungen.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ReceiptCode" type="ebics:ReceiptCodeType">
+ <annotation>
+ <documentation xml:lang="de">Quittierungscode für Auftragsdatentransfer.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="TransferReceiptResponseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Antwortcodes.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ReturnCodeReceipt" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Antwortcode für den vorangegangenen Transfer.</documentation>
+ </annotation>
+ </element>
+ <element name="TimestampBankParameter" type="ebics:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HAAResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HAA (Antwort: abrufbare Auftragsarten abholen).</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderTypes" type="ebics:OrderTListType">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die Daten bereit stehen.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HCARequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HCA (Anfrage: Änderung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HCSRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HCS (Anfrage: Schlüsselwechsel aller Schlüssel).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element ref="esig:SignaturePubKeyInfo"/>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HIARequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HIA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="H3KRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart H3K (Anfrage: Initialisierung aller drei Teilnehmerschlüssel).</documentation>
+ <documentation xml:lang="en">Order type for order data H3K (request: initialise all three user's keys).</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignatureCertificateInfo" type="ebics:SignatureCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Key for electronic Signature</documentation>
+ <documentation xml:lang="de">Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="AuthenticationCertificateInfo" type="ebics:AuthenticationCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Authentication key</documentation>
+ <documentation xml:lang="de">Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionCertificateInfo" type="ebics:EncryptionCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Encryption key</documentation>
+ <documentation xml:lang="de">Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="en">PartnerID.</documentation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="en">UserID.</documentation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="HSARequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HSA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung, bankfachlich signiert mit FTAM-Schlüssel).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HKDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HKD (Antwort: Kunden- und Teilnehmerdaten des Kunden abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HKD (response: receive customer based information on the customer and the customer's user.</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerInfo" type="ebics:PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Kundendaten.</documentation>
+ <documentation xml:lang="en">Customer data.</documentation>
+ </annotation>
+ </element>
+ <element name="UserInfo" type="ebics:UserInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmerdaten.</documentation>
+ <documentation xml:lang="en">User data.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPBResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HPB (Antwort: Transfer der Bankschlüssel).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element ref="esig:SignaturePubKeyInfo" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher EU-Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HPD (Antwort: Bankparameter abholen).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AccessParams" type="ebics:HPDAccessParamsType">
+ <annotation>
+ <documentation xml:lang="de">Zugangsparameter.</documentation>
+ </annotation>
+ </element>
+ <element name="ProtocolParams" type="ebics:HPDProtocolParamsType">
+ <annotation>
+ <documentation xml:lang="de">Protokollparameter.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="HPDAccessParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Zugangsparameter.</documentation>
+ </annotation>
+ <sequence>
+ <element name="URL" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">institutsspezifische IP-Adresse/URL.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute name="valid_from" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Gültigkeitsbeginn für die angegebene URL/IP.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Institute">
+ <annotation>
+ <documentation xml:lang="de">Institutsbezeichnung.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="normalizedString">
+ <maxLength value="80"/>
+ </restriction>
+ </simpleType>
+ </element>
+ <element name="HostID" type="ebics:HostIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDProtocolParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Protokollparameter.</documentation>
+ <documentation xml:lang="en">Data type for HPD's parameters regarding the EBICS protocol.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Version" type="ebics:HPDVersionType">
+ <annotation>
+ <documentation xml:lang="de">Spezifikation unterstützter Versionen.</documentation>
+ <documentation xml:lang="en">Specification of supported versions..</documentation>
+ </annotation>
+ </element>
+ <element name="Recovery" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur Recovery-Funktion (Wiederaufnahme abgebrochener Übertragungen).</documentation>
+ <documentation xml:lang="en">Parameter denoting the recovery function (recovery of aborted transmissions).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="PreValidation" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur Vorabprüfung (über die Übermittlung der EU hinaus).</documentation>
+ <documentation xml:lang="en">Parameter denoting the pre-validation (beyond transmission of signatures).</documentation>
+ </annotation>
+ <complexType>
+ <annotation>
+ <documentation xml:lang="de">Optionales Support-Flag, Default = true.</documentation>
+ <documentation xml:lang="en">Optional support flag, default = true.</documentation>
+ </annotation>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="X509Data" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur X.509-Funktionalität.</documentation>
+ <documentation xml:lang="en">Parameter denoting the X.509 functionality.</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ <attribute name="persistent" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Sind die X.509-Daten der Teilnehmer serverseitig persistent gespeichert?</documentation>
+ <documentation xml:lang="en">Will the user's X.509 data be stored persistently on server side?</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="ClientDataDownload" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zum Download von Kunden- und Teilnehmerdaten (Auftragsarten HKD/HTD).</documentation>
+ <documentation xml:lang="en">Parameter denoting the download of customer and user data (order types HKD/HTD).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="DownloadableOrderData" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zum Abruf von Auftragsarten, zu denen Auftragsdaten verfügbar sind (Auftragsart HAA).</documentation>
+ <documentation xml:lang="en">Parameter denoting the reception of order types which provides downloadable order data (order type HAA).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Versionsinformationen.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Protocol">
+ <annotation>
+ <documentation xml:lang="de">unterstützte EBICS-Protokollversionen (H...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:ProtocolVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Authentication">
+ <annotation>
+ <documentation xml:lang="de">unterstützte Versionen der Authentifikation (X...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:AuthenticationVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Encryption">
+ <annotation>
+ <documentation xml:lang="de">unterstützte Versionen der Verschlüsselung (E...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:EncryptionVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Signature">
+ <annotation>
+ <documentation xml:lang="de">unterstützte EU-Versionen (A...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="esig:SignatureVersionType"/>
+ </simpleType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HTDReponseOrderDataType">
+ <annotation>
+ <documentation>Datentyp für Auftragsdaten für Auftragsart HTD (Antwort: Kunden- und Teilnehmerdaten des Teilnehmers abholen).</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerInfo" type="ebics:PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Kundendaten.</documentation>
+ <documentation xml:lang="en">Customer data.</documentation>
+ </annotation>
+ </element>
+ <element name="UserInfo" type="ebics:UserInfoType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmerdaten.</documentation>
+ <documentation xml:lang="en">User data.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVD (Antwort: VEU-Status abrufen).</documentation>
+ </annotation>
+ <sequence>
+ <element name="DataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the order data.</documentation>
+ </annotation>
+ </element>
+ <element name="DisplayFile" type="base64Binary">
+ <annotation>
+ <documentation xml:lang="de">Begleitzettel/"Displaydatei" (entspricht der Dateianzeige im Kundenprotokoll gemäß DFÜ-Abkommen).</documentation>
+ <documentation xml:lang="en">Accompanying ticket/"display file" (corresponds to the display file of the customer's journal according to the document "DFÜ-Abkommen").</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Kann die Auftragsdatei im Originalformat abgeholt werden? (HVT mit completeOrderData=true)</documentation>
+ <documentation xml:lang="en">Can the order file be downloaded in the original format? (HVT with completeOrderData=true)</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ <documentation xml:lang="en">Size of the uncompressed order data (byte count).</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetailsAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Können die Auftragsdetails als XML-Dokument HVTResponseOrderData abgeholt werden? (HVT mit completeOrderData=false)</documentation>
+ <documentation xml:lang="en">Can the order details be downloaded as XML document HVTResponseOrderData? (HVT with completeOrderData=false)</documentation>
+ </annotation>
+ </element>
+ <element name="BankSignature" type="ebics:SignatureType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift des Kreditinstituts über Hashwert und Displaydatei.</documentation>
+ <documentation xml:lang="en">Digital Signature issued by the bank, covering the hash value and the accompanying ticket.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ <documentation xml:lang="en">Information about the already existing signers.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVDOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVD.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVEOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVE.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVSOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVS.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVSRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVS (Anfrage: VEU-Storno).</documentation>
+ </annotation>
+ <sequence>
+ <element name="CancelledDataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten des stornierten Auftrags.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Antwort mit Einzelauftraginfos für Auftragsart HVT (Antwort VEU-Transaktionsdetails abrufen mit completeOrderData="false").</documentation>
+ </annotation>
+ <sequence>
+ <element name="NumOrderInfos" type="ebics:NumOrderInfosType">
+ <annotation>
+ <documentation xml:lang="de">Gesamtanzahl der Einzelaufträge für den Auftrag.</documentation>
+ <documentation xml:lang="en">Total number of order infos for the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderInfo" type="ebics:HVTOrderInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Einzelauftragsinfos.</documentation>
+ <documentation xml:lang="en">Particular order content information requested for display matters.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTAccountInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVT-Konteninformationen.</documentation>
+ <documentation xml:lang="en">Data type for account information regarding order type HVT.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:AttributedAccountType"/>
+ </complexContent>
+ </complexType>
+ <complexType name="HVTOrderInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVT-Auftragsinformationen.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderFormat" type="ebics:OrderFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsformat (z.B. DTAZV).</documentation>
+ </annotation>
+ </element>
+ <element name="AccountInfo" type="ebics:HVTAccountInfoType" minOccurs="2" maxOccurs="3">
+ <annotation>
+ <documentation xml:lang="de">kontobezogene Details des Auftrags (Auftraggeber, Empfänger etc.).</documentation>
+ </annotation>
+ </element>
+ <element name="ExecutionDate" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Ausführungsdatum.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="date"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Amount">
+ <annotation>
+ <documentation xml:lang="de">Betrag.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="isCredit" type="boolean" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Gutschrift (isCredit = "true") oder Lastschrift (isCredit = "false")?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Währungscode.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Description" minOccurs="0" maxOccurs="4">
+ <annotation>
+ <documentation xml:lang="de">Textfeld zur weiteren Beschreibung der Transaktion (Verwendungszweck, Auftragsdetails, Kommentar).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Type" use="required">
+ <annotation>
+ <documentation xml:lang="de">Beschreibungstyp.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="token">
+ <enumeration value="Purpose">
+ <annotation>
+ <documentation xml:lang="de">Verwendungszweck</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Details">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Comment">
+ <annotation>
+ <documentation xml:lang="de">Kommentar</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTOrderFlagsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVT-Auftragsflags.</documentation>
+ </annotation>
+ <attribute name="completeOrderData" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sollen die Transaktionsdetails als Einzelauftragsinfos (completeOrderData=false) oder als komplette Originaldaten (completeOrderData=true) übertragen werden? (Vorschlag für Default=false)</documentation>
+ <documentation xml:lang="en">Are the transaction details so be transmitted as particular order content information requested for display matters or in complete order data file form? (Proposal for Default=false)</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="fetchLimit" use="required">
+ <annotation>
+ <documentation xml:lang="de">Limit für die zu liefernden Transaktionsdetails, bei completeOrderData=false maximale Anzahl zu liefernder Einzelauftragsinfos, 0 für unbegrenzt (Vorschlag für Default=100).</documentation>
+ <documentation xml:lang="en">Limit for the transaction details to be transmitted; if completeOrderData=false, maximum number of details of a particular order; 0 for unlimited number of details (Proposal for Default=100).</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="fetchOffset" use="required">
+ <annotation>
+ <documentation xml:lang="de">Offset vom Anfang der Originalauftragsdatei für die zu liefernden Transaktionsdetails, bei completeOrderData=false bezogen auf laufende Nummer des Einzelauftrags (Vorschlag für Default=0).</documentation>
+ <documentation xml:lang="en">Offset position in the original order file which marks the starting point for the transaction details to be transmitted; applies to the sequential number of a particular order if completeOrderData=false (Proposal for Default=0).</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ <complexType name="HVTOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVT.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVT.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <element name="OrderFlags">
+ <annotation>
+ <documentation xml:lang="de">spezielle Flags für HVT-Aufträge.</documentation>
+ <documentation xml:lang="en">Special order flags for orders of type HVT.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:HVTOrderFlagsType"/>
+ </complexContent>
+ </complexType>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Generische Schlüssel-Wert-Parameter</documentation>
+ <documentation xml:lang="en">Generic key-value parameters</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVU (Antwort: VEU-Übersicht abholen).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="OrderDetails" type="ebics:HVUOrderDetailsType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Auftragsinformationen.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVU-Auftragsdetails.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Type of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="FileFormat" type="ebics:FileFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ </annotation>
+ </element>
+ <element name="SigningInfo" type="ebics:HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Unterschriftsmodalitäten.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ </annotation>
+ </element>
+ <element name="OriginatorInfo" type="ebics:HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zum Einreicher.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVU.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderTypes" type="ebics:OrderTListType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die zur Unterschrift vorliegende Aufträge abgerufen werden sollen; falls nicht angegeben, werden sämtliche für den Teilnehmer unterschriftsfähigen Aufträge abgerufen.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVZ.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderTypes" type="ebics:OrderTListType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die zur Unterschrift vorliegende Aufträge abgerufen werden sollen; falls nicht angegeben, werden sämtliche für den Teilnehmer unterschriftsfähigen Aufträge abgerufen.</documentation>
+ <documentation xml:lang="de">List of order types that the orders ready to be signed by the requesting user should match; if not specified, a list of all orders ready to be signed by the requesting user is returned.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zu den HVU-Unterschriftsmodalitäten.</documentation>
+ </annotation>
+ <attribute name="readyToBeSigned" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist der Auftrag unterschriftsreif ("true") oder bereits vom Teilnehmer unterschrieben ("false")?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="NumSigRequired" type="positiveInteger" use="required">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der insgesamt zur Freigabe erforderlichen EUs.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="NumSigDone" type="nonNegativeInteger" use="required">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der bereits geleisteten EUs.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <complexType name="HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zum Ersteller eines HVU-Auftrags.</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der Einreichung (d.h. der Übertragung der Auftragsdatei).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##targetNamespace" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVZ (Antwort: VEU-Übersicht mit Zusatzinformationen abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVZ (response: receive summary of orders currently stored in the distributed signature processing unit with additional informations).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="OrderDetails" type="ebics:HVZOrderDetailsType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Auftragsinformationen.</documentation>
+ <documentation xml:lang="en">Summary of order information.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVZ-Auftragsdetails.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Type of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="FileFormat" type="ebics:FileFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">ID number of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="DataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the order data.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Kann die Auftragsdatei im Originalformat abgeholt werden? (HVT mit completeOrderData=true).</documentation>
+ <documentation xml:lang="en">Can the order file be downloaded in the original format? (HVT with completeOrderData=true)</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ <documentation xml:lang="en">Size of uncompressed order data in Bytes.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetailsAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Können die Auftragsdetails als XML-Dokument HVTResponseOrderData abgeholt werden? (HVT mit completeOrderData=false).</documentation>
+ <documentation xml:lang="en">Can the order details be downloaded as XML document HVTResponseOrderData? (HVT with completeOrderData=false)</documentation>
+ </annotation>
+ </element>
+ <group ref="ebics:HVZPaymentOrderDetailsStructure" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zusätzliche Auftragsdetails nur für Zahlungsaufträge.</documentation>
+ <documentation xml:lang="en">Order details related to payment orders only.</documentation>
+ </annotation>
+ </group>
+ <element name="SigningInfo" type="ebics:HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Unterschriftsmodalitäten.</documentation>
+ <documentation xml:lang="en">Information regarding the signing modalities of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ <documentation xml:lang="en">Information regarding the users who already signed the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OriginatorInfo" type="ebics:HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zum Einreicher.</documentation>
+ <documentation xml:lang="en">Information regarding the originator of the order.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <group name="HVZPaymentOrderDetailsStructure">
+ <annotation>
+ <documentation xml:lang="de">Standard-Requeststruktur für HVx-Aufträge (HVD, HVT, HVE, HVS).</documentation>
+ <documentation xml:lang="en">Standard structure for HVZ OrderDetails related to payment orders</documentation>
+ </annotation>
+ <sequence>
+ <element name="TotalOrders" type="nonNegativeInteger" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der Zahlungssätze über alle logische Dateien entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Total transaction number for all logical files (from dispay file).</documentation>
+ </annotation>
+ </element>
+ <element name="TotalAmount" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Summe der Beträge über alle logische Dateien entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Total transaction amount for all logical files (from dispay file).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="isCredit" type="boolean" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Nur Gutschriften (isCredit = "true") oder nur Lastschriften (isCredit = "false")? Sonst keine Nutzung des Elements.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Currency" type="ebics:CurrencyBaseType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragswährung (nur bei sortenreinen Zahlungen, sonst keine Angabe).</documentation>
+ <documentation xml:lang="en">Order currency (only if identical across all transactions, ship otherwise).</documentation>
+ </annotation>
+ </element>
+ <element name="FirstOrderInfo" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Informationen aus Dateianzeige der ersten logischen Datei.</documentation>
+ <documentation xml:lang="en">Order details from display file for first logical file.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="OrderPartyInfo" type="normalizedString" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeber entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Order party information (from display file).</documentation>
+ </annotation>
+ </element>
+ <element name="AccountInfo" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Erstes Auftraggeberkonto entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">First order party account (from display file).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Account number (German format or international as IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Account number given in German format (international=false) or in international format (international=true, IBAN)?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account number in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format type.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank sort code (German format or international as SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Bank sort code given in German format (international=false) or in international format (international=true, SWIFT-BIC)?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National prefix for bank sort code.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank sort code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format type.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </group>
+ <complexType name="SignerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zu einem Unterzeichner eines VEU-Auftrags (HVU, HVD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der Unterzeichnung (d.h. der Übertragung der Unterschrift).</documentation>
+ </annotation>
+ </element>
+ <element name="Permission">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Informationen zu den Berechtigungen des Teilnehmers, der unterzeichnet hat.</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:SignerPermission"/>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="UserPermissionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Berechtigungsinformationen des Teilnehmers (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderTypes" type="ebics:OrderTListType">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die die Berechtigung des Teilnehmers gültig ist.</documentation>
+ <documentation xml:lang="en">List of order types which the user's permission belongs to.</documentation>
+ </annotation>
+ </element>
+ <element name="FileFormat" type="ebics:FileFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Identifikation des Dateiformats im Falle von FUL/FDL</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="AccountID" type="ebics:AccountIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Verweis auf den Identifikationscode des berechtigten Kontos.</documentation>
+ <documentation xml:lang="en">Identification codes of the affected accounts.</documentation>
+ </annotation>
+ </element>
+ <element name="MaxAmount" type="ebics:AmountType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Betragshöchstgrenze, bis zu der die Berechtigung des Teilnehmers gültig ist.</documentation>
+ <documentation xml:lang="en">Maximum total amount which the user's permission is valid for.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthorisationLevel" type="ebics:AuthorisationLevelType">
+ <annotation>
+ <documentation xml:lang="de">Unterschriftsklasse, für die der Teilnehmer berechtigt ist; nicht anzugeben bei Download-Auftragsarten.</documentation>
+ <documentation xml:lang="en">Authorization level of the user who signed the order; to be omitted for orders of type "download".</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ <complexType name="PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Partnerdaten (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for customer data with regard to distributed signatures (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AddressInfo" type="ebics:AddressInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Adresse des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's adress.</documentation>
+ </annotation>
+ </element>
+ <element name="BankInfo" type="ebics:BankInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Kreditinstitutsanbindung des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's banking access paramters.</documentation>
+ </annotation>
+ </element>
+ <element name="AccountInfo" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Konten des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's accounts.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:AccountType">
+ <sequence>
+ <element name="UsageOrderTypes" type="ebics:OrderTListType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Liste der Auftragsartenbeschränkungen; falls nicht angegeben, gibt es keine Auftragsartenbeschränkungen; falls Liste leer, ist das Konto für keine Auftragsart freigegeben.</documentation>
+ <documentation xml:lang="en">List containing the order types which contain this account is restricted to; if omitted, the account is unrestricted; if the list is empty the account is blocked for any order type.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="ID" type="ebics:AccountIDType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Identifikationscode des Kontos.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="OrderInfo" type="ebics:AuthOrderInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Auftragsarten, für die der Kunde berechtigt ist.</documentation>
+ <documentation xml:lang="en">Information about order types which the customer is authorised to use.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="AddressInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Adressinformationen (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for address information with regard to distributed signature (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kunden.</documentation>
+ <documentation xml:lang="en">Customer's name.</documentation>
+ </annotation>
+ </element>
+ <element name="Street" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Straße und Hausnummer.</documentation>
+ <documentation xml:lang="en">Street and house number.</documentation>
+ </annotation>
+ </element>
+ <element name="PostCode" type="token" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Postleitzahl.</documentation>
+ <documentation xml:lang="en">Postal code.</documentation>
+ </annotation>
+ </element>
+ <element name="City" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Stadt.</documentation>
+ <documentation xml:lang="en">City.</documentation>
+ </annotation>
+ </element>
+ <element name="Region" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Region / Bundesland / Bundesstaat.</documentation>
+ <documentation xml:lang="en">Region / province / federal state.</documentation>
+ </annotation>
+ </element>
+ <element name="Country" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Land.</documentation>
+ <documentation xml:lang="en">Country.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="BankInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Kreditinstitutsinformationen (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ </annotation>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="UserInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Teilnehmerinformationen (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="UserID">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:UserIDType">
+ <attribute name="Status" type="ebics:UserStatusType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Status des Teilnehmers.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="Permission" type="ebics:UserPermissionType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Berechtigungen des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="AuthOrderInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Berechtigungsinformationen zu Auftragsarten (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for user permissions with regard to distributed signatures (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="FileFormat" type="ebics:FileFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Identifikation des Dateiformats im Falle von FUL/FDL</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="TransferType" type="ebics:TransferType">
+ <annotation>
+ <documentation xml:lang="de">Transfertyp (Upload/Download).</documentation>
+ </annotation>
+ </element>
+ <element name="OrderFormat" type="ebics:OrderFormatType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsformat (z.B. DTAZV).</documentation>
+ </annotation>
+ </element>
+ <element name="Description" type="ebics:OrderDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Beschreibung der Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSigRequired" type="nonNegativeInteger" default="0" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Anzahl erforderlicher EUs (Default=0).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="StandardOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter bei Standard-Auftragsarten.</documentation>
+ </annotation>
+ <sequence>
+ <element name="DateRange" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Datumsbereich (von-bis).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Start" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Startdatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ <element name="End" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Enddatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="GenericOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für beliebige Auftragsarten.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="FULOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart FUL.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="FileFormat" type="ebics:FileFormatType">
+ <annotation>
+ <documentation xml:lang="de">Bezeichnung des Dateiformats</documentation>
+ <documentation xml:lang="en">Name of data format</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="FDLOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart FDL.</documentation>
+ </annotation>
+ <sequence>
+ <element name="DateRange" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Datumsbereich (von-bis).</documentation>
+ <documentation xml:lang="en">Range of date (from-to).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Start" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Startdatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ <element name="End" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Enddatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="FileFormat" type="ebics:FileFormatType">
+ <annotation>
+ <documentation xml:lang="de">Bezeichnung des Dateiformats</documentation>
+ <documentation xml:lang="en">Name of data format</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <attributeGroup name="VersionAttrGroup">
+ <annotation>
+ <documentation xml:lang="de">Attribute zur EBICS-Protokollversion und -revision.</documentation>
+ <documentation xml:lang="en">Attributes regarding the protocol version and revision of EBICS.</documentation>
+ </annotation>
+ <attribute name="Version" type="ebics:ProtocolVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des EBICS-Protokolls (z.B. "H00x").</documentation>
+ <documentation xml:lang="en">Version of the EBICS protocol (e.g. "H00x").</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Revision" type="ebics:ProtocolRevisionType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Revision des EBICS-Protokolls (z.B. 1).</documentation>
+ <documentation xml:lang="en">Revision of the EBICS protocol (e.g. 1).</documentation>
+ </annotation>
+ </attribute>
+ </attributeGroup>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_orders_H005.xsd b/ebics/src/main/resources/xsd/ebics_orders_H005.xsd
new file mode 100644
index 00000000..30db1213
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_orders_H005.xsd
@@ -0,0 +1,2094 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2017 sp2 (http://www.altova.com) by EBICS Working Group (July 3rd 2017) - Compared to the status of March 27th 2017 only the element group standardOrderParams was reinserted (as used in schema version H004) and several annotations in English added -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S002" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="en">ebics_orders_H005.xsd contains order-based reference elements and order-based type definitions for EBICS.</documentation>
+ <documentation xml:lang="de">ebics_orders_H005.xsd enthält auftragsbezogene Referenzelemente und auftragsbezogene Typdefinitionen für EBICS.</documentation>
+ </annotation>
+ <import namespace="http://www.ebics.org/S002" schemaLocation="ebics_signature_S002.xsd"/>
+ <include schemaLocation="ebics_types_H005.xsd"/>
+ <!--Element definitions for the new EBICS order types (Hxx) - Binary interpretation of the XML clear text structure in the context.-->
+ <element name="EBICSOrderData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Klartext-Auftragsdaten für neue EBICS-Auftragsarten.</documentation>
+ <documentation xml:lang="en">Order data in XML format for new EBICS order types.</documentation>
+ </annotation>
+ </element>
+ <element name="HAAResponseOrderData" type="ebics:HAAResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HAA (Antwort: abrufbare Auftragsarten abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HAA (response: receive downloadable order types).</documentation>
+ </annotation>
+ </element>
+ <element name="HCARequestOrderData" type="ebics:HCARequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HCA (Anfrage: Änderung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Order data for order type HCA (request: replace user's keys for authentication and encryption).</documentation>
+ </annotation>
+ </element>
+ <element name="HCSRequestOrderData" type="ebics:HCSRequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HCS (Anfrage: Schlüsselwechsel aller Schlüssel).</documentation>
+ <documentation xml:lang="en">Order data for order type HCS (request: replace all keys).</documentation>
+ </annotation>
+ </element>
+ <element name="HIARequestOrderData" type="ebics:HIARequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HIA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Order data for order type HIA (request: initialise user's keys for authentication and encryption).</documentation>
+ </annotation>
+ </element>
+ <element name="H3KRequestOrderData" type="ebics:H3KRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="en">Order data for order type H3K (request: initialise all three user's keys).</documentation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart H3K (Anfrage: Initialisierung aller drei Teilnehmerschlüssel).</documentation>
+ </annotation>
+ </element>
+ <element name="HKDResponseOrderData" type="ebics:HKDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HKD (Antwort: Kunden- und Teilnehmerdaten des Kunden abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HKD (response: receive customer-based information on the customer and the customer's users).</documentation>
+ </annotation>
+ <key name="HKDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Schlüssel zur Identifikation des Kontos.</documentation>
+ <documentation xml:lang="en">Key for the identification of the account.</documentation>
+ </annotation>
+ <selector xpath="./ebics:PartnerInfo/ebics:AccountInfo"/>
+ <field xpath="@ID"/>
+ </key>
+ <keyref name="HKDAccountRef" refer="ebics:HKDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Referenz auf die Konten-Identifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">Reference to the account identification keys.</documentation>
+ </annotation>
+ <selector xpath="./ebics:UserInfo/ebics:Permission"/>
+ <field xpath="ebics:AccountID"/>
+ </keyref>
+ </element>
+ <element name="HPBResponseOrderData" type="ebics:HPBResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HPB (Antwort: Transfer der Bankschlüssel).</documentation>
+ <documentation xml:lang="en">Order data for order type HPB (response: receive bank's public keys).</documentation>
+ </annotation>
+ </element>
+ <element name="HPDResponseOrderData" type="ebics:HPDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HPD (Antwort: Bankparameter abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HPD (response: receive bank parameters).</documentation>
+ </annotation>
+ </element>
+ <element name="HTDResponseOrderData" type="ebics:HTDReponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HTD (Antwort: Kunden- und Teilnehmerdaten des Teilnehmers abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HTD (response: receive user-based information on the user's customer and the user herself/himself).</documentation>
+ </annotation>
+ <key name="HTDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Schlüssel zur Identifikation des Kontos.</documentation>
+ <documentation xml:lang="en">Key for the identification of the account.</documentation>
+ </annotation>
+ <selector xpath="./ebics:PartnerInfo/ebics:AccountInfo"/>
+ <field xpath="@ID"/>
+ </key>
+ <keyref name="HTDAccountRef" refer="ebics:HTDAccountKey">
+ <annotation>
+ <documentation xml:lang="de">Referenz auf die Konten-Identifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">Reference to the account identification keys.</documentation>
+ </annotation>
+ <selector xpath="./ebics:UserInfo/ebics:Permission"/>
+ <field xpath="ebics:AccountID"/>
+ </keyref>
+ </element>
+ <element name="HVDResponseOrderData" type="ebics:HVDResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVD (Antwort: VEU-Status abrufen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVD (response: receive the status of an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVSRequestOrderData" type="ebics:HVSRequestOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVS (Anfrage: VEU-Storno).</documentation>
+ <documentation xml:lang="en">Order data for order type HVS (request: reject an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVTResponseOrderData" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVT (Antwort: VEU-Transaktionsdetails abrufen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVT (response: receive transaction details of an order currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:HVTResponseOrderDataType"/>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="HVUResponseOrderData" type="ebics:HVUResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVU (Antwort: VEU-Übersicht abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVU (response: receive summary of orders currently stored in the distributed signature processing unit).</documentation>
+ </annotation>
+ </element>
+ <element name="HVZResponseOrderData" type="ebics:HVZResponseOrderDataType" substitutionGroup="ebics:EBICSOrderData">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten für Auftragsart HVZ (Antwort: VEU-Übersicht mit Zusatzinformationen abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVZ (response: receive summary of orders currently stored in the distributed signature processing unit with additional information).</documentation>
+ </annotation>
+ </element>
+ <!--Element definitions for the ES. Binary interpreation of the XML clear text structure within the signature context.-->
+ <element name="EBICSSignatureData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Strukturen für bankfachliche Elektronische Unterschriften (EUs).</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <element name="BankSignatureData" type="ebics:BankSignatureDataSigBookType" substitutionGroup="ebics:EBICSSignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält die EU des Kreditinstituts.</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <!--Element definitions for additional order parameters. XML clear text is embedded in the header data.-->
+ <element name="OrderParams" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter, die zur Ausführung des Auftrags notwendig sind.</documentation>
+ <documentation xml:lang="en">additional order parameters required to execute the order.</documentation>
+ </annotation>
+ </element>
+ <element name="HVDOrderParams" type="ebics:HVDOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVD.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVD.</documentation>
+ </annotation>
+ </element>
+ <element name="HVEOrderParams" type="ebics:HVEOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVE.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVE.</documentation>
+ </annotation>
+ </element>
+ <element name="HVSOrderParams" type="ebics:HVSOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVS.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVS.</documentation>
+ </annotation>
+ </element>
+ <element name="HVTOrderParams" type="ebics:HVTOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVT.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVT.</documentation>
+ </annotation>
+ </element>
+ <element name="HVUOrderParams" type="ebics:HVUOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVU.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVU.</documentation>
+ </annotation>
+ </element>
+ <element name="HVZOrderParams" type="ebics:HVZOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Auftragsart HVZ.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type HVZ.</documentation>
+ </annotation>
+ </element>
+ <element name="StandardOrderParams" type="ebics:StandardOrderParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Auftragsparameter für Standard-Auftragsarten.</documentation>
+ <documentation xml:lang="en">additional order parameters for standard order types.</documentation>
+ </annotation>
+ </element>
+ <!--Element groups and structural information.-->
+ <group name="HVRequestStructure">
+ <annotation>
+ <documentation xml:lang="de">Standard-Requeststruktur für HVx-Aufträge (HVD, HVT, HVE, HVS).</documentation>
+ <documentation xml:lang="en">Standard request structure for HVx orders (HVD, HVT, HVE, HVS).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Standard-Requestdaten.</documentation>
+ <documentation xml:lang="en">Standard request data.</documentation>
+ </annotation>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Einreichers des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Customer ID of the presenter of the selected order.</documentation>
+ </annotation>
+ </element>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation xml:lang="de">BTF Service Parameter struktur im Falle von BTU/BTD</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Order ID of the selected order.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </group>
+ <attributeGroup name="AuthenticationMarker">
+ <annotation>
+ <documentation xml:lang="de">Marker für Elemente und deren Substrukturen, die authentifiziert werden sollen.</documentation>
+ <documentation xml:lang="en">Marker for elements and their substructures that are to be authenticated.</documentation>
+ </annotation>
+ <attribute name="authenticate" type="boolean" use="required" fixed="true">
+ <annotation>
+ <documentation xml:lang="de">Das zugehörige Element ist mitsamt seinen Unterstrukturen zu authentifizieren.</documentation>
+ <documentation xml:lang="en">The element (and its substructures) that belongs to this attribute is to be authenticated.</documentation>
+ </annotation>
+ </attribute>
+ </attributeGroup>
+ <attributeGroup name="OptSupportFlag">
+ <annotation>
+ <documentation xml:lang="de">optionales Support-Flag, Default = true.</documentation>
+ <documentation xml:lang="en">optional support flag, default = true.</documentation>
+ </annotation>
+ <attribute name="supported" type="boolean" use="optional" default="true">
+ <annotation>
+ <documentation xml:lang="de">Wird die Funktion unterstützt?</documentation>
+ <documentation xml:lang="en">Is this function supported?</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </attributeGroup>
+ <attributeGroup name="SignerPermission">
+ <annotation>
+ <documentation xml:lang="de">EU-Berechtigungsinformationen.</documentation>
+ <documentation xml:lang="en">permission information of a user's digital signature.</documentation>
+ </annotation>
+ <attribute name="AuthorisationLevel" type="ebics:AuthorisationLevelType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Unterschriftsberechtigung des Teilnehmers, der unterzeichnet hat.</documentation>
+ <documentation xml:lang="en">Authorisation level of the user that signed the order.</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </attributeGroup>
+ <!--Type definitions and order-related complex types.-->
+ <complexType name="BankSignatureDataSigBookType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Signaturdaten des Kreditinstituts beim EU-Transfer.</documentation>
+ <documentation xml:lang="en">Data type for digital signature data transferred using EBICS.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderSignature" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift.</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureType"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PreValidationRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Vorabprüfung (Anfrage).</documentation>
+ <documentation xml:lang="en">Data type for pre-validation (request).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Client sendet den Hashwert der Auftragsdaten und alle weiteren Daten, die er im Rahmen der Vorabprüfung zur Verfügung stellen will</documentation>
+ </annotation>
+ <element name="DataDigest" type="ebics:DataDigestType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der zu übertragenden Auftragsdatendatei für die Vorabprüfung.</documentation>
+ <documentation xml:lang="en">Hashvalue of the transmitted order data for the prevalidation.</documentation>
+ </annotation>
+ </element>
+ <element name="AccountAuthorisation" type="ebics:PreValidationAccountAuthType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Kontoangabe zur Kontoberechtigung für diesen Zahlungsverkehrsauftrag bei der Vorabprüfung.</documentation>
+ <documentation xml:lang="en">Account information for authorisation checks for the payment order within the prevalidation.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PreValidationAccountAuthType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontenberechtigungsdaten zur Vorabprüfung.</documentation>
+ <documentation xml:lang="en">Data type for the account authorisation data for the prevalidation.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:AccountType">
+ <sequence>
+ <element name="Amount" type="ebics:AmountType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Summe der Zahlungsverkehrsaufträge dieses Kontos für die Höchstbetragsprüfung der EU.</documentation>
+ <documentation xml:lang="en">Total sum of the ordered payments regarding this account in order to check the maximum amount limit of the signature permission grades.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="DataTransferRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Auftragsdaten (Anfrage).</documentation>
+ <documentation xml:lang="en">Data type for the transfer of order data (request).</documentation>
+ </annotation>
+ <sequence>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Transaktionsphase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungsphase: Transfer der Signaturdaten (EUs) und des Transaktionsschlüssels.</documentation>
+ <documentation xml:lang="en">Inituialisation phase: Transfer of signatur data (ESs) and transaktion key.</documentation>
+ </annotation>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Information zur Verschlüsselung der Signatur- und Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Information regarding the encryption of signature and order data.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="SignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ <documentation xml:lang="en">contains signature data (ESs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="DataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten.</documentation>
+ <documentation xml:lang="de">Hashvalue of the order data.</documentation>
+ </annotation>
+ </element>
+ <element name="AdditionalOrderInfo" type="ebics:String255Type" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Additional Information about the order (unstructured, up to 255 characters).</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Transferphase: Transfer von Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Transferphase: Transfer of order data.</documentation>
+ </annotation>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ <documentation xml:lang="en">contains order data.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </choice>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="DataTransferResponseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Auftragsdaten (Antwort).</documentation>
+ </annotation>
+ <sequence>
+ <sequence minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer des Sitzungsschlüssels und (optional) der Signaturdaten (EUs); nur in der Initialisierungsphase anzugeben.</documentation>
+ <documentation xml:lang="en">Transfer of the session key and (optional) signature data (ESs); to be specified only in the initialisation phase.</documentation>
+ </annotation>
+ <element name="DataEncryptionInfo">
+ <annotation>
+ <documentation xml:lang="de">Information zur Verschlüsselung der Signatur- und Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Information regarding the encryption of signature and order data.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:DataEncryptionInfoType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="SignatureData" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält Signaturdaten (EUs).</documentation>
+ <documentation xml:lang="en">contains signature data (ESs).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SignatureDataType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ <element name="OrderData">
+ <annotation>
+ <documentation xml:lang="de">enthält Auftragsdaten.</documentation>
+ <documentation xml:lang="en">contains order data.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderDataType">
+ <anyAttribute namespace="##targetNamespace" processContents="lax"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="TransferReceiptRequestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Transferquittungen.</documentation>
+ <documentation xml:lang="en">Data type for the transfer of transfer receipts.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ReceiptCode" type="ebics:ReceiptCodeType">
+ <annotation>
+ <documentation xml:lang="de">Quittierungscode für Auftragsdatentransfer.</documentation>
+ <documentation xml:lang="en">Receipt code fpr transfer of order data.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="TransferReceiptResponseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Transfer von Antwortcodes.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ReturnCodeReceipt" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Antwortcode für den vorangegangenen Transfer.</documentation>
+ <documentation xml:lang="en">response code for the foregoing transfer.</documentation>
+ </annotation>
+ </element>
+ <element name="TimestampBankParameter" type="ebics:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HAAResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HAA (Antwort: abrufbare Auftragsarten abholen).</documentation>
+ <documentation xml:lang="en">Data type for order data of order type HAA (Response: Download of available order data).</documentation>
+ </annotation>
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die Daten bereit stehen.</documentation>
+ <documentation xml:lang="en">List of order types for which data are available.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HCARequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HCA (Anfrage: Änderung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Data type for order data regarding order type HCA (Request: Update of Subscriber's key for authentication and encryption).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for authentication.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for encryption.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ <documentation xml:lang="en">Partner-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ <documentation xml:lang="en">User-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HCSRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HCS (Anfrage: Schlüsselwechsel aller Schlüssel).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HCS (Request: Update of all keys).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for authentication.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for encryption.</documentation>
+ </annotation>
+ </element>
+ <element ref="esig:SignaturePubKeyInfo"/>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ <documentation xml:lang="en">Partner-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ <documentation xml:lang="en">User-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HIARequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HIA (Anfrage: Initialisierung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HIA (Request: Initialisation of subcriber keys for authentication and encryption).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for authentication.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">public key for encryption.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ <documentation xml:lang="en">Partner-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ <documentation xml:lang="en">User-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="H3KRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart H3K (Anfrage: Initialisierung aller drei Teilnehmerschlüssel).</documentation>
+ <documentation xml:lang="en">Order type for order data H3K (request: initialise all three user's keys).</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignatureCertificateInfo" type="ebics:SignatureCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Key for electronic Signature</documentation>
+ <documentation xml:lang="de">Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="AuthenticationCertificateInfo" type="ebics:AuthenticationCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Authentication key</documentation>
+ <documentation xml:lang="de">Authentifikationsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionCertificateInfo" type="ebics:EncryptionCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="en">Encryption key</documentation>
+ <documentation xml:lang="de">Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="en">PartnerID.</documentation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="en">UserID.</documentation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="HKDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HKD (Antwort: Kunden- und Teilnehmerdaten des Kunden abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HKD (response: receive customer based information on the customer and the customer's user.</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerInfo" type="ebics:PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Kundendaten.</documentation>
+ <documentation xml:lang="en">Customer data.</documentation>
+ </annotation>
+ </element>
+ <element name="UserInfo" type="ebics:UserInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmerdaten.</documentation>
+ <documentation xml:lang="en">User data.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPBResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HPB (Antwort: Transfer der Bankschlüssel).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HPB (Response: Transfer of bank keys).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AuthenticationPubKeyInfo" type="ebics:AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Authentifikationsschlüssel.</documentation>
+ <documentation xml:lang="en">public authentication key</documentation>
+ </annotation>
+ </element>
+ <element name="EncryptionPubKeyInfo" type="ebics:EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">public encryption key</documentation>
+ </annotation>
+ </element>
+ <element ref="esig:SignaturePubKeyInfo" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher EU-Signaturschlüssel.</documentation>
+ <documentation xml:lang="en">public ES key.</documentation>
+ </annotation>
+ </element>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ <documentation xml:lang="en">Host-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HPD (Antwort: Bankparameter abholen).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HPD (Response: Download bank parameters).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AccessParams" type="ebics:HPDAccessParamsType">
+ <annotation>
+ <documentation xml:lang="de">Zugangsparameter.</documentation>
+ <documentation xml:lang="en">Access Parameter.</documentation>
+ </annotation>
+ </element>
+ <element name="ProtocolParams" type="ebics:HPDProtocolParamsType">
+ <annotation>
+ <documentation xml:lang="de">Protokollparameter.</documentation>
+ <documentation xml:lang="en">Protocol Parameter.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="HPDAccessParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Zugangsparameter.</documentation>
+ <documentation xml:lang="en">data type for HPD Access Parameter.</documentation>
+ </annotation>
+ <sequence>
+ <element name="URL" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">institutsspezifische IP-Adresse/URL.</documentation>
+ <documentation xml:lang="en">individual IP-address/URL of the bank.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute name="valid_from" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Gültigkeitsbeginn für die angegebene URL/IP.</documentation>
+ <documentation xml:lang="en">Valid-From-Date of the URL/IP.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Institute">
+ <annotation>
+ <documentation xml:lang="de">Institutsbezeichnung.</documentation>
+ <documentation xml:lang="en">Name of the bank.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="normalizedString">
+ <maxLength value="80"/>
+ </restriction>
+ </simpleType>
+ </element>
+ <element name="HostID" type="ebics:HostIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDProtocolParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Protokollparameter.</documentation>
+ <documentation xml:lang="en">Data type for HPD's parameters regarding the EBICS protocol.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Version" type="ebics:HPDVersionType">
+ <annotation>
+ <documentation xml:lang="de">Spezifikation unterstützter Versionen.</documentation>
+ <documentation xml:lang="en">Specification of supported versions..</documentation>
+ </annotation>
+ </element>
+ <element name="Recovery" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur Recovery-Funktion (Wiederaufnahme abgebrochener Übertragungen).</documentation>
+ <documentation xml:lang="en">Parameter denoting the recovery function (recovery of aborted transmissions).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="PreValidation" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur Vorabprüfung (über die Übermittlung der EU hinaus).</documentation>
+ <documentation xml:lang="en">Parameter denoting the pre-validation (beyond transmission of signatures).</documentation>
+ </annotation>
+ <complexType>
+ <annotation>
+ <documentation xml:lang="de">Optionales Support-Flag, Default = true.</documentation>
+ <documentation xml:lang="en">Optional support flag, default = true.</documentation>
+ </annotation>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="ClientDataDownload" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zum Download von Kunden- und Teilnehmerdaten (Auftragsarten HKD/HTD).</documentation>
+ <documentation xml:lang="en">Parameter denoting the download of customer and user data (order types HKD/HTD).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <element name="DownloadableOrderData" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zum Abruf von Auftragsarten, zu denen Auftragsdaten verfügbar sind (Auftragsart HAA).</documentation>
+ <documentation xml:lang="en">Parameter denoting the reception of order types which provides downloadable order data (order type HAA).</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:OptSupportFlag"/>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HPDVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HPD-Versionsinformationen.</documentation>
+ <documentation xml:lang="en">Data type for HPD version information.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Protocol">
+ <annotation>
+ <documentation xml:lang="de">unterstützte EBICS-Protokollversionen (H...).</documentation>
+ <documentation xml:lang="en">supported EBICS protocol versions. (H...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:ProtocolVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Authentication">
+ <annotation>
+ <documentation xml:lang="de">unterstützte Versionen der Authentifikation (X...).</documentation>
+ <documentation xml:lang="en">supported version for authentication (X...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:AuthenticationVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Encryption">
+ <annotation>
+ <documentation xml:lang="de">unterstützte Versionen der Verschlüsselung (E...).</documentation>
+ <documentation xml:lang="en">supported version for encryption (E...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="ebics:EncryptionVersionType"/>
+ </simpleType>
+ </element>
+ <element name="Signature">
+ <annotation>
+ <documentation xml:lang="de">unterstützte EU-Versionen (A...).</documentation>
+ <documentation xml:lang="en">supported version for ES (A...).</documentation>
+ </annotation>
+ <simpleType>
+ <list itemType="esig:SignatureVersionType"/>
+ </simpleType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HTDReponseOrderDataType">
+ <annotation>
+ <documentation>Datentyp für Auftragsdaten für Auftragsart HTD (Antwort: Kunden- und Teilnehmerdaten des Teilnehmers abholen).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HTD (Response: Download partner- and user data).</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerInfo" type="ebics:PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Kundendaten.</documentation>
+ <documentation xml:lang="en">Customer data.</documentation>
+ </annotation>
+ </element>
+ <element name="UserInfo" type="ebics:UserInfoType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmerdaten.</documentation>
+ <documentation xml:lang="en">User data.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVDResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVD (Antwort: VEU-Status abrufen).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HVD (Response: EDS-status).</documentation>
+ </annotation>
+ <sequence>
+ <element name="DataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the order data.</documentation>
+ </annotation>
+ </element>
+ <element name="DisplayFile" type="base64Binary">
+ <annotation>
+ <documentation xml:lang="de">Begleitzettel/"Displaydatei" (entspricht der Dateianzeige im Kundenprotokoll gemäß DFÜ-Abkommen).</documentation>
+ <documentation xml:lang="en">Accompanying ticket/"display file" (corresponds to the display file of the customer's journal according to the document "DFÜ-Abkommen").</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Kann die Auftragsdatei im Originalformat abgeholt werden? (HVT mit completeOrderData=true)</documentation>
+ <documentation xml:lang="en">Can the order file be downloaded in the original format? (HVT with completeOrderData=true)</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ <documentation xml:lang="en">Size of the uncompressed order data (byte count).</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetailsAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Können die Auftragsdetails als XML-Dokument HVTResponseOrderData abgeholt werden? (HVT mit completeOrderData=false)</documentation>
+ <documentation xml:lang="en">Can the order details be downloaded as XML document HVTResponseOrderData? (HVT with completeOrderData=false)</documentation>
+ </annotation>
+ </element>
+ <element name="BankSignature" type="ebics:SignatureType" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift des Kreditinstituts über Hashwert und Displaydatei.</documentation>
+ <documentation xml:lang="en">Digital Signature issued by the bank, covering the hash value and the accompanying ticket.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ <documentation xml:lang="en">Information about the already existing signers.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVDOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVD.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVD.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVEOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVE.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVE.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVSOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVS.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVS.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVSRequestOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVS (Anfrage: VEU-Storno).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HVS (request: EDS cancellation).</documentation>
+ </annotation>
+ <sequence>
+ <element name="CancelledDataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten des stornierten Auftrags.</documentation>
+ <documentation xml:lang="en">Hash value of order data of cancelled order.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Antwort mit Einzelauftraginfos für Auftragsart HVT (Antwort VEU-Transaktionsdetails abrufen mit completeOrderData="false").</documentation>
+ <documentation xml:lang="en">Data type for a response containing information about single transactions for order type HVT (response: EDS transaction details with completeOrderData="false").</documentation>
+ </annotation>
+ <sequence>
+ <element name="NumOrderInfos" type="ebics:NumOrderInfosType">
+ <annotation>
+ <documentation xml:lang="de">Gesamtanzahl der Einzelaufträge für den Auftrag.</documentation>
+ <documentation xml:lang="en">Total number of order infos for the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderInfo" type="ebics:HVTOrderInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Einzelauftragsinfos.</documentation>
+ <documentation xml:lang="en">Particular order content information requested for display matters.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTAccountInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVT-Konteninformationen.</documentation>
+ <documentation xml:lang="en">Data type for account information regarding order type HVT.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:AttributedAccountType"/>
+ </complexContent>
+ </complexType>
+ <complexType name="HVTOrderInfoType">
+ <annotation>
+ <documentation xml:lang="de">//MODIFIED - Replaced Element OrderFormat with MsgName// Datentyp für HVT-Auftragsinformationen.</documentation>
+ </annotation>
+ <sequence>
+ <element name="MsgName" type="ebics:MessageType" minOccurs="0"/>
+ <element name="AccountInfo" type="ebics:HVTAccountInfoType" minOccurs="2" maxOccurs="3">
+ <annotation>
+ <documentation xml:lang="de">kontobezogene Details des Auftrags (Auftraggeber, Empfänger etc.).</documentation>
+ <documentation xml:lang="en">account related details of the order (ordering party, receiver etc.).</documentation>
+ </annotation>
+ </element>
+ <element name="ExecutionDate" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Ausführungsdatum.</documentation>
+ <documentation xml:lang="en">Execution date.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="date"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Amount">
+ <annotation>
+ <documentation xml:lang="de">Betrag.</documentation>
+ <documentation xml:lang="en">Amount.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="isCredit" type="boolean" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Gutschrift (isCredit = "true") oder Lastschrift (isCredit = "false")?</documentation>
+ <documentation xml:lang="en">Credit (isCredit = "true") or debit (isCredit = "false")?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Währungscode.</documentation>
+ <documentation xml:lang="en">Currency code.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Description" minOccurs="0" maxOccurs="4">
+ <annotation>
+ <documentation xml:lang="de">Textfeld zur weiteren Beschreibung der Transaktion (Verwendungszweck, Auftragsdetails, Kommentar).</documentation>
+ <documentation xml:lang="en">text field for additional descriptions regarding the transaction (remittance information, order details, annotations).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Type" use="required">
+ <annotation>
+ <documentation xml:lang="de">Beschreibungstyp.</documentation>
+ <documentation xml:lang="en">Description type.</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="token">
+ <enumeration value="Purpose">
+ <annotation>
+ <documentation xml:lang="de">Verwendungszweck</documentation>
+ <documentation xml:lang="en">remittance information.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Details">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails</documentation>
+ <documentation xml:lang="en">Order details.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Comment">
+ <annotation>
+ <documentation xml:lang="de">Kommentar</documentation>
+ <documentation xml:lang="en">Annotation.</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVTOrderFlagsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVT-Auftragsflags.</documentation>
+ <documentation xml:lang="en">Data type for HVT order flags.</documentation>
+ </annotation>
+ <attribute name="completeOrderData" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sollen die Transaktionsdetails als Einzelauftragsinfos (completeOrderData=false) oder als komplette Originaldaten (completeOrderData=true) übertragen werden? (Vorschlag für Default=false)</documentation>
+ <documentation xml:lang="en">Are the transaction details so be transmitted as particular order content information requested for display matters or in complete order data file form? (Proposal for Default=false)</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="fetchLimit" use="required">
+ <annotation>
+ <documentation xml:lang="de">Limit für die zu liefernden Transaktionsdetails, bei completeOrderData=false maximale Anzahl zu liefernder Einzelauftragsinfos, 0 für unbegrenzt (Vorschlag für Default=100).</documentation>
+ <documentation xml:lang="en">Limit for the transaction details to be transmitted; if completeOrderData=false, maximum number of details of a particular order; 0 for unlimited number of details (Proposal for Default=100).</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="fetchOffset" use="required">
+ <annotation>
+ <documentation xml:lang="de">Offset vom Anfang der Originalauftragsdatei für die zu liefernden Transaktionsdetails, bei completeOrderData=false bezogen auf laufende Nummer des Einzelauftrags (Vorschlag für Default=0).</documentation>
+ <documentation xml:lang="en">Offset position in the original order file which marks the starting point for the transaction details to be transmitted; applies to the sequential number of a particular order if completeOrderData=false (Proposal for Default=0).</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ <complexType name="HVTOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVT.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVT.</documentation>
+ </annotation>
+ <sequence>
+ <group ref="ebics:HVRequestStructure"/>
+ <element name="OrderFlags">
+ <annotation>
+ <documentation xml:lang="de">spezielle Flags für HVT-Aufträge.</documentation>
+ <documentation xml:lang="en">Special order flags for orders of type HVT.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:HVTOrderFlagsType"/>
+ </complexContent>
+ </complexType>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Generische Schlüssel-Wert-Parameter</documentation>
+ <documentation xml:lang="en">Generic key-value parameters</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVU (Antwort: VEU-Übersicht abholen).</documentation>
+ <documentation xml:lang="en">Data type for order data for order type HVU (Response: Download EDS overview).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="OrderDetails" type="ebics:HVUOrderDetailsType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Auftragsinformationen.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVU-Auftragsdetails.</documentation>
+ <documentation xml:lang="en">Data type for HVU order details.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Type of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Order number.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ <documentation xml:lang="en">Order data size in bytes.</documentation>
+ </annotation>
+ </element>
+ <element name="SigningInfo" type="ebics:HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Unterschriftsmodalitäten.</documentation>
+ <documentation xml:lang="en">Signing information.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ <documentation xml:lang="en">Information regarding the signer.</documentation>
+ </annotation>
+ </element>
+ <element name="OriginatorInfo" type="ebics:HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zum Einreicher.</documentation>
+ <documentation xml:lang="en">Information regarding the originator.</documentation>
+ </annotation>
+ </element>
+ <element name="AdditionalOrderInfo" type="ebics:String255Type" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Additional Information about the order (unstructured, up to 255 characters).</documentation>
+ <documentation xml:lang="en">Additional Information about the order (unstructured, up to 255 characters).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVU.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVU.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ServiceFilter" type="ebics:ServiceType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die zur Unterschrift vorliegende Aufträge abgerufen werden sollen; falls nicht angegeben, werden sämtliche für den Teilnehmer unterschriftsfähigen Aufträge abgerufen.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter für Auftragsart HVZ.</documentation>
+ <documentation xml:lang="en">Data type for additional order parameters for order type HVZ.</documentation>
+ </annotation>
+ <sequence>
+ <element name="ServiceFilter" type="ebics:ServiceType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die zur Unterschrift vorliegende Aufträge abgerufen werden sollen; falls nicht angegeben, werden sämtliche für den Teilnehmer unterschriftsfähigen Aufträge abgerufen.</documentation>
+ <documentation xml:lang="de">List of order types that the orders ready to be signed by the requesting user should match; if not specified, a list of all orders ready to be signed by the requesting user is returned.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zu den HVU-Unterschriftsmodalitäten.</documentation>
+ </annotation>
+ <attribute name="readyToBeSigned" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist der Auftrag unterschriftsreif ("true") oder bereits vom Teilnehmer unterschrieben ("false")?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="NumSigRequired" type="positiveInteger" use="required">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der insgesamt zur Freigabe erforderlichen EUs.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="NumSigDone" type="nonNegativeInteger" use="required">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der bereits geleisteten EUs.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <complexType name="HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zum Ersteller eines HVU-Auftrags.</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Einreichers.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der Einreichung (d.h. der Übertragung der Auftragsdatei).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##targetNamespace" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZResponseOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdaten für Auftragsart HVZ (Antwort: VEU-Übersicht mit Zusatzinformationen abholen).</documentation>
+ <documentation xml:lang="en">Order data for order type HVZ (response: receive summary of orders currently stored in the distributed signature processing unit with additional informations).</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element name="OrderDetails" type="ebics:HVZOrderDetailsType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Auftragsinformationen.</documentation>
+ <documentation xml:lang="en">Summary of order information.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="HVZOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für HVZ-Auftragsdetails.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation xml:lang="de">BTF Service Parameter-Struktur des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">Type of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer lt. DFÜ-Abkommen des ausgewählten Auftrags.</documentation>
+ <documentation xml:lang="en">ID number of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="DataDigest" type="ebics:DataDigestType">
+ <annotation>
+ <documentation xml:lang="de">Hashwert der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the order data.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Kann die Auftragsdatei im Originalformat abgeholt werden? (HVT mit completeOrderData=true).</documentation>
+ <documentation xml:lang="en">Can the order file be downloaded in the original format? (HVT with completeOrderData=true)</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDataSize" type="positiveInteger">
+ <annotation>
+ <documentation xml:lang="de">Größe der unkomprimierten Auftragsdaten in Bytes.</documentation>
+ <documentation xml:lang="en">Size of uncompressed order data in Bytes.</documentation>
+ </annotation>
+ </element>
+ <element name="OrderDetailsAvailable" type="boolean">
+ <annotation>
+ <documentation xml:lang="de">Können die Auftragsdetails als XML-Dokument HVTResponseOrderData abgeholt werden? (HVT mit completeOrderData=false).</documentation>
+ <documentation xml:lang="en">Can the order details be downloaded as XML document HVTResponseOrderData? (HVT with completeOrderData=false)</documentation>
+ </annotation>
+ </element>
+ <group ref="ebics:HVZPaymentOrderDetailsStructure" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zusätzliche Auftragsdetails nur für Zahlungsaufträge.</documentation>
+ <documentation xml:lang="en">Order details related to payment orders only.</documentation>
+ </annotation>
+ </group>
+ <element name="SigningInfo" type="ebics:HVUSigningInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Unterschriftsmodalitäten.</documentation>
+ <documentation xml:lang="en">Information regarding the signing modalities of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="SignerInfo" type="ebics:SignerInfoType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den bisherigen Unterzeichnern.</documentation>
+ <documentation xml:lang="en">Information regarding the users who already signed the order.</documentation>
+ </annotation>
+ </element>
+ <element name="OriginatorInfo" type="ebics:HVUOriginatorInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zum Einreicher.</documentation>
+ <documentation xml:lang="en">Information regarding the originator of the order.</documentation>
+ </annotation>
+ </element>
+ <element name="AdditionalOrderInfo" type="ebics:String255Type" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Additional Information about the order (unstructured, up to 255 characters).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <group name="HVZPaymentOrderDetailsStructure">
+ <annotation>
+ <documentation xml:lang="de">Standard-Requeststruktur für HVx-Aufträge (HVD, HVT, HVE, HVS).</documentation>
+ <documentation xml:lang="en">Standard structure for HVZ OrderDetails related to payment orders</documentation>
+ </annotation>
+ <sequence>
+ <element name="TotalOrders" type="nonNegativeInteger" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Anzahl der Zahlungssätze über alle logische Dateien entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Total transaction number for all logical files (from dispay file).</documentation>
+ </annotation>
+ </element>
+ <element name="TotalAmount" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Summe der Beträge über alle logische Dateien entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Total transaction amount for all logical files (from dispay file).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="isCredit" type="boolean" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Nur Gutschriften (isCredit = "true") oder nur Lastschriften (isCredit = "false")? Sonst keine Nutzung des Elements.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Currency" type="ebics:CurrencyBaseType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragswährung (nur bei sortenreinen Zahlungen, sonst keine Angabe).</documentation>
+ <documentation xml:lang="en">Order currency (only if identical across all transactions, ship otherwise).</documentation>
+ </annotation>
+ </element>
+ <element name="FirstOrderInfo" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Informationen aus Dateianzeige der ersten logischen Datei.</documentation>
+ <documentation xml:lang="en">Order details from display file for first logical file.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="OrderPartyInfo" type="normalizedString" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeber entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">Order party information (from display file).</documentation>
+ </annotation>
+ </element>
+ <element name="AccountInfo" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Erstes Auftraggeberkonto entsprechend Dateianzeige.</documentation>
+ <documentation xml:lang="en">First order party account (from display file).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Account number (German format or international as IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Account number given in German format (international=false) or in international format (international=true, IBAN)?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account number in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format type.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice minOccurs="0" maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank sort code (German format or international as SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Bank sort code given in German format (international=false) or in international format (international=true, SWIFT-BIC)?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National prefix for bank sort code.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank sort code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format type.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </group>
+ <complexType name="SignerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Informationen zu einem Unterzeichner eines VEU-Auftrags (HVU, HVD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Unterzeichners.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der Unterzeichnung (d.h. der Übertragung der Unterschrift).</documentation>
+ </annotation>
+ </element>
+ <element name="Permission">
+ <annotation>
+ <documentation xml:lang="de">zusätzliche Informationen zu den Berechtigungen des Teilnehmers, der unterzeichnet hat.</documentation>
+ </annotation>
+ <complexType>
+ <attributeGroup ref="ebics:SignerPermission"/>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="UserPermissionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Berechtigungsinformationen des Teilnehmers (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Liste von Auftragsarten, für die die Berechtigung des Teilnehmers gültig ist.</documentation>
+ <documentation xml:lang="en">List of order types which the user's permission belongs to.</documentation>
+ </annotation>
+ </element>
+ <element name="Service" type="ebics:RestrictedServiceType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">BTF Service Parameter struktur im Falle von BTU/BTD</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="AccountID" type="ebics:AccountIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Verweis auf den Identifikationscode des berechtigten Kontos.</documentation>
+ <documentation xml:lang="en">Identification codes of the affected accounts.</documentation>
+ </annotation>
+ </element>
+ <element name="MaxAmount" type="ebics:AmountType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Betragshöchstgrenze, bis zu der die Berechtigung des Teilnehmers gültig ist.</documentation>
+ <documentation xml:lang="en">Maximum total amount which the user's permission is valid for.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthorisationLevel" type="ebics:AuthorisationLevelType">
+ <annotation>
+ <documentation xml:lang="de">Unterschriftsklasse, für die der Teilnehmer berechtigt ist; nicht anzugeben bei Download-Auftragsarten.</documentation>
+ <documentation xml:lang="en">Authorization level of the user who signed the order; to be omitted for orders of type "download".</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ <complexType name="PartnerInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Partnerdaten (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for customer data with regard to distributed signatures (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AddressInfo" type="ebics:AddressInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Adresse des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's adress.</documentation>
+ </annotation>
+ </element>
+ <element name="BankInfo" type="ebics:BankInfoType">
+ <annotation>
+ <documentation xml:lang="de">Informationen zur Kreditinstitutsanbindung des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's banking access paramters.</documentation>
+ </annotation>
+ </element>
+ <element name="AccountInfo" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Konten des Kunden.</documentation>
+ <documentation xml:lang="en">Information about the customer's accounts.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:AccountType">
+ <sequence>
+ <element name="UsageOrderTypes" type="ebics:UsageOrderType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">//MODIFIED//Liste der Auftragsartenbeschränkungen; falls nicht angegeben, gibt es keine Auftragsartenbeschränkungen; falls das Element ohne Service-Element geliefert wird, ist das Konto für keine Auftragsart freigegeben.</documentation>
+ <documentation xml:lang="en">List containing the order types which contain this account is restricted to; if omitted, the account is unrestricted; if the list is empty the account is blocked for any order type.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="ID" type="ebics:AccountIDType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Identifikationscode des Kontos.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="OrderInfo" type="ebics:AuthOrderInfoType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Auftragsarten, für die der Kunde berechtigt ist.</documentation>
+ <documentation xml:lang="en">Information about order types which the customer is authorised to use.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="AddressInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Adressinformationen (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for address information with regard to distributed signature (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kunden.</documentation>
+ <documentation xml:lang="en">Customer's name.</documentation>
+ </annotation>
+ </element>
+ <element name="Street" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Straße und Hausnummer.</documentation>
+ <documentation xml:lang="en">Street and house number.</documentation>
+ </annotation>
+ </element>
+ <element name="PostCode" type="token" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Postleitzahl.</documentation>
+ <documentation xml:lang="en">Postal code.</documentation>
+ </annotation>
+ </element>
+ <element name="City" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Stadt.</documentation>
+ <documentation xml:lang="en">City.</documentation>
+ </annotation>
+ </element>
+ <element name="Region" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Region / Bundesland / Bundesstaat.</documentation>
+ <documentation xml:lang="en">Region / province / federal state.</documentation>
+ </annotation>
+ </element>
+ <element name="Country" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Land.</documentation>
+ <documentation xml:lang="en">Country.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="BankInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Kreditinstitutsinformationen (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Banksystem-ID.</documentation>
+ </annotation>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="UserInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Teilnehmerinformationen (HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="UserID">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:UserIDType">
+ <attribute name="Status" type="ebics:UserStatusType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Status des Teilnehmers.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Name" type="ebics:NameType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <element name="Permission" type="ebics:UserPermissionType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">Informationen zu den Berechtigungen des Teilnehmers.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="AuthOrderInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für VEU-Berechtigungsinformationen zu Auftragsarten (HKD, HTD).</documentation>
+ <documentation xml:lang="en">Data type for user permissions with regard to distributed signatures (order types HKD, HTD).</documentation>
+ </annotation>
+ <sequence>
+ <element name="AdminOrderType" type="ebics:OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Administrative EBICS Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="Service" type="ebics:RestrictedServiceType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">BTF Service Parameter struktur im Falle von BTU/BTD</documentation>
+ <documentation xml:lang="en">Identification of the file format in the case of FUL/FDL</documentation>
+ </annotation>
+ </element>
+ <element name="Description" type="ebics:OrderDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Beschreibung der Auftragsart.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSigRequired" type="nonNegativeInteger" default="0" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Anzahl erforderlicher EUs (Default=0).</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="StandardOrderParamsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zusätzliche Auftragsparameter bei Standard-Auftragsarten.</documentation>
+ </annotation>
+ <sequence>
+ <element name="DateRange" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Datumsbereich (von-bis).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Start" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Startdatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ <element name="End" type="ebics:DateType">
+ <annotation>
+ <documentation xml:lang="de">Enddatum (inkl.).</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <attributeGroup name="VersionAttrGroup">
+ <annotation>
+ <documentation xml:lang="de">Attribute zur EBICS-Protokollversion und -revision.</documentation>
+ <documentation xml:lang="en">Attributes regarding the protocol version and revision of EBICS.</documentation>
+ </annotation>
+ <attribute name="Version" type="ebics:ProtocolVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des EBICS-Protokolls (z.B. "H00x").</documentation>
+ <documentation xml:lang="en">Version of the EBICS protocol (e.g. "H00x").</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Revision" type="ebics:ProtocolRevisionType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Revision des EBICS-Protokolls (z.B. 1).</documentation>
+ <documentation xml:lang="en">Revision of the EBICS protocol (e.g. 1).</documentation>
+ </annotation>
+ </attribute>
+ </attributeGroup>
+ <!--Following ComplexTypes are used for BTF-->
+ <element name="BTDOrderParams" type="ebics:BTDParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation>zusätzliche Auftragsparameter für Auftragsart BTD.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type BTD.</documentation>
+ </annotation>
+ </element>
+ <element name="BTUOrderParams" type="ebics:BTUParamsType" substitutionGroup="ebics:OrderParams">
+ <annotation>
+ <documentation>zusätzliche Auftragsparameter für Auftragsart BTU.</documentation>
+ <documentation xml:lang="en">additional order parameters for order type BTU.</documentation>
+ </annotation>
+ </element>
+ <complexType name="BTDParamsType">
+ <annotation>
+ <documentation>Datentyp für BTF Download Parameter</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:BTFParamsTyp">
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation>Service name - target system for the further processing of the order</documentation>
+ </annotation>
+ </element>
+ <element name="DateRange" type="ebics:DateRangeType" minOccurs="0"/>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="fileName" type="ebics:FileNameStringType" use="prohibited">
+ <annotation>
+ <documentation>The file name on the client It can be transmitted optionally</documentation>
+ </annotation>
+ </attribute>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="BTUParamsType">
+ <annotation>
+ <documentation>Datentyp für BTF Upload Parameter</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:BTFParamsTyp">
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation>Service name - target system for the further processing of the order</documentation>
+ </annotation>
+ </element>
+ <element name="SignatureFlag" type="ebics:SignatureFlagType" minOccurs="0">
+ <annotation>
+ <documentation>If not present the order doesn't contain any ES and shall be authorised outside EBICS
+If present the order shall be autorised within EBICS:
+1. If the attribute VEU is also present the sender desires spooling into the VEU - hence in this case the order is not rejected in the case of not sufficient number of ES
+2. If the attribute is not present all necessary ES must be inside the order (else: rejection of the order) </documentation>
+ </annotation>
+ </element>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="fileName" type="ebics:FileNameStringType">
+ <annotation>
+ <documentation>The file name on the client It can be transmitted optionally</documentation>
+ </annotation>
+ </attribute>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="BTFParamsTyp" abstract="true">
+ <annotation>
+ <documentation>Abstract Type containing all BTF params structures</documentation>
+ </annotation>
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType">
+ <annotation>
+ <documentation>Service name - target system for the further processing of the order</documentation>
+ </annotation>
+ </element>
+ <element name="SignatureFlag" type="ebics:SignatureFlagType" minOccurs="0">
+ <annotation>
+ <documentation>If not present the order doesn't contain any ES and shall be authorised outside EBICS
+If present the order shall be autorised within EBICS:
+1. If the attribute VEU is also present the sender desires spooling into the VEU - hence in this case the order is not rejected in the case of not sufficient number of ES
+2. If the attribute is not present all necessary ES must be inside the order (else: rejection of the order) </documentation>
+ </annotation>
+ </element>
+ <element name="DateRange" type="ebics:DateRangeType" minOccurs="0"/>
+ <element ref="ebics:Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="fileName" type="ebics:FileNameStringType">
+ <annotation>
+ <documentation>The file name on the client It can be transmitted optionally</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <complexType name="DateRangeType">
+ <annotation>
+ <documentation>Datentyp für die Angabe eines (Berichts-) Zeitraums</documentation>
+ </annotation>
+ <sequence>
+ <element name="Start" type="ebics:DateType"/>
+ <element name="End" type="ebics:DateType"/>
+ </sequence>
+ </complexType>
+ <complexType name="FlagAttribType">
+ <annotation>
+ <documentation>Basis-Datentyp für Kennzeichen mit optionalem Attribut</documentation>
+ </annotation>
+ <anyAttribute/>
+ </complexType>
+ <complexType name="MessageType">
+ <annotation>
+ <documentation>Datentyp für Meldungstyp-String mit optionalen Attributen</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:MessageNameStringType">
+ <attribute name="variant" type="ebics:NumStringType" use="optional">
+ <annotation>
+ <documentation>Variant number of the message type (usable for ISO20022 messages)</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="version" type="ebics:NumStringType" use="optional">
+ <annotation>
+ <documentation>Version number of the message type (usable for ISO20022 messages)</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="format" use="optional">
+ <annotation>
+ <documentation>Encoding format of the message (e.g. XML, ASN1, JSON, PDF)</documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="ebics:CodeStringType">
+ <maxLength value="4"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="ServiceType">
+ <annotation>
+ <documentation>Basisdatentyp für BTF-Service Parameter Set</documentation>
+ </annotation>
+ <sequence>
+ <element name="ServiceName" type="ebics:ServiceNameStringType" minOccurs="0">
+ <annotation>
+ <documentation>Service Code name: External list specified and maintained by EBICS. Basis is the "SWIFT-list" for the field "description" (SCT, DCT, XCT, SDD, DDD, STM, REP...) plus additional codes needed for further services </documentation>
+ </annotation>
+ </element>
+ <element name="Scope" type="ebics:ScopeStringType" minOccurs="0">
+ <annotation>
+ <documentation>Specifies whose rules have to be taken into account for the service. This means which market / comminity has defined the rules.
+If the element is absent a global definition for the service is assumed.
+External list specified and maintained by EBICS. In addition the following codes may be used:
+2-character ISO country code or a 3-character issuer code (defined by EBICS)</documentation>
+ </annotation>
+ </element>
+ <element name="ServiceOption" type="ebics:ServiceOptionStringType" minOccurs="0">
+ <annotation>
+ <documentation>Service Option Code
+Additional option for the service (also depends on used scope)</documentation>
+ </annotation>
+ </element>
+ <element name="Container" type="ebics:ContainerFlagType" minOccurs="0">
+ <annotation>
+ <documentation>Container flag. If present, data is provided/requested in a container format specified in the attribute of the flag</documentation>
+ </annotation>
+ </element>
+ <element name="MsgName" type="ebics:MessageType" minOccurs="0">
+ <annotation>
+ <documentation>Name of the message, e.g. pain.001 or mt101 National message names (issued by DK, CFONB or SIC are also allowed)</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="RestrictedServiceType">
+ <annotation>
+ <documentation>Type is arestriction of the generic ServiceType, defining the mandatory elements</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:ServiceType">
+ <sequence>
+ <element name="ServiceName" type="ebics:ServiceNameStringType">
+ <annotation>
+ <documentation>Service Code name: External list specified and maintained by EBICS. Basis is the "SWIFT-list" for the field "description" (SCT, DCT, XCT, SDD, DDD, STM, REP...) plus additional codes needed for further services </documentation>
+ </annotation>
+ </element>
+ <element name="Scope" type="ebics:ScopeStringType" minOccurs="0">
+ <annotation>
+ <documentation>Specifies whose rules have to be taken into account for the service. This means which market / comminity has defined the rules.
+If the element is absent a global definition for the service is assumed.
+External list specified and maintained by EBICS.
+In addition the following codes may be used:
+2-character ISO country code or a 3-character issuer code (defined by EBICS)</documentation>
+ </annotation>
+ </element>
+ <element name="ServiceOption" type="ebics:ServiceOptionStringType" minOccurs="0">
+ <annotation>
+ <documentation>Service Option Code
+ Additional option for the service (also depends on used scope)</documentation>
+ </annotation>
+ </element>
+ <element name="Container" type="ebics:ContainerFlagType" minOccurs="0">
+ <annotation>
+ <documentation>Container flag. If present, data is provided/requested in a container format specified in the attribute of the flag</documentation>
+ </annotation>
+ </element>
+ <element name="MsgName" type="ebics:MessageType">
+ <annotation>
+ <documentation>Name of the message, e.g. pain.001 or mt101 National message names (issued by DK, CFONB or SIC are also allowed)</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="ContainerFlagType">
+ <annotation>
+ <documentation>Container flag. If present, data is provided/requested in a container format specified in the attribute of the flag</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:FlagAttribType">
+ <attribute name="containerType" type="ebics:ContainerStringType" use="required">
+ <annotation>
+ <documentation>Specifies the container type - External Codelist defined by EBICS (starting values: XML, ZIP, SVC)</documentation>
+ </annotation>
+ </attribute>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="SignatureFlagType">
+ <annotation>
+ <documentation>Datentyp für BTF Signatur-Flag (ersetzt Orderkennzeichen)</documentation>
+ </annotation>
+ <complexContent>
+ <restriction base="ebics:FlagAttribType">
+ <attribute name="requestEDS" type="boolean" use="optional">
+ <annotation>
+ <documentation>If present the sender desires spooling into EBICS distributed signature queue, only "true" is allowed</documentation>
+ </annotation>
+ </attribute>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="UsageOrderType">
+ <annotation>
+ <documentation>Datentyp zur Kennzeichnung von Auftragsartenbeschränkungen</documentation>
+ </annotation>
+ <sequence>
+ <element name="Service" type="ebics:RestrictedServiceType" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation>Service Parameter-Sets von nicht unterstützten BTF-Auftragsarten</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <!--END BTF-->
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_request_H004.xsd b/ebics/src/main/resources/xsd/ebics_request_H004.xsd
new file mode 100644
index 00000000..efae61d9
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_request_H004.xsd
@@ -0,0 +1,355 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Sabine Wenzel (SIZ Bonn) bearbeitet -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+<annotation>
+ <documentation xml:lang="de">ebics_request_H004.xsd ist das EBICS-Protokollschema für Anfragen.</documentation>
+ <documentation xml:lang="en">ebics_request_H004.xsd is the appropriate EBICS protocol schema for standard requests.</documentation>
+</annotation>
+<include schemaLocation="ebics_types_H004.xsd"/>
+<include schemaLocation="ebics_orders_H004.xsd"/>
+<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+<element name="ebicsRequest">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard of the EBICS SCRL: Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ <documentation xml:lang="en">Electronic Banking Internet Communication Standard der EBICS SCRL: multi-bank capable interface for internet-based communication.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ <documentation xml:lang="en">contains the transaction-driven data.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:StaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the static header entries.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:MutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the mutable header entries.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature"/>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten, EU(s) und weitere Nutzdaten.</documentation>
+ <documentation xml:lang="en">contains order data, order signature(s) and further data referring to the current order.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element ref="ds:X509Data" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">X.509-Daten des Teilnehmers.</documentation>
+ <documentation xml:lang="en">X.509 data of the user.</documentation>
+ </annotation>
+ </element>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Welche Transaktionsphase?</documentation>
+ <documentation xml:lang="en">Which transaction phase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungs- und Transferphase.</documentation>
+ <documentation xml:lang="en">Initialisation or transfer phase.</documentation>
+ </annotation>
+ <element name="PreValidation" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Daten zur Vorabprüfung; nur anzugeben in der Initialisierungsphase bei Uploads mit Auftragsattribut OZH (EUs + Auftragsdaten).</documentation>
+ <documentation xml:lang="en">Data sent for pre-validation; mandatory for initialisation phase during uploads using order attribute OZH (order signature(s) + order data).</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:PreValidationRequestType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="DataTransfer" type="ebics:DataTransferRequestType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Signatur- bzw. Auftragsdaten; nur bei Upload anzugeben.</documentation>
+ <documentation xml:lang="en">Transfer of signature or order data; mandatory for uploads only.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Quittierungsphase nach Download.</documentation>
+ <documentation xml:lang="en">Receipt phase after download.</documentation>
+ </annotation>
+ <element name="TransferReceipt">
+ <annotation>
+ <documentation xml:lang="de">Quittierung des Transfers.</documentation>
+ <documentation xml:lang="en">Receipt of transfer.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:TransferReceiptRequestType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </sequence>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+</element>
+<complexType name="StaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Transaktionsphase?</documentation>
+ <documentation xml:lang="en">Transaction phase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungsphase.</documentation>
+ <documentation xml:lang="en">Initialisation phase.</documentation>
+ </annotation>
+ <element name="Nonce" type="ebics:NonceType">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig.</documentation>
+ <documentation xml:lang="en">Random value, ensures the uniqueness of the client's message during initialisation phase.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung.</documentation>
+ <documentation xml:lang="en">current timestamp, used to limit storage space for nonces on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ <documentation xml:lang="en">ID of the partner = customer, administered on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ <documentation xml:lang="en">ID of the user that is assigned to the given customer, administered on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ <documentation xml:lang="en">ID of the system for multi-user systems.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ <documentation xml:lang="en">software ID / manufacturer ID / manufacturer's name of the customer's software package.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ProductType">
+ <attribute name="Language" type="ebics:LanguageType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sprachkennzeichen der Kundenproduktversion (gemäß ISO 639).</documentation>
+ <documentation xml:lang="en">Language code of the customer's software package according to ISO 639.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="InstituteID" type="ebics:InstituteIDType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Herausgebers des Kundenprodukts bzw. des betreuenden Kreditinstituts.</documentation>
+ <documentation xml:lang="en">ID of the manufacturer / financial institute providing support for the customer's software package.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderDetails" type="ebics:StaticHeaderOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ <documentation xml:lang="en">order details.</documentation>
+ </annotation>
+ </element>
+ <element name="BankPubKeyDigests">
+ <annotation>
+ <documentation xml:lang="de">Hashwerte der erwarteten öffentlichen Schlüssel (Verschlüsselung, Signatur, Authentifikation) des Kreditinstituts.</documentation>
+ <documentation xml:lang="en">Digest values of the expected public keys (authentication, encryption, signature) owned by the financial institute.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Authentication">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Authentifikationsschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public authentication key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:AuthenticationVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for authentication.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Encryption">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Verschlüsselungsschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public encryption key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:EncryptionVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for encryption.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Signature" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Signaturschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public signature key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:SignatureVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ <documentation xml:lang="en">Classification of the security medium used by the customer.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSegments" type="ebics:NumSegmentsType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Gesamtsegmentanzahl für diese Transaktion; nur bei Uploads anzugeben.</documentation>
+ <documentation xml:lang="en">Total number of segments for this transaction; mandatory for uploads only.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Transfer- und Quittierungsphase.</documentation>
+ <documentation xml:lang="en">Transfer or receipt phase.</documentation>
+ </annotation>
+ <element name="TransactionID" type="ebics:TransactionIDType">
+ <annotation>
+ <documentation xml:lang="de">eindeutige, technische Transaktions-ID; wird vom Server vergeben.</documentation>
+ <documentation xml:lang="en">unique transaction ID, provided by the server.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </choice>
+ </sequence>
+</complexType>
+<complexType name="MutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the mutable EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionPhase" type="ebics:TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Phase, in der sich die Transaktion gerade befindet; wird bei jedem Transaktionsschritt vom Client gesetzt und vom Server übernommen.</documentation>
+ <documentation xml:lang="en">Current phase of the transaction; this information is provided by the client for each step of the transaction, and the server adopts the setting.</documentation>
+ </annotation>
+ </element>
+ <element name="SegmentNumber" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält die Nummer des aktuellen Segments, welches gerade übertragen oder angefordert wird; nur anzugeben bei TransactionPhase=Transfer.</documentation>
+ <documentation xml:lang="en">contains the number of the segment which is currently being transmitted or requested; mandatory for transaction phase 'Transfer' only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SegmentNumberType">
+ <attribute name="lastSegment" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist dies das letzte Segment der Übertragung?</documentation>
+ <documentation xml:lang="en">Is this segment meant to be the last one regarding this transmission?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+</complexType>
+<complexType name="StaticHeaderOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsdetails im statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for order details stored in the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart.</documentation>
+ <documentation xml:lang="en">type code of the order.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderTBaseType"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer für Sendeaufträge gemäß DFÜ-Abkommen.</documentation>
+ <documentation xml:lang="en">ID of the (upload) order, formatted in accordance with the document "DFÜ-Abkommen".</documentation>
+ </annotation>
+ </element>
+ <element name="OrderAttribute" type="ebics:OrderAttributeType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsattribut.</documentation>
+ <documentation xml:lang="en">attribute describing the order contents.</documentation>
+ </annotation>
+ </element>
+ <element ref="ebics:OrderParams"/>
+ </sequence>
+</complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_request_H005.xsd b/ebics/src/main/resources/xsd/ebics_request_H005.xsd
new file mode 100644
index 00000000..dc7ad70a
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_request_H005.xsd
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by EBICS Working Group - March 2017 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_request_H005.xsd ist das EBICS-Protokollschema für Anfragen.</documentation>
+ <documentation xml:lang="en">ebics_request_H005.xsd is the appropriate EBICS protocol schema for standard requests.</documentation>
+ </annotation>
+ <include schemaLocation="ebics_types_H005.xsd"/>
+ <include schemaLocation="ebics_orders_H005.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <element name="ebicsRequest">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard of the EBICS SCRL: Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ <documentation xml:lang="en">Electronic Banking Internet Communication Standard der EBICS SCRL: multi-bank capable interface for internet-based communication.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ <documentation xml:lang="en">contains the transaction-driven data.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:StaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the static header entries.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:MutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the mutable header entries.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature"/>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten, EU(s) und weitere Nutzdaten.</documentation>
+ <documentation xml:lang="en">contains order data, order signature(s) and further data referring to the current order.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de"/>
+ </annotation>
+ <element ref="ds:X509Data" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">X.509-Daten des Teilnehmers.</documentation>
+ <documentation xml:lang="en">X.509 data of the user.</documentation>
+ </annotation>
+ </element>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Welche Transaktionsphase?</documentation>
+ <documentation xml:lang="en">Which transaction phase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungs- und Transferphase.</documentation>
+ <documentation xml:lang="en">Initialisation or transfer phase.</documentation>
+ </annotation>
+ <element name="PreValidation" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Daten zur Vorabprüfung; nur anzugeben in der Initialisierungsphase bei Uploads mit Auftragsattribut OZH (EUs + Auftragsdaten).</documentation>
+ <documentation xml:lang="en">Data sent for pre-validation; mandatory for initialisation phase during uploads using order attribute OZH (order signature(s) + order data).</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:PreValidationRequestType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ <element name="DataTransfer" type="ebics:DataTransferRequestType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Signatur- bzw. Auftragsdaten; nur bei Upload anzugeben.</documentation>
+ <documentation xml:lang="en">Transfer of signature or order data; mandatory for uploads only.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Quittierungsphase nach Download.</documentation>
+ <documentation xml:lang="en">Receipt phase after download.</documentation>
+ </annotation>
+ <element name="TransferReceipt">
+ <annotation>
+ <documentation xml:lang="de">Quittierung des Transfers.</documentation>
+ <documentation xml:lang="en">Receipt of transfer.</documentation>
+ </annotation>
+ <complexType>
+ <complexContent>
+ <extension base="ebics:TransferReceiptRequestType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </sequence>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ </element>
+ <complexType name="StaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="HostID" type="ebics:HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Hostname des Banksystems.</documentation>
+ </annotation>
+ </element>
+ <choice>
+ <annotation>
+ <documentation xml:lang="de">Transaktionsphase?</documentation>
+ <documentation xml:lang="en">Transaction phase?</documentation>
+ </annotation>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Initialisierungsphase.</documentation>
+ <documentation xml:lang="en">Initialisation phase.</documentation>
+ </annotation>
+ <element name="Nonce" type="ebics:NonceType">
+ <annotation>
+ <documentation xml:lang="de">Zufallswert; damit wird die Initialisierungsnachricht des Clients einzigartig.</documentation>
+ <documentation xml:lang="en">Random value, ensures the uniqueness of the client's message during initialisation phase.</documentation>
+ </annotation>
+ </element>
+ <element name="Timestamp" type="ebics:TimestampType">
+ <annotation>
+ <documentation xml:lang="de">aktueller Zeitstempel zur Begrenzung der serverseitigen Nonce-Speicherung.</documentation>
+ <documentation xml:lang="en">current timestamp, used to limit storage space for nonces on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="ebics:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des serverseitig administrierten Kunden.</documentation>
+ <documentation xml:lang="en">ID of the partner = customer, administered on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="ebics:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID des serverseitig zu diesem Kunden administrierten Teilnehmers.</documentation>
+ <documentation xml:lang="en">ID of the user that is assigned to the given customer, administered on the server.</documentation>
+ </annotation>
+ </element>
+ <element name="SystemID" type="ebics:UserIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">technische User-ID für Multi-User-Systeme.</documentation>
+ <documentation xml:lang="en">ID of the system for multi-user systems.</documentation>
+ </annotation>
+ </element>
+ <element name="Product" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Kundenprodukts bzw. Herstellerkennung oder Name.</documentation>
+ <documentation xml:lang="en">software ID / manufacturer ID / manufacturer's name of the customer's software package.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ProductType">
+ <attribute name="Language" type="ebics:LanguageType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Sprachkennzeichen der Kundenproduktversion (gemäß ISO 639).</documentation>
+ <documentation xml:lang="en">Language code of the customer's software package according to ISO 639.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="InstituteID" type="ebics:InstituteIDType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kennung des Herausgebers des Kundenprodukts bzw. des betreuenden Kreditinstituts.</documentation>
+ <documentation xml:lang="en">ID of the manufacturer / financial institute providing support for the customer's software package.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderDetails" type="ebics:StaticHeaderOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdetails.</documentation>
+ <documentation xml:lang="en">order details.</documentation>
+ </annotation>
+ </element>
+ <element name="BankPubKeyDigests">
+ <annotation>
+ <documentation xml:lang="de">Hashwerte der erwarteten öffentlichen Schlüssel (Verschlüsselung, Signatur, Authentifikation) des Kreditinstituts.</documentation>
+ <documentation xml:lang="en">Digest values of the expected public keys (authentication, encryption, signature) owned by the financial institute.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Authentication">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Authentifikationsschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public authentication key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:AuthenticationVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for authentication.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Encryption">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Verschlüsselungsschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public encryption key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:EncryptionVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for encryption.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="Signature" minOccurs="0" maxOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des Signaturschlüssels.</documentation>
+ <documentation xml:lang="en">Digest value of the public signature key.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:SignatureVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="SecurityMedium" type="ebics:SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Angabe des Sicherheitsmediums, das der Kunde verwendet.</documentation>
+ <documentation xml:lang="en">Classification of the security medium used by the customer.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSegments" type="ebics:NumSegmentsType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Gesamtsegmentanzahl für diese Transaktion; nur bei Uploads anzugeben.</documentation>
+ <documentation xml:lang="en">Total number of segments for this transaction; mandatory for uploads only.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <annotation>
+ <documentation xml:lang="de">Transfer- und Quittierungsphase.</documentation>
+ <documentation xml:lang="en">Transfer or receipt phase.</documentation>
+ </annotation>
+ <element name="TransactionID" type="ebics:TransactionIDType">
+ <annotation>
+ <documentation xml:lang="de">eindeutige, technische Transaktions-ID; wird vom Server vergeben.</documentation>
+ <documentation xml:lang="en">unique transaction ID, provided by the server.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="MutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the mutable EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionPhase" type="ebics:TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Phase, in der sich die Transaktion gerade befindet; wird bei jedem Transaktionsschritt vom Client gesetzt und vom Server übernommen.</documentation>
+ <documentation xml:lang="en">Current phase of the transaction; this information is provided by the client for each step of the transaction, and the server adopts the setting.</documentation>
+ </annotation>
+ </element>
+ <element name="SegmentNumber" nillable="true" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält die Nummer des aktuellen Segments, welches gerade übertragen oder angefordert wird; nur anzugeben bei TransactionPhase=Transfer.</documentation>
+ <documentation xml:lang="en">contains the number of the segment which is currently being transmitted or requested; mandatory for transaction phase 'Transfer' only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SegmentNumberType">
+ <attribute name="lastSegment" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist dies das letzte Segment der Übertragung?</documentation>
+ <documentation xml:lang="en">Is this segment meant to be the last one regarding this transmission?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="StaticHeaderOrderDetailsType">
+ <annotation>
+ <documentation xml:lang="de">//MODIFIED - Removed OrderAtribute ELEMENT// Datentyp für Auftragsdetails im statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for order details stored in the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="AdminOrderType">
+ <annotation>
+ <documentation xml:lang="de">//MODIFIED - Umbenannt von OrderType// Auftragsart.</documentation>
+ <documentation xml:lang="en">type code of the order.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:OrderTBaseType"/>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer für Sendeaufträge gemäß DFÜ-Abkommen.</documentation>
+ <documentation xml:lang="en">ID of the (upload) order, formatted in accordance with the document "DFÜ-Abkommen".</documentation>
+ </annotation>
+ </element>
+ <element ref="ebics:OrderParams"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_response_H004.xsd b/ebics/src/main/resources/xsd/ebics_response_H004.xsd
new file mode 100644
index 00000000..f14ff99b
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_response_H004.xsd
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_response_H004.xsd ist das EBICS-Protokollschema für Antwortnachrichten.</documentation>
+ <documentation xml:lang="en">ebics_response_H004.xsd is the appropriate EBICS protocol schema for standard responses.</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H004.xsd"/>
+ <include schemaLocation="ebics_orders_H004.xsd"/>
+ <element name="ebicsResponse">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard des Zentralen Kreditausschusses (ZKA): Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ <documentation xml:lang="en">Electronic Banking Internet Communication Standard of the "Zentraler Kreditausschuss (ZKA)": multi-bank capable interface for internet-based communication.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ <documentation xml:lang="en">contains the transaction-driven data.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:ResponseStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the static header entries.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:ResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the mutable header entries.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ <documentation xml:lang="en">Authentication signature.</documentation>
+ </annotation>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten, EU(s) und weitere Nutzdaten.</documentation>
+ <documentation xml:lang="en">contains order data, order signature(s) and further data referring to the current order.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataTransfer" type="ebics:DataTransferResponseType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten; nur bei Download anzugeben.</documentation>
+ <documentation xml:lang="en">Transfer of signature or order data; mandatory for downloads only.</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode">
+ <annotation>
+ <documentation xml:lang="de">fachlicher Antwortcode für den vorangegangenen Request.</documentation>
+ <documentation xml:lang="en">order-related return code of the previous request.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ReturnCodeType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TimestampBankParameter" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter; nur in der Initialisierungsphase anzugeben.</documentation>
+ <documentation xml:lang="en">timestamp indicating the latest update of the bank parameters; may be set during initialisation phase only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:TimestampType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ </element>
+ <complexType name="ResponseStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionID" type="ebics:TransactionIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">eindeutige, technische Transaktions-ID; wird vom Server vergeben, falls OrderAttribute entweder gleich "OZHNN" oder gleich "DZHNN" ist und falls tatsächlich eine Transaktion erzeugt wurde.</documentation>
+ <documentation xml:lang="en">unique transaction ID, provided by the server if and only if the order attribute is set to either "OZHNN" or "DZHNN" and if a transaction has been established actually.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSegments" type="ebics:SegmentNumberType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Gesamtsegmentanzahl für diese Transaktion; nur bei Downloads in der Initialisierungsphase anzugeben.</documentation>
+ <documentation xml:lang="en">Total number of segments for this transaction; mandatory for downloads in initialisation phase only.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="ResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the mutable EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionPhase" type="ebics:TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Phase, in der sich die Transaktion gerade befindet; wird bei jedem Transaktionsschritt vom Client gesetzt und vom Server übernommen.</documentation>
+ <documentation xml:lang="en">Current phase of the transaction; this information is provided by the client for each step of the transaction, and the server adopts the setting.</documentation>
+ </annotation>
+ </element>
+ <element name="SegmentNumber" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält die Nummer des aktuellen Segments, welches gerade übertragen oder angefordert wird; nur anzugeben bei TransactionPhase=Transfer und (bei Download) TransactionPhase=Initialisation.</documentation>
+ <documentation xml:lang="en">contains the number of the segment which is currently being transmitted or requested; mandatory for transaction phases 'Transfer' and (for downloads) 'Initialisation' only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SegmentNumberType">
+ <attribute name="lastSegment" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist dies das letzte Segment der Übertragung?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer von Sendeaufträgen gemäß DFÜ-Abkommen.</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Rückmeldung des technischen Status mit einer eindeutigen Fehlernummer.</documentation>
+ <documentation xml:lang="en">Return code indicating the technical status.</documentation>
+ </annotation>
+ </element>
+ <element name="ReportText" type="ebics:ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Klartext der Rückmeldung des technischen Status.</documentation>
+ <documentation xml:lang="en">Textual interpretation of the returned technical status code.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_response_H005.xsd b/ebics/src/main/resources/xsd/ebics_response_H005.xsd
new file mode 100644
index 00000000..841286b7
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_response_H005.xsd
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by EBICS Working Group - October 2016 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <annotation>
+ <documentation xml:lang="de">ebics_response_H005.xsd ist das EBICS-Protokollschema für Antwortnachrichten.</documentation>
+ <documentation xml:lang="en">ebics_response_H005.xsd is the appropriate EBICS protocol schema for standard responses.</documentation>
+ </annotation>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd">
+ <annotation>
+ <documentation xml:lang="de">XML-Signature.</documentation>
+ </annotation>
+ </import>
+ <include schemaLocation="ebics_types_H005.xsd"/>
+ <include schemaLocation="ebics_orders_H005.xsd"/>
+ <element name="ebicsResponse">
+ <annotation>
+ <documentation xml:lang="de">Electronic Banking Internet Communication Standard des Zentralen Kreditausschusses (ZKA): Multibankfähige Schnittstelle zur internetbasierten Kommunikation.</documentation>
+ <documentation xml:lang="en">Electronic Banking Internet Communication Standard of the "Zentraler Kreditausschuss (ZKA)": multi-bank capable interface for internet-based communication.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="header">
+ <annotation>
+ <documentation xml:lang="de">enthält die technischen Transaktionsdaten.</documentation>
+ <documentation xml:lang="en">contains the transaction-driven data.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="static" type="ebics:ResponseStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enhält alle festen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the static header entries.</documentation>
+ </annotation>
+ </element>
+ <element name="mutable" type="ebics:ResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">enthält alle variablen Headereinträge.</documentation>
+ <documentation xml:lang="en">contains the mutable header entries.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </complexType>
+ </element>
+ <element ref="ebics:AuthSignature">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ <documentation xml:lang="en">Authentication signature.</documentation>
+ </annotation>
+ </element>
+ <element name="body">
+ <annotation>
+ <documentation xml:lang="de">enthält die Auftragsdaten, EU(s) und weitere Nutzdaten.</documentation>
+ <documentation xml:lang="en">contains order data, order signature(s) and further data referring to the current order.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="DataTransfer" type="ebics:DataTransferResponseType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Transfer von Auftragsdaten; nur bei Download anzugeben.</documentation>
+ <documentation xml:lang="en">Transfer of signature or order data; mandatory for downloads only.</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode">
+ <annotation>
+ <documentation xml:lang="de">fachlicher Antwortcode für den vorangegangenen Request.</documentation>
+ <documentation xml:lang="en">order-related return code of the previous request.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:ReturnCodeType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TimestampBankParameter" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitstempel der letzten Aktualisierung der Bankparameter; nur in der Initialisierungsphase anzugeben.</documentation>
+ <documentation xml:lang="en">timestamp indicating the latest update of the bank parameters; may be set during initialisation phase only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:TimestampType">
+ <attributeGroup ref="ebics:AuthenticationMarker"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="ebics:VersionAttrGroup"/>
+ <anyAttribute namespace="##targetNamespace" processContents="strict"/>
+ </complexType>
+ </element>
+ <complexType name="ResponseStaticHeaderType">
+ <annotation>
+ <documentation xml:lang="de">//TODO - Modify anotation TransactionID// Datentyp für den statischen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the static EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionID" type="ebics:TransactionIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">eindeutige, technische Transaktions-ID; wird vom Server vergeben, falls OrderAttribute entweder gleich "OZHNN" oder gleich "DZHNN" ist und falls tatsächlich eine Transaktion erzeugt wurde.</documentation>
+ <documentation xml:lang="en">unique transaction ID, provided by the server if and only if the order attribute is set to either "OZHNN" or "DZHNN" and if a transaction has been established actually.</documentation>
+ </annotation>
+ </element>
+ <element name="NumSegments" type="ebics:SegmentNumberType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Gesamtsegmentanzahl für diese Transaktion; nur bei Downloads in der Initialisierungsphase anzugeben.</documentation>
+ <documentation xml:lang="en">Total number of segments for this transaction; mandatory for downloads in initialisation phase only.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="ResponseMutableHeaderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den variablen EBICS-Header.</documentation>
+ <documentation xml:lang="en">Data type for the mutable EBICS header.</documentation>
+ </annotation>
+ <sequence>
+ <element name="TransactionPhase" type="ebics:TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Phase, in der sich die Transaktion gerade befindet; wird bei jedem Transaktionsschritt vom Client gesetzt und vom Server übernommen.</documentation>
+ <documentation xml:lang="en">Current phase of the transaction; this information is provided by the client for each step of the transaction, and the server adopts the setting.</documentation>
+ </annotation>
+ </element>
+ <element name="SegmentNumber" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">enthält die Nummer des aktuellen Segments, welches gerade übertragen oder angefordert wird; nur anzugeben bei TransactionPhase=Transfer und (bei Download) TransactionPhase=Initialisation.</documentation>
+ <documentation xml:lang="en">contains the number of the segment which is currently being transmitted or requested; mandatory for transaction phases 'Transfer' and (for downloads) 'Initialisation' only.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:SegmentNumberType">
+ <attribute name="lastSegment" type="boolean" use="required">
+ <annotation>
+ <documentation xml:lang="de">Ist dies das letzte Segment der Übertragung?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderID" type="ebics:OrderIDType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Auftragsnummer von Sendeaufträgen gemäß DFÜ-Abkommen.</documentation>
+ </annotation>
+ </element>
+ <element name="ReturnCode" type="ebics:ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Rückmeldung des technischen Status mit einer eindeutigen Fehlernummer.</documentation>
+ <documentation xml:lang="en">Return code indicating the technical status.</documentation>
+ </annotation>
+ </element>
+ <element name="ReportText" type="ebics:ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Klartext der Rückmeldung des technischen Status.</documentation>
+ <documentation xml:lang="en">Textual interpretation of the returned technical status code.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_signature_S002.xsd b/ebics/src/main/resources/xsd/ebics_signature_S002.xsd
new file mode 100644
index 00000000..3127faa7
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_signature_S002.xsd
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 sp1 (x64) (http://www.altova.com) by EBICS Working Group - October 2016 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:esig="http://www.ebics.org/S002" targetNamespace="http://www.ebics.org/S002" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation xml:lang="de">ebics_signature enthält Typdefinitionen für elektronische Unterschriften der Versionen A005, A006 und folgende.</documentation>
+ <documentation xml:lang="en">ebics_EU contains type definitions for electronic signatures: versions A005, A006 and et sqq.</documentation>
+ </annotation>
+ <!-- Elementdefinitionen für die EU. Die XML-Klartext-Struktur wird im EBICS-Signaturdatenkontext binär interpretiert.-->
+ <element name="EBICSSignatureData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Strukturen für bankfachliche Elektronische Unterschriften (EUs).</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <element name="UserSignatureData" type="esig:UserSignatureDataSigBookType" substitutionGroup="esig:EBICSSignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält die EUs der Teilnehmer.</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <complexType name="UserSignatureDataSigBookType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Signaturdaten des Teilnehmers beim EU-Transfer.</documentation>
+ <documentation xml:lang="en">Data type for digital signature data transferred using EBICS.</documentation>
+ </annotation>
+ <sequence>
+ <element name="OrderSignatureData" type="esig:OrderSignatureDataType" maxOccurs="unbounded">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="OrderSignatureType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für kryptographische Unterschriften.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <element name="OrderSignatureData" type="esig:OrderSignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ </element>
+ <complexType name="OrderSignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Data type according for a digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignatureVersion" type="esig:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </element>
+ <element name="SignatureValue" type="base64Binary">
+ <annotation>
+ <documentation xml:lang="de">Digitale Signatur.</documentation>
+ <documentation xml:lang="en">Digital signature.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="esig:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
+ <documentation xml:lang="en">Customer ID of the signer.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="esig:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ <documentation xml:lang="en">User ID.</documentation>
+ </annotation>
+ </element>
+ <element ref="ds:X509Data" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur X.509-Funktionalität</documentation>
+ <documentation xml:lang="en">Parameter for X509Data</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <simpleType name="PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kunden-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Teilnehmer-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Elektronischen Unterschrift (EU).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="A\d{3}"/>
+ </restriction>
+ </simpleType>
+ <!-- Definitionen für die Uebertragung von oeffentlichen Signierschlüsseln. z.B. ueber EBICS mit INI, PUB, HCS.-->
+ <element name="SignaturePubKeyOrderData" type="esig:SignaturePubKeyOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Element für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
+ </annotation>
+ </element>
+ <complexType name="SignaturePubKeyOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="esig:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="esig:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <complexType name="SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche bankfachliche Schlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="esig:PubKeyInfoType">
+ <sequence>
+ <element name="SignatureVersion" type="esig:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des EU-Signaturverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung eines öffentlichen RSA-Schlüssels als Exponent-Modulus-Kombination oder als X509-Zertifikat.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:X509Data"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Zeitstempel.</documentation>
+ </annotation>
+ <restriction base="dateTime"/>
+ </simpleType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_signatures.xsd b/ebics/src/main/resources/xsd/ebics_signatures.xsd
new file mode 100644
index 00000000..79abed9b
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_signatures.xsd
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:esig="http://www.ebics.org/S001" targetNamespace="http://www.ebics.org/S001" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation xml:lang="de">ebics_signature enthält Typdefinitionen für elektronische Unterschriften der Versionen A004, A005, A006 und folgende.</documentation>
+ <documentation xml:lang="en">ebics_EU contains type definitions for electronic signatures: versions A005, A006 and et sqq.</documentation>
+ </annotation>
+ <!-- Elementdefinitionen für die EU. Die XML-Klartext-Struktur wird im EBICS-Signaturdatenkontext binär interpretiert.-->
+ <element name="EBICSSignatureData" abstract="true">
+ <annotation>
+ <documentation xml:lang="de">XML-Strukturen für bankfachliche Elektronische Unterschriften (EUs).</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <element name="UserSignatureData" type="esig:UserSignatureDataSigBookType" substitutionGroup="esig:EBICSSignatureData">
+ <annotation>
+ <documentation xml:lang="de">enthält die EUs der Teilnehmer.</documentation>
+ <documentation xml:lang="en">contains the digital signatures.</documentation>
+ </annotation>
+ </element>
+ <complexType name="UserSignatureDataSigBookType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Signaturdaten des Teilnehmers beim EU-Transfer.</documentation>
+ <documentation xml:lang="en">Data type for digital signature data transferred using EBICS.</documentation>
+ </annotation>
+ <sequence>
+ <choice maxOccurs="unbounded">
+ <element name="OrderSignature">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (Binärformat).</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), binary format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="esig:OrderSignatureType">
+ <attribute name="PartnerID" use="required">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
+ <documentation xml:lang="en">Customer ID of the signer.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="OrderSignatureData" type="esig:OrderSignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ </element>
+ </choice>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="OrderSignatureType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für kryptographische Unterschriften.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <element name="OrderSignatureData" type="esig:OrderSignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ </element>
+ <complexType name="OrderSignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
+ <documentation xml:lang="en">Data type according for a digital signature (either autorising an order or applied for transportation), structured format.</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignatureVersion" type="esig:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </element>
+ <element name="SignatureValue" type="base64Binary">
+ <annotation>
+ <documentation xml:lang="de">Digitale Signatur.</documentation>
+ <documentation xml:lang="en">Digital signature.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="esig:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
+ <documentation xml:lang="en">Customer ID of the signer.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="esig:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ <documentation xml:lang="en">User ID.</documentation>
+ </annotation>
+ </element>
+ <element ref="ds:X509Data" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Parameter zur X.509-Funktionalität</documentation>
+ <documentation xml:lang="en">Parameter for X509Data</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <simpleType name="PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kunden-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Teilnehmer-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Elektronischen Unterschrift (EU).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="A\d{3}"/>
+ </restriction>
+ </simpleType>
+ <!-- Definitionen für die Uebertragung von oeffentlichen Signierschlüsseln. z.B. ueber EBICS mit INI, PUB, HCS.-->
+ <element name="SignaturePubKeyOrderData" type="esig:SignaturePubKeyOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Element für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
+ </annotation>
+ </element>
+ <complexType name="SignaturePubKeyOrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
+ </annotation>
+ <sequence>
+ <element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <element name="PartnerID" type="esig:PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Kunden-ID.</documentation>
+ </annotation>
+ </element>
+ <element name="UserID" type="esig:UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Teilnehmer-ID.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
+ </annotation>
+ </element>
+ <complexType name="SignaturePubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche bankfachliche Schlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="esig:PubKeyInfoType">
+ <sequence>
+ <element name="SignatureVersion" type="esig:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des EU-Signaturverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="PubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung eines öffentlichen RSA-Schlüssels als Exponent-Modulus-Kombination oder als X509-Zertifikat.</documentation>
+ </annotation>
+ <sequence>
+ <sequence>
+ <element ref="ds:X509Data" minOccurs="0"/>
+ <element name="PubKeyValue" type="esig:PubKeyValueType">
+ <annotation>
+ <documentation xml:lang="de">Darstellung als Exponent-Modulus-Kombination.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PubKeyValueType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Exponent-Modulus-Darstellung eines öffentlichen RSA-Schlüssels.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:RSAKeyValue"/>
+ <element name="TimeStamp" type="esig:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitpunkt der Generierung des Schlüssels.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Zeitstempel.</documentation>
+ </annotation>
+ <restriction base="dateTime"/>
+ </simpleType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_types_H004.xsd b/ebics/src/main/resources/xsd/ebics_types_H004.xsd
new file mode 100644
index 00000000..461e377d
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_types_H004.xsd
@@ -0,0 +1,2426 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Sabine Wenzel (SIZ Bonn) bearbeitet -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <import namespace="http://www.ebics.org/S001" schemaLocation="ebics_signatures.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation xml:lang="de">ebics_types_H004.xsd enthält einfache Typdefinitionen für EBICS.</documentation>
+ </annotation>
+ <simpleType name="ProtocolVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für EBICS-Versionsnummern.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="H\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ProtocolRevisionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für EBICS-Revisionsnummern.</documentation>
+ </annotation>
+ <restriction base="positiveInteger">
+ <maxInclusive value="99"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Verschlüsselung.</documentation>
+ </annotation>
+ <restriction base="token">
+ <pattern value="E\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Elektronischen Unterschrift (EU).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="A\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Authentifikation.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="X\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="CryptoVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Verschlüsselung, Signatur und Authentifkation.</documentation>
+ </annotation>
+ <union memberTypes="ebics:EncryptionVersionType ebics:SignatureVersionType ebics:AuthenticationVersionType"/>
+ </simpleType>
+ <simpleType name="CurrencyBaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Währungen (Grundtyp).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="3"/>
+ <pattern value="[A-Z]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="CurrencyCode">
+ <annotation>
+ <documentation xml:lang="de">dreistelliger Währungscode gemäß ISO 4217.</documentation>
+ </annotation>
+ <restriction base="ebics:CurrencyBaseType">
+ <length value="3"/>
+ <enumeration value="AFN">
+ <annotation>
+ <documentation xml:lang="de">Afghanistan: Afghani</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ALL">
+ <annotation>
+ <documentation xml:lang="de">Albanien: Lek</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AMD">
+ <annotation>
+ <documentation xml:lang="de">Armenien: Dram</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ANG">
+ <annotation>
+ <documentation xml:lang="de">Niederländische Antillen: Gulden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AOA">
+ <annotation>
+ <documentation xml:lang="de">Angola: Kwanza</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ARS">
+ <annotation>
+ <documentation xml:lang="de">Argentinien: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AUD">
+ <annotation>
+ <documentation xml:lang="de">Australien: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AWG">
+ <annotation>
+ <documentation xml:lang="de">Aruba: Florin</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZM">
+ <annotation>
+ <documentation xml:lang="de">Aserbaidschan: Manat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BAM">
+ <annotation>
+ <documentation xml:lang="de">Bosnien und Herzegowina: Konvertible Mark</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BBD">
+ <annotation>
+ <documentation xml:lang="de">Barbados: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BDT">
+ <annotation>
+ <documentation xml:lang="de">Bangladesch: Taka</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BGN">
+ <annotation>
+ <documentation xml:lang="de">Bulgarien: Lew</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BHD">
+ <annotation>
+ <documentation xml:lang="de">Bahrain: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BMD">
+ <annotation>
+ <documentation xml:lang="de">Bermuda: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BND">
+ <annotation>
+ <documentation xml:lang="de">Brunei: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BOB">
+ <annotation>
+ <documentation xml:lang="de">Bolivien: Boliviano</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BRL">
+ <annotation>
+ <documentation xml:lang="de">Brasilien: Real</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BSD">
+ <annotation>
+ <documentation xml:lang="de">Bahamas: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BTN">
+ <annotation>
+ <documentation xml:lang="de">Bhutan: Ngultrum</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BWP">
+ <annotation>
+ <documentation xml:lang="de">Botswana: Pula</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BYR">
+ <annotation>
+ <documentation xml:lang="de">Weißrussland (Belarus): Rubel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BZD">
+ <annotation>
+ <documentation xml:lang="de">Belize: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CAD">
+ <annotation>
+ <documentation xml:lang="de">Kanada: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CDF">
+ <annotation>
+ <documentation xml:lang="de">Demokratische Republik Kongo: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CHF">
+ <annotation>
+ <documentation xml:lang="de">Schweiz: Franken</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CLP">
+ <annotation>
+ <documentation xml:lang="de">Chile: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CNY">
+ <annotation>
+ <documentation xml:lang="de">China (Volksrepublik): Renminbi Yuan</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COP">
+ <annotation>
+ <documentation xml:lang="de">Kolumbien: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CRC">
+ <annotation>
+ <documentation xml:lang="de">Costa Rica: Colón</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CSD">
+ <annotation>
+ <documentation xml:lang="de">Serbien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CUP">
+ <annotation>
+ <documentation xml:lang="de">Kuba: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CVE">
+ <annotation>
+ <documentation xml:lang="de">Kap Verde: Escudo</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CYP">
+ <annotation>
+ <documentation xml:lang="de">Zypern (griechischer Teil): Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CZK">
+ <annotation>
+ <documentation xml:lang="de">Tschechien: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DJV">
+ <annotation>
+ <documentation xml:lang="de">Dschibuti: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DKK">
+ <annotation>
+ <documentation xml:lang="de">Dänemark: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DOP">
+ <annotation>
+ <documentation xml:lang="de">Dominikanische Republik: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DZD">
+ <annotation>
+ <documentation xml:lang="de">Algerien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ECS">
+ <annotation>
+ <documentation xml:lang="de">Ecuador (bis 2000): Sucre</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EEK">
+ <annotation>
+ <documentation xml:lang="de">Estland: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EGP">
+ <annotation>
+ <documentation xml:lang="de">Ägypten: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ETB">
+ <annotation>
+ <documentation xml:lang="de">Äthiopien: Birr</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EUR">
+ <annotation>
+ <documentation xml:lang="de">Europäische Währungsunion: Euro</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FJD">
+ <annotation>
+ <documentation xml:lang="de">Fidschi: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FKP">
+ <annotation>
+ <documentation xml:lang="de">Falklandinseln: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GBP">
+ <annotation>
+ <documentation xml:lang="de">Vereinigtes Königreich: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GEL">
+ <annotation>
+ <documentation xml:lang="de">Georgien: Lari</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GHC">
+ <annotation>
+ <documentation xml:lang="de">Ghana: Cedi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GIP">
+ <annotation>
+ <documentation xml:lang="de">Gibraltar: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GMD">
+ <annotation>
+ <documentation xml:lang="de">Gambia: Dalasi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GNF">
+ <annotation>
+ <documentation xml:lang="de">Guinea: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GTQ">
+ <annotation>
+ <documentation xml:lang="de">Guatemala: Quetzal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GYD">
+ <annotation>
+ <documentation xml:lang="de">Guyana: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HKD">
+ <annotation>
+ <documentation xml:lang="de">Hongkong: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HNL">
+ <annotation>
+ <documentation xml:lang="de">Honduras: Lempira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HRK">
+ <annotation>
+ <documentation xml:lang="de">Kroatien: Kuna</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HTG">
+ <annotation>
+ <documentation xml:lang="de">Haiti: Gourde</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HUF">
+ <annotation>
+ <documentation xml:lang="de">Ungarn: Forint</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IDR">
+ <annotation>
+ <documentation xml:lang="de">Indonesien: Rupiah</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ILS">
+ <annotation>
+ <documentation xml:lang="de">Israel: Schekel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="INR">
+ <annotation>
+ <documentation xml:lang="de">Indien: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IQD">
+ <annotation>
+ <documentation xml:lang="de">Irak: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IRR">
+ <annotation>
+ <documentation xml:lang="de">Iran: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ISK">
+ <annotation>
+ <documentation xml:lang="de">Island: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JMD">
+ <annotation>
+ <documentation xml:lang="de">Jamaika: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JOD">
+ <annotation>
+ <documentation xml:lang="de">Jordanien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JPY">
+ <annotation>
+ <documentation xml:lang="de">Japan: Yen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KES">
+ <annotation>
+ <documentation xml:lang="de">Kenia: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KGS">
+ <annotation>
+ <documentation xml:lang="de">Kirgisistan: Som</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KHR">
+ <annotation>
+ <documentation xml:lang="de">Kambodscha: Riel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KMF">
+ <annotation>
+ <documentation xml:lang="de">Komoren: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KPW">
+ <annotation>
+ <documentation xml:lang="de">Nordkorea: Won</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KRW">
+ <annotation>
+ <documentation xml:lang="de">Südkorea: Won</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KWD">
+ <annotation>
+ <documentation xml:lang="de">Kuwait: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KYD">
+ <annotation>
+ <documentation xml:lang="de">Kaimaninseln: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KZT">
+ <annotation>
+ <documentation xml:lang="de">Kasachstan: Tenge</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LAK">
+ <annotation>
+ <documentation xml:lang="de">Laos: Kip</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LBP">
+ <annotation>
+ <documentation xml:lang="de">Libanon: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LKR">
+ <annotation>
+ <documentation xml:lang="de">Sri Lanka: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LRD">
+ <annotation>
+ <documentation xml:lang="de">Liberia: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LSL">
+ <annotation>
+ <documentation xml:lang="de">Lesotho: Loti</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LTL">
+ <annotation>
+ <documentation xml:lang="de">Litauen: Litas</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LVL">
+ <annotation>
+ <documentation xml:lang="de">Lettland: Lats</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LYD">
+ <annotation>
+ <documentation xml:lang="de">Libyen: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MAD">
+ <annotation>
+ <documentation xml:lang="de">Marokko: Dirham</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MDL">
+ <annotation>
+ <documentation xml:lang="de">Moldawien: Leu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MGF">
+ <annotation>
+ <documentation xml:lang="de">Madagaskar: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MKD">
+ <annotation>
+ <documentation xml:lang="de">Mazedonien: Denar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MMK">
+ <annotation>
+ <documentation xml:lang="de">Myanmar: Kyat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MNT">
+ <annotation>
+ <documentation xml:lang="de">Mongolei: Tugrik</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MOP">
+ <annotation>
+ <documentation xml:lang="de">Macau: Pataca</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MRO">
+ <annotation>
+ <documentation xml:lang="de">Mauretanien: Ouguiya</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MTL">
+ <annotation>
+ <documentation xml:lang="de">Malta: Lira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MUR">
+ <annotation>
+ <documentation xml:lang="de">Mauritius: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MVR">
+ <annotation>
+ <documentation xml:lang="de">Malediven: Rufiyaa</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MWK">
+ <annotation>
+ <documentation xml:lang="de">Malawi: Kwacha</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MXN">
+ <annotation>
+ <documentation xml:lang="de">Mexiko: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MYR">
+ <annotation>
+ <documentation xml:lang="de">Malaysia: Ringgit</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MZM">
+ <annotation>
+ <documentation xml:lang="de">Mosambik: Metical</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NAD">
+ <annotation>
+ <documentation xml:lang="de">Namibia: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NGN">
+ <annotation>
+ <documentation xml:lang="de">Nigeria: Naira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NIO">
+ <annotation>
+ <documentation xml:lang="de">Nicaragua: Cordoba Oro</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NOK">
+ <annotation>
+ <documentation xml:lang="de">Norwegen: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NPR">
+ <annotation>
+ <documentation xml:lang="de">Nepal: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NZD">
+ <annotation>
+ <documentation xml:lang="de">Neuseeland: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="OMR">
+ <annotation>
+ <documentation xml:lang="de">Oman: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PAB">
+ <annotation>
+ <documentation xml:lang="de">Panama: Balboa</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PEN">
+ <annotation>
+ <documentation xml:lang="de">Peru: Nuevo Sol</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PGK">
+ <annotation>
+ <documentation xml:lang="de">Papua-Neuguinea: Kina</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PHP">
+ <annotation>
+ <documentation xml:lang="de">Philippinen: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PKR">
+ <annotation>
+ <documentation xml:lang="de">Pakistan: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PLN">
+ <annotation>
+ <documentation xml:lang="de">Polen: Zloty</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PYG">
+ <annotation>
+ <documentation xml:lang="de">Paraguay: Guaraní</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="QAR">
+ <annotation>
+ <documentation xml:lang="de">Katar: Riyal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ROL">
+ <annotation>
+ <documentation xml:lang="de">Rumänien: Leu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RUB">
+ <annotation>
+ <documentation xml:lang="de">Russland: Rubel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RWF">
+ <annotation>
+ <documentation xml:lang="de">Ruanda: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SAR">
+ <annotation>
+ <documentation xml:lang="de">Saudi-Arabien: Riyal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SBD">
+ <annotation>
+ <documentation xml:lang="de">Salomonen: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SCR">
+ <annotation>
+ <documentation xml:lang="de">Seychellen: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SDD">
+ <annotation>
+ <documentation xml:lang="de">Sudan: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SEK">
+ <annotation>
+ <documentation xml:lang="de">Schweden: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SGD">
+ <annotation>
+ <documentation xml:lang="de">Singapur: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SHP">
+ <annotation>
+ <documentation xml:lang="de">St. Helena: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SIT">
+ <annotation>
+ <documentation xml:lang="de">Slowenien: Tolar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SKK">
+ <annotation>
+ <documentation xml:lang="de">Slowakei: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SLL">
+ <annotation>
+ <documentation xml:lang="de">Sierra Leone: Leone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SOS">
+ <annotation>
+ <documentation xml:lang="de">Somalia: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SRD">
+ <annotation>
+ <documentation xml:lang="de">Suriname: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="STD">
+ <annotation>
+ <documentation xml:lang="de">São Tomé und Príncipe: Dobra</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SVC">
+ <annotation>
+ <documentation xml:lang="de">El Salvador: Colón</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SYP">
+ <annotation>
+ <documentation xml:lang="de">Syrien: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SZL">
+ <annotation>
+ <documentation xml:lang="de">Swasiland: Lilangeni</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="THB">
+ <annotation>
+ <documentation xml:lang="de">Thailand: Baht</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TJS">
+ <annotation>
+ <documentation xml:lang="de">Tadschikistan: Somoni</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TMM">
+ <annotation>
+ <documentation xml:lang="de">Turkmenistan: Manat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TND">
+ <annotation>
+ <documentation xml:lang="de">Tunesien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TOP">
+ <annotation>
+ <documentation xml:lang="de">Tonga: Pa'anga</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TRL">
+ <annotation>
+ <documentation xml:lang="de">Türkei: Lira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TRY">
+ <annotation>
+ <documentation xml:lang="de">Türkei: Neue Lira (ab 2005)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TTD">
+ <annotation>
+ <documentation xml:lang="de">Trinidad und Tobago: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TWD">
+ <annotation>
+ <documentation xml:lang="de">Taiwan: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TZS">
+ <annotation>
+ <documentation xml:lang="de">Tansania: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UAH">
+ <annotation>
+ <documentation xml:lang="de">Ukraine: Hrywnja</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UGX">
+ <annotation>
+ <documentation xml:lang="de">Uganda: Shilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="USD">
+ <annotation>
+ <documentation xml:lang="de">USA: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UYU">
+ <annotation>
+ <documentation xml:lang="de">Uruguay: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UZS">
+ <annotation>
+ <documentation xml:lang="de">Usbekistan: Sum</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VEB">
+ <annotation>
+ <documentation xml:lang="de">Venezuela: Bolivar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VND">
+ <annotation>
+ <documentation xml:lang="de">Vietnam: Dong</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VUV">
+ <annotation>
+ <documentation xml:lang="de">Vanuatu: Vatu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WST">
+ <annotation>
+ <documentation xml:lang="de">Samoa: Tala</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XAF">
+ <annotation>
+ <documentation xml:lang="de">Zentralafrikanische Wirtschafts- und Währungsunion: CFA-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XCD">
+ <annotation>
+ <documentation xml:lang="de">Ostkaribische Währungsunion: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XOF">
+ <annotation>
+ <documentation xml:lang="de">Westafrikanische Wirtschafts- und Währungsunion: CFA-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XPF">
+ <annotation>
+ <documentation xml:lang="de">Neukaledonien: CFP-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XTS">
+ <annotation>
+ <documentation xml:lang="de">Spezialcode für Testzwecke; keine existierende Währung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XXX">
+ <annotation>
+ <documentation xml:lang="de">keine Währung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="YER">
+ <annotation>
+ <documentation xml:lang="de">Jemen: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZAR">
+ <annotation>
+ <documentation xml:lang="de">Südafrika: Rand</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZMK">
+ <annotation>
+ <documentation xml:lang="de">Sambia: Kwacha</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZWD">
+ <annotation>
+ <documentation xml:lang="de">Simbabwe: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AmountValueType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für einen Betragswert (ohne Währung).</documentation>
+ </annotation>
+ <restriction base="decimal">
+ <totalDigits value="24"/>
+ <fractionDigits value="4"/>
+ </restriction>
+ </simpleType>
+ <complexType name="AmountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für einen Betrag inkl. Währungscode-Attribut (Default = "EUR").</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode, Default="EUR".</documentation>
+ <documentation xml:lang="en">Currency code, default setting is "EUR".</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <simpleType name="TransactionIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Transaktions-ID.</documentation>
+ </annotation>
+ <restriction base="hexBinary">
+ <length value="16"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NonceType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Nonces.</documentation>
+ </annotation>
+ <restriction base="hexBinary">
+ <length value="16"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="InstituteIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Instituts-ID.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Host-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ProductType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Kundenprodukt-ID.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="LanguageType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Sprachkennzeichen des Kundenprodukts.</documentation>
+ </annotation>
+ <restriction base="language">
+ <length value="2"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für allgemeine Auftragsarten (Grundtyp).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="3"/>
+ <pattern value="[A-Z0-9]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderTListType">
+ <annotation>
+ <documentation xml:lang="de">Listentyp für allgemeine Auftragsarten.</documentation>
+ </annotation>
+ <list itemType="ebics:OrderTBaseType"/>
+ </simpleType>
+ <simpleType name="OrderTType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für zulässige Auftragsarten im EBICS-Kontext.</documentation>
+ </annotation>
+ <restriction base="ebics:OrderTBaseType">
+ <length value="3"/>
+ <enumeration value="HSA">
+ <annotation>
+ <documentation xml:lang="de">Senden der Public Keys für Authentifikation und Verschlüsselung, bankfachlich signiert mit FTAM-Signaturschlüssel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HIA">
+ <annotation>
+ <documentation xml:lang="de">Senden der Public Keys zur Authentifikation und zur Verschlüsselung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HPB">
+ <annotation>
+ <documentation xml:lang="de">Abholen der Public Keys der Bank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HCA">
+ <annotation>
+ <documentation xml:lang="de">Ändern der Public Keys zur Authentifikation und zur Verschlüsselung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HPD">
+ <annotation>
+ <documentation xml:lang="de">Abholen Bankparameter für internetbasierten Standard</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVU">
+ <annotation>
+ <documentation xml:lang="de">Abholen VEU Übersicht</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVD">
+ <annotation>
+ <documentation xml:lang="de">Abholen VEU Auftragsdaten (Daten-trägerbegleitzettel)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVT">
+ <annotation>
+ <documentation xml:lang="de">Abholen VEU Auftragsdaten ( Transakti-onsdetails gemäß Parametervorgabe)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVE">
+ <annotation>
+ <documentation xml:lang="de">Senden EU zu bestehendem VEU-Auftrag</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVS">
+ <annotation>
+ <documentation xml:lang="de">Senden Stornierung für bestehenden VEU-Auftrag</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HKD">
+ <annotation>
+ <documentation xml:lang="de">Abholen Konfigurationsdaten des Teilnehmers</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HAA">
+ <annotation>
+ <documentation xml:lang="de">Abholen Übersicht zu abrufbaren Aufträgen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVU">
+ <annotation>
+ <documentation xml:lang="de">VEU-Übersicht abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVD">
+ <annotation>
+ <documentation xml:lang="de">VEU-Status abrufen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVT">
+ <annotation>
+ <documentation xml:lang="de">VEU-Transaktion-Details abrufen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVE">
+ <annotation>
+ <documentation xml:lang="de">EU hinzufügen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HVS">
+ <annotation>
+ <documentation xml:lang="de">VEU-Stornierung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AAE">
+ <annotation>
+ <documentation xml:lang="de">Senden Importakkreditiv Änderung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AEA">
+ <annotation>
+ <documentation xml:lang="de">Senden Exportakkreditive</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AIA">
+ <annotation>
+ <documentation xml:lang="de">Senden Import-Akkreditive Avisierung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AKA">
+ <annotation>
+ <documentation xml:lang="de">Abholen Import-Akkreditive</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AWV">
+ <annotation>
+ <documentation xml:lang="de">AWV-Meldung senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZM">
+ <annotation>
+ <documentation xml:lang="de">AZV im Magnetbandformat senden (Satzlänge variabel)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZV">
+ <annotation>
+ <documentation xml:lang="de">AZV im Diskettenformat senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZ2">
+ <annotation>
+ <documentation xml:lang="de">AZV im Magnetbandformat senden (Satzlängenfeld 2 Bytes)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZ4">
+ <annotation>
+ <documentation xml:lang="de">AZV im Magnetbandformat senden (Satzlängenfeld 4 Bytes)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DDG">
+ <annotation>
+ <documentation xml:lang="de">Abholen Devisenhandelsbestätigung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DHB">
+ <annotation>
+ <documentation xml:lang="de">Senden Devisenhandelsbestätigung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DTE">
+ <annotation>
+ <documentation xml:lang="de">Eilauftrag (IZV im DTAUS0-Format) senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DTI">
+ <annotation>
+ <documentation xml:lang="de">IZV-Datei abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DTM">
+ <annotation>
+ <documentation xml:lang="de">MCV-Datei abholen (Format analog MCV)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DTV">
+ <annotation>
+ <documentation xml:lang="de">Zahlungsverkehrsdateien von Service-Rechenzentren senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DT2">
+ <annotation>
+ <documentation xml:lang="de">MC2-Datei abholen (Format analog MC2)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DT4">
+ <annotation>
+ <documentation xml:lang="de">MC4-Datei abholen (Format analog MC4)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EAB">
+ <annotation>
+ <documentation xml:lang="de">Exportakkreditive abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ECS">
+ <annotation>
+ <documentation xml:lang="de">Senden electronic-cash Lastschriftdatei</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EDC">
+ <annotation>
+ <documentation xml:lang="de">Senden Maestro-Lastschriftdatei</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EEA">
+ <annotation>
+ <documentation xml:lang="de">EDIFACT abholen ASCII</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EEZ">
+ <annotation>
+ <documentation xml:lang="de">EDIFACT abholen EBCDIC</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EIB">
+ <annotation>
+ <documentation xml:lang="de">Ausführungsanzeige (Exportinkasso) Bank an Kunde abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EIK">
+ <annotation>
+ <documentation xml:lang="de">Senden Exportinkassi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESA">
+ <annotation>
+ <documentation xml:lang="de">EDIFACT senden ASCII</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESM">
+ <annotation>
+ <documentation xml:lang="de">EU-Standardüberweisung (Zahlungsart 13) im Magnetbandformat (Satzlängenfeld 4 Bytes)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESR">
+ <annotation>
+ <documentation xml:lang="de">Einreichung von EDIFACT-Lastschriften</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESZ">
+ <annotation>
+ <documentation xml:lang="de">EDIFACT senden EBCDIC</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESU">
+ <annotation>
+ <documentation xml:lang="de">EU-Standardüberweisung (Zahlungsart 13)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EUE">
+ <annotation>
+ <documentation xml:lang="de">Taggleiche grenzüberschreitende Euro-Eilzahlung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GAB">
+ <annotation>
+ <documentation xml:lang="de">Abholen Garantien</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GAK">
+ <annotation>
+ <documentation xml:lang="de">Senden Garantien</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GKT">
+ <annotation>
+ <documentation xml:lang="de">GeldKarte-Umsatz senden (Datenaufbau gemäß GeldKarte-Spezifikation)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IDD">
+ <annotation>
+ <documentation xml:lang="de">Internationale Lastschriften</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IIB">
+ <annotation>
+ <documentation xml:lang="de">Abholen Importinkassi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IIK">
+ <annotation>
+ <documentation xml:lang="de">Senden Importinkassi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="INT">
+ <annotation>
+ <documentation xml:lang="de">Internationaler Zahlungsverkehr</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IZG">
+ <annotation>
+ <documentation xml:lang="de">Inlandszahlungsverkehrsauftrag senden (nur Gutschriften)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IZL">
+ <annotation>
+ <documentation xml:lang="de">Inlandszahlungsverkehrsauftrag senden (nur Lastschriften)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IZV">
+ <annotation>
+ <documentation xml:lang="de">Inlandszahlungsverkehrsauftrag senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MAO">
+ <annotation>
+ <documentation xml:lang="de">Abholen Magnetband-Datei aus optischer Beleglesung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MCV">
+ <annotation>
+ <documentation xml:lang="de">Senden IZV-Magnetbandformat (Satzlängenfeld 4 Bytes)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MC2">
+ <annotation>
+ <documentation xml:lang="de">Senden IZV-Magnetbandformat (Satzlängenfeld 2 Bytes)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MC4">
+ <annotation>
+ <documentation xml:lang="de">Senden IZV-Magnetbandformat (Satzlänge variabel)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="POZ">
+ <annotation>
+ <documentation xml:lang="de">Senden POZ-Datei</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RDT">
+ <annotation>
+ <documentation xml:lang="de">Rücklastschrift an Kunde</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RFT">
+ <annotation>
+ <documentation xml:lang="de">Request for Transfer</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="STA">
+ <annotation>
+ <documentation xml:lang="de">Abholen Swift-Tagesauszüge</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VMK">
+ <annotation>
+ <documentation xml:lang="de">Abholen kurzfristige Vormerkposten</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WPA">
+ <annotation>
+ <documentation xml:lang="de">Abholen Wertpapierabrechnung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WPB">
+ <annotation>
+ <documentation xml:lang="de">Abholen Wertpapierausführungsanzeige</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WPC">
+ <annotation>
+ <documentation xml:lang="de">Abholen Depotaufstellung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WPD">
+ <annotation>
+ <documentation xml:lang="de">Abholen sonstige WP-Umsätze</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="INI">
+ <annotation>
+ <documentation xml:lang="de">Initialisierung der bankfachlichen EU des Teilnehmers.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PTK">
+ <annotation>
+ <documentation xml:lang="de">Abholen Kundenprotokoll</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PUB">
+ <annotation>
+ <documentation xml:lang="de">Senden Public Key zur Unterschriftenverifizierung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HCA">
+ <annotation>
+ <documentation xml:lang="de">Änderung der Teilnehmerschlüssel für Authentifikation und Verschlüsselung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SPR">
+ <annotation>
+ <documentation xml:lang="de">Sperren der Zugangsberechtigung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VPB">
+ <annotation>
+ <documentation xml:lang="de">Abholen Public Key der Bank zur Verschlüsselung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FIN">
+ <annotation>
+ <documentation xml:lang="de">EDIFACT-FINPAY senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IZS">
+ <annotation>
+ <documentation xml:lang="de">Informationen von Zentralstellen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SSP">
+ <annotation>
+ <documentation xml:lang="de">ec-Karten-Sperrdatei</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ATA">
+ <annotation>
+ <documentation xml:lang="de">Teilausnutzung Importakkreditiv (Kreditinstitut an Kunde)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BKA">
+ <annotation>
+ <documentation xml:lang="de">Auftragsart für elektronische Kontoauszüge</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BZK">
+ <annotation>
+ <documentation xml:lang="de">Barzahlungskarte</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DKI">
+ <annotation>
+ <documentation xml:lang="de">Devisenkursinformationen abholen (Euro)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DMI">
+ <annotation>
+ <documentation xml:lang="de">Abholen Devisenmarktinformationen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DSW">
+ <annotation>
+ <documentation xml:lang="de">Abholen Devisenswapinformationen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESG">
+ <annotation>
+ <documentation xml:lang="de">ESG-Datei für Elektronische Zweitunterschrift abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ESP">
+ <annotation>
+ <documentation xml:lang="de">ESP-Datei für Elektronische Zweitunterschrift senden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FTB">
+ <annotation>
+ <documentation xml:lang="de">Abholen/Senden beliebige Datei</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FTD">
+ <annotation>
+ <documentation xml:lang="de">Freie Textdatei senden/abholen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IBK">
+ <annotation>
+ <documentation xml:lang="de">Abholen Institutsbestätigungsdatei (Komplettbestand)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IBW">
+ <annotation>
+ <documentation xml:lang="de">Abholen Institutsbestätigungsdatei (Komplettbestand weitere Datei)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IBU">
+ <annotation>
+ <documentation xml:lang="de">Abholen Institutsbestätigungsdatei (tägliches Update)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IKK">
+ <annotation>
+ <documentation xml:lang="de">Senden Institutskonten (Komplettbestand begrenzt auf 170 MB)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IKU">
+ <annotation>
+ <documentation xml:lang="de">Senden Institutskonten (tägliches Update)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IKW">
+ <annotation>
+ <documentation xml:lang="de">Senden Institutskonten (Komplettbestand weitere Datei)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KTH">
+ <annotation>
+ <documentation xml:lang="de">KTOHIN: Automatisiertes Verfahren für die Änderung von Kontonummern und Bankleitzahlen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KTR">
+ <annotation>
+ <documentation xml:lang="de">KTORUECK: Automatisiertes Verfahren für die Änderung von Kontonummern und Bankleitzahlen </documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KKZ">
+ <annotation>
+ <documentation xml:lang="de">Kontenkonzentration und Saldenausgleich</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TST">
+ <annotation>
+ <documentation xml:lang="de">Senden/Abholen Testdatei (ASCII)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UPD">
+ <annotation>
+ <documentation xml:lang="de">Updates abholen</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Auftragsnummer lt. DFÜ-Abkommen.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="[A-Z][A-Z0-9]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderAttributeBaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für ein einzelnes Auftragsattributkennzeichen (Grundtyp).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="5"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderAttributeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Auftragsattributkennzeichen gemäß DFÜ-Abkommen.</documentation>
+ </annotation>
+ <restriction base="ebics:OrderAttributeBaseType">
+ <enumeration value="OZHNN">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten mit Unterschrift, ZIP-komprimiert, hybrid verschlüsselt</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UZHNN">
+ <annotation>
+ <documentation xml:lang="de">Unterschrift, ZIP-komprimiert, hybrid verschlüsselt</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DZHNN">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten ohne Unterschrift, ZIP-komprimiert, hybrid verschlüsselt</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Sicherheitsmedium.</documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="4"/>
+ <pattern value="\d{4}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SegmentNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Segmentnummer.</documentation>
+ </annotation>
+ <restriction base="positiveInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NumSegmentsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Gesamtsegmentanzahl.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NumOrderInfosType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Gesamtanzahl der Einzelauftraginfos.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Transaktionsphase.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Initialisation">
+ <annotation>
+ <documentation xml:lang="de">Transaktionsinitialisierung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Transfer">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdatentransfer</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Receipt">
+ <annotation>
+ <documentation xml:lang="de">Quittungstransfer</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Zeitstempel.</documentation>
+ </annotation>
+ <restriction base="dateTime"/>
+ </simpleType>
+ <simpleType name="DateType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Datumswerte.</documentation>
+ </annotation>
+ <restriction base="date"/>
+ </simpleType>
+ <simpleType name="UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Teilnehmer-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ <pattern value="[a-zA-Z0-9,=]{1,35}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kunden-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ <pattern value="[a-zA-Z0-9,=]{1,35}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Konten-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kontonummer (national/international).</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="40"/>
+ <pattern value="\d{3,10}|([A-Z]{2}\d{2}[A-Za-z0-9]{3,30})"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Bankleitzahl (national/international).</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="11"/>
+ <pattern value="\d{8}|([A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?)"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodePrefixType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für ein nationales BLZ-Präfix.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="2"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NationalAccountNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kontonummer (freies Format).</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="40"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NationalBankCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Bankleitzahl (freies Format).</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="30"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountHolderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Namen des Kontoinhabers.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <simpleType name="AccountDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Kontobeschreibung.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <complexType name="AccountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontoinformationen.</documentation>
+ </annotation>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format und/oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Account number (German format and/or international=IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Is the account number specified using the national=German or the international=IBAN format?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format und/oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank code (German and/or international=SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Is the bank code specified using the national=German or the international SWIFT-BIC format?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National=German prefix for bank codes.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <element name="AccountHolder" type="ebics:AccountHolderType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kontoinhabers.</documentation>
+ <documentation xml:lang="de">Name of the account holder.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode für dieses Konto, Default=EUR.</documentation>
+ <documentation xml:lang="en">Currency code for this account, Default=EUR.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="ebics:AccountDescriptionType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kontobeschreibung.</documentation>
+ <documentation xml:lang="en">Description of this account.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <simpleType name="AccountNumberRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Zahlungsverkehrskontos innerhalb einer Transaktion.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeberkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfängerkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Charges">
+ <annotation>
+ <documentation xml:lang="de">Gebührenkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Kontorolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodeRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Kreditinstituts innerhalb einer Transaktion (repräsentiert durch die Bankleitzahl).</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeberbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfängerbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Correspondent">
+ <annotation>
+ <documentation xml:lang="de">Korrespondenzbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Bankrolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountHolderRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Kontoinhabers innerhalb einer Transaktion.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeber</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfänger</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Presenter">
+ <annotation>
+ <documentation xml:lang="de">Überbringer, Einreicher</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Rolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <complexType name="AttributedAccountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontoinformationen inkl. der Eigenschaftszuordnung innerhalb einer Zahlungstransaktion.</documentation>
+ </annotation>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Kontonummer (Account number (German format and/or international = IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="Role" type="ebics:AccountNumberRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontos innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Is the account number specified using the national=German or the international=IBAN format?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="Role" type="ebics:AccountNumberRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontos innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank code (German and/or international=SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="Role" type="ebics:BankCodeRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des kontoführenden Instituts innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the bank during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Is the bank code specified using the national=German or the international=SWIFT-BIC format?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National=German prefix for bank codes.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="Role" type="ebics:BankCodeRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des kontoführenden Instituts innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the bank during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <element name="AccountHolder" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kontoinhabers.</documentation>
+ <documentation xml:lang="de">Name of the account holder.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountHolderType">
+ <attribute name="Role" type="ebics:AccountHolderRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontoinhabers innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account holder during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Rolle, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account holder place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode für dieses Konto, Default=EUR.</documentation>
+ <documentation xml:lang="en">Currency code for this account, Default=EUR.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="ebics:AccountDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Kontobeschreibung.</documentation>
+ <documentation xml:lang="en">Description of this account.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <simpleType name="SignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für binäre Signaturdaten (komprimiert, verschlüsselt und kodiert).</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="OrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für binäre Auftragsdaten (komprimiert, verschlüsselt und kodiert).</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="CountryCodeType">
+ <annotation>
+ <documentation xml:lang="de">ISO-Code zur Länderkennzeichnung.</documentation>
+ <documentation xml:lang="en">ISO-Code to identify the country.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="2"/>
+ <pattern value="[A-Z]{2,2}"/>
+ </restriction>
+ </simpleType>
+ <complexType name="FileFormatType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Dateiformat.</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="token">
+ <attribute name="CountryCode" type="ebics:CountryCodeType">
+ <annotation>
+ <documentation xml:lang="de">ISO-Code zur Länderkennzeichnung (EU für Europa)</documentation>
+ <documentation xml:lang="en">ISO-Code to identify the country (EU for Europe)</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <simpleType name="AuthorisationLevelType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Berechtigungsklassen zur Elektronischen Unterschrift.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="1"/>
+ <enumeration value="E">
+ <annotation>
+ <documentation xml:lang="de">Einzelunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="A">
+ <annotation>
+ <documentation xml:lang="de">Erstunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="B">
+ <annotation>
+ <documentation xml:lang="de">Zweitunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="T">
+ <annotation>
+ <documentation xml:lang="de">Transportunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AuthorisationLevelListType">
+ <annotation>
+ <documentation xml:lang="de">Listentyp für Berechtigungsklassen zur Elektronischen Unterschrift.</documentation>
+ </annotation>
+ <list itemType="ebics:AuthorisationLevelType"/>
+ </simpleType>
+ <simpleType name="DigestAlgorithmType">
+ <annotation>
+ <documentation>Datentyp für Hashfunktionen.</documentation>
+ </annotation>
+ <restriction base="anyURI"/>
+ </simpleType>
+ <simpleType name="DigestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Hashwerte.</documentation>
+ </annotation>
+ <restriction base="ds:DigestValueType"/>
+ </simpleType>
+ <complexType name="DataDigestType">
+ <simpleContent>
+ <extension base="ebics:DigestType">
+ <attribute name="SignatureVersion" type="ebics:SignatureVersionType" use="optional" default="A004">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <simpleType name="SignatureType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für kryptographische Unterschriften.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="SymmetricKeyType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für symmetrische Schlüssel.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <complexType name="PubKeyDigestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Hashwerte und Attribute von öffentlichen Schlüsseln.</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:DigestType">
+ <attribute name="Algorithm" type="anyURI" use="required">
+ <annotation>
+ <documentation xml:lang="de">Hashalgorithmus.</documentation>
+ <documentation xml:lang="en">Name of the used hash algorithm.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="PubKeyValueType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Exponent-Modulus-Darstellung eines öffentlichen RSA-Schlüssels.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:RSAKeyValue"/>
+ <element name="TimeStamp" type="ebics:TimestampType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Zeitpunkt der Generierung des Schlüssels.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="PubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung eines öffentlichen RSA-Schlüssels als Exponent-Modulus-Kombination oder als X509-Zertifikat.</documentation>
+ </annotation>
+ <sequence>
+ <sequence>
+ <element ref="ds:X509Data" minOccurs="0"/>
+ <element name="PubKeyValue" type="ebics:PubKeyValueType">
+ <annotation>
+ <documentation xml:lang="de">Darstellung als Exponent-Modulus-Kombination.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:PubKeyInfoType">
+ <sequence>
+ <element name="EncryptionVersion" type="ebics:EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Authentfikationsschlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:PubKeyInfoType">
+ <sequence>
+ <element name="AuthenticationVersion" type="ebics:AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="SignatureCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche bankfachliche Schlüssel.</documentation>
+ <documentation xml:lang="en">Data type for public authorisation (ES) key.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="SignatureVersion" type="ebics:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des EU-Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">ES-Version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="AuthenticationCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Schlüssel zur Authentisierung.</documentation>
+ <documentation xml:lang="en">Data type for public for identification and authentication.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="AuthenticationVersion" type="ebics:AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ <documentation xml:lang="de">Authentication version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="EncryptionCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">Data type for encryption key.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="EncryptionVersion" type="ebics:EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Encryption Version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="CertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Zertifikate hinsichtlich der "bank-technical signature for authorisation" (ES).</documentation>
+ <documentation xml:lang="en">Data Type for Certificates for the bank-technical signature for authorisation (ES)</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:X509Data"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Antwortcodes.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="6"/>
+ <pattern value="\d{6}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Erklärungstext zum Antwortcode.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="256"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ReceiptCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Quittierungscodes.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <maxInclusive value="1"/>
+ <minInclusive value="0"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NameType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kunden-, Teilnehmer-, Straßen- oder Ortsnamen.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <simpleType name="TransferType">
+ <annotation>
+ <documentation>Datentyp für den Transfertyp (Upload/Download).</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Upload">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten werden bei der Anfrage transferiert.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Download">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdaten werden bei der Antwort transferiert.</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Beschreibung von Auftragsarten.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="128"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderFormatType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Auftragsformat.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="8"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="UserStatusType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Teilnehmerstatus.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <maxInclusive value="99"/>
+ </restriction>
+ </simpleType>
+ <element name="Parameter">
+ <annotation>
+ <documentation xml:lang="de">generische Schlüssel-Wert-Parameter.</documentation>
+ <documentation xml:lang="en">Generic key value parameters.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Name" type="token">
+ <annotation>
+ <documentation xml:lang="de">Name des Parameters.</documentation>
+ <documentation xml:lang="en">Name of the parameter (= key).</documentation>
+ </annotation>
+ </element>
+ <element name="Value">
+ <annotation>
+ <documentation xml:lang="de">Wert des Parameters.</documentation>
+ <documentation xml:lang="en">Value of the parameter.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="anySimpleType">
+ <attribute name="Type" type="NCName" use="required">
+ <annotation>
+ <documentation xml:lang="de">XML-Typ des Parameterwerts (Vorschlag für default ist string).</documentation>
+ <documentation xml:lang="en">XML type of the parameter value (Proposal for default is string).</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="DataEncryptionInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung von Information zur Verschlüsselung der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Data type for the modelling of information regarding the encryption of signature and order data.</documentation>
+ </annotation>
+ <sequence>
+ <element name="EncryptionPubKeyDigest">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des öffentlichen Verschlüsselungsschlüssels des Empfängers der verschlüsselten Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the public encryption key owned by the receipient of the encrypted order data.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:EncryptionVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the encryption method.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TransactionKey" type="ebics:SymmetricKeyType">
+ <annotation>
+ <documentation xml:lang="de">Asymmetrisch verschlüsselter symmetrischer Transaktionsschlüssel.</documentation>
+ <documentation xml:lang="en">The asymmetrically encrypted symmetric transaction key.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="AuthSignature" type="ds:SignatureType">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ <documentation xml:lang="en">Authentication signature.</documentation>
+ </annotation>
+ </element>
+</schema>
diff --git a/ebics/src/main/resources/xsd/ebics_types_H005.xsd b/ebics/src/main/resources/xsd/ebics_types_H005.xsd
new file mode 100644
index 00000000..ea13f06b
--- /dev/null
+++ b/ebics/src/main/resources/xsd/ebics_types_H005.xsd
@@ -0,0 +1,1885 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2017 sp1 (x64) (http://www.altova.com) by EBICS Working Group - March 2017 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S002" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H005" targetNamespace="urn:org:ebics:H005" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+ <import namespace="http://www.ebics.org/S002" schemaLocation="ebics_signature_S002.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation xml:lang="de">ebics_types_H005.xsd enthält einfache Typdefinitionen für EBICS.</documentation>
+ </annotation>
+ <simpleType name="ProtocolVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für EBICS-Versionsnummern.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="H\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ProtocolRevisionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für EBICS-Revisionsnummern.</documentation>
+ </annotation>
+ <restriction base="positiveInteger">
+ <maxInclusive value="99"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Verschlüsselung.</documentation>
+ </annotation>
+ <restriction base="token">
+ <pattern value="E\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Elektronischen Unterschrift (EU).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="A\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Authentifikation.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="X\d{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="CryptoVersionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Versionsnummern zur Verschlüsselung, Signatur und Authentifkation.</documentation>
+ </annotation>
+ <union memberTypes="ebics:EncryptionVersionType ebics:SignatureVersionType ebics:AuthenticationVersionType"/>
+ </simpleType>
+ <simpleType name="CurrencyBaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Währungen (Grundtyp).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="3"/>
+ <pattern value="[A-Z]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="CurrencyCode">
+ <annotation>
+ <documentation xml:lang="de">dreistelliger Währungscode gemäß ISO 4217.</documentation>
+ </annotation>
+ <restriction base="ebics:CurrencyBaseType">
+ <length value="3"/>
+ <enumeration value="AFN">
+ <annotation>
+ <documentation xml:lang="de">Afghanistan: Afghani</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ALL">
+ <annotation>
+ <documentation xml:lang="de">Albanien: Lek</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AMD">
+ <annotation>
+ <documentation xml:lang="de">Armenien: Dram</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ANG">
+ <annotation>
+ <documentation xml:lang="de">Niederländische Antillen: Gulden</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AOA">
+ <annotation>
+ <documentation xml:lang="de">Angola: Kwanza</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ARS">
+ <annotation>
+ <documentation xml:lang="de">Argentinien: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AUD">
+ <annotation>
+ <documentation xml:lang="de">Australien: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AWG">
+ <annotation>
+ <documentation xml:lang="de">Aruba: Florin</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="AZM">
+ <annotation>
+ <documentation xml:lang="de">Aserbaidschan: Manat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BAM">
+ <annotation>
+ <documentation xml:lang="de">Bosnien und Herzegowina: Konvertible Mark</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BBD">
+ <annotation>
+ <documentation xml:lang="de">Barbados: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BDT">
+ <annotation>
+ <documentation xml:lang="de">Bangladesch: Taka</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BGN">
+ <annotation>
+ <documentation xml:lang="de">Bulgarien: Lew</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BHD">
+ <annotation>
+ <documentation xml:lang="de">Bahrain: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BMD">
+ <annotation>
+ <documentation xml:lang="de">Bermuda: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BND">
+ <annotation>
+ <documentation xml:lang="de">Brunei: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BOB">
+ <annotation>
+ <documentation xml:lang="de">Bolivien: Boliviano</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BRL">
+ <annotation>
+ <documentation xml:lang="de">Brasilien: Real</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BSD">
+ <annotation>
+ <documentation xml:lang="de">Bahamas: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BTN">
+ <annotation>
+ <documentation xml:lang="de">Bhutan: Ngultrum</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BWP">
+ <annotation>
+ <documentation xml:lang="de">Botswana: Pula</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BYR">
+ <annotation>
+ <documentation xml:lang="de">Weißrussland (Belarus): Rubel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="BZD">
+ <annotation>
+ <documentation xml:lang="de">Belize: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CAD">
+ <annotation>
+ <documentation xml:lang="de">Kanada: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CDF">
+ <annotation>
+ <documentation xml:lang="de">Demokratische Republik Kongo: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CHF">
+ <annotation>
+ <documentation xml:lang="de">Schweiz: Franken</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CLP">
+ <annotation>
+ <documentation xml:lang="de">Chile: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CNY">
+ <annotation>
+ <documentation xml:lang="de">China (Volksrepublik): Renminbi Yuan</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COP">
+ <annotation>
+ <documentation xml:lang="de">Kolumbien: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CRC">
+ <annotation>
+ <documentation xml:lang="de">Costa Rica: Colón</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CSD">
+ <annotation>
+ <documentation xml:lang="de">Serbien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CUP">
+ <annotation>
+ <documentation xml:lang="de">Kuba: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CVE">
+ <annotation>
+ <documentation xml:lang="de">Kap Verde: Escudo</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CYP">
+ <annotation>
+ <documentation xml:lang="de">Zypern (griechischer Teil): Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="CZK">
+ <annotation>
+ <documentation xml:lang="de">Tschechien: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DJV">
+ <annotation>
+ <documentation xml:lang="de">Dschibuti: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DKK">
+ <annotation>
+ <documentation xml:lang="de">Dänemark: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DOP">
+ <annotation>
+ <documentation xml:lang="de">Dominikanische Republik: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="DZD">
+ <annotation>
+ <documentation xml:lang="de">Algerien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ECS">
+ <annotation>
+ <documentation xml:lang="de">Ecuador (bis 2000): Sucre</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EEK">
+ <annotation>
+ <documentation xml:lang="de">Estland: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EGP">
+ <annotation>
+ <documentation xml:lang="de">Ägypten: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ETB">
+ <annotation>
+ <documentation xml:lang="de">Äthiopien: Birr</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="EUR">
+ <annotation>
+ <documentation xml:lang="de">Europäische Währungsunion: Euro</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FJD">
+ <annotation>
+ <documentation xml:lang="de">Fidschi: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FKP">
+ <annotation>
+ <documentation xml:lang="de">Falklandinseln: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GBP">
+ <annotation>
+ <documentation xml:lang="de">Vereinigtes Königreich: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GEL">
+ <annotation>
+ <documentation xml:lang="de">Georgien: Lari</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GHC">
+ <annotation>
+ <documentation xml:lang="de">Ghana: Cedi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GIP">
+ <annotation>
+ <documentation xml:lang="de">Gibraltar: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GMD">
+ <annotation>
+ <documentation xml:lang="de">Gambia: Dalasi</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GNF">
+ <annotation>
+ <documentation xml:lang="de">Guinea: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GTQ">
+ <annotation>
+ <documentation xml:lang="de">Guatemala: Quetzal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="GYD">
+ <annotation>
+ <documentation xml:lang="de">Guyana: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HKD">
+ <annotation>
+ <documentation xml:lang="de">Hongkong: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HNL">
+ <annotation>
+ <documentation xml:lang="de">Honduras: Lempira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HRK">
+ <annotation>
+ <documentation xml:lang="de">Kroatien: Kuna</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HTG">
+ <annotation>
+ <documentation xml:lang="de">Haiti: Gourde</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="HUF">
+ <annotation>
+ <documentation xml:lang="de">Ungarn: Forint</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IDR">
+ <annotation>
+ <documentation xml:lang="de">Indonesien: Rupiah</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ILS">
+ <annotation>
+ <documentation xml:lang="de">Israel: Schekel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="INR">
+ <annotation>
+ <documentation xml:lang="de">Indien: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IQD">
+ <annotation>
+ <documentation xml:lang="de">Irak: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="IRR">
+ <annotation>
+ <documentation xml:lang="de">Iran: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ISK">
+ <annotation>
+ <documentation xml:lang="de">Island: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JMD">
+ <annotation>
+ <documentation xml:lang="de">Jamaika: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JOD">
+ <annotation>
+ <documentation xml:lang="de">Jordanien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="JPY">
+ <annotation>
+ <documentation xml:lang="de">Japan: Yen</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KES">
+ <annotation>
+ <documentation xml:lang="de">Kenia: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KGS">
+ <annotation>
+ <documentation xml:lang="de">Kirgisistan: Som</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KHR">
+ <annotation>
+ <documentation xml:lang="de">Kambodscha: Riel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KMF">
+ <annotation>
+ <documentation xml:lang="de">Komoren: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KPW">
+ <annotation>
+ <documentation xml:lang="de">Nordkorea: Won</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KRW">
+ <annotation>
+ <documentation xml:lang="de">Südkorea: Won</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KWD">
+ <annotation>
+ <documentation xml:lang="de">Kuwait: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KYD">
+ <annotation>
+ <documentation xml:lang="de">Kaimaninseln: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="KZT">
+ <annotation>
+ <documentation xml:lang="de">Kasachstan: Tenge</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LAK">
+ <annotation>
+ <documentation xml:lang="de">Laos: Kip</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LBP">
+ <annotation>
+ <documentation xml:lang="de">Libanon: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LKR">
+ <annotation>
+ <documentation xml:lang="de">Sri Lanka: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LRD">
+ <annotation>
+ <documentation xml:lang="de">Liberia: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LSL">
+ <annotation>
+ <documentation xml:lang="de">Lesotho: Loti</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LTL">
+ <annotation>
+ <documentation xml:lang="de">Litauen: Litas</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LVL">
+ <annotation>
+ <documentation xml:lang="de">Lettland: Lats</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="LYD">
+ <annotation>
+ <documentation xml:lang="de">Libyen: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MAD">
+ <annotation>
+ <documentation xml:lang="de">Marokko: Dirham</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MDL">
+ <annotation>
+ <documentation xml:lang="de">Moldawien: Leu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MGF">
+ <annotation>
+ <documentation xml:lang="de">Madagaskar: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MKD">
+ <annotation>
+ <documentation xml:lang="de">Mazedonien: Denar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MMK">
+ <annotation>
+ <documentation xml:lang="de">Myanmar: Kyat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MNT">
+ <annotation>
+ <documentation xml:lang="de">Mongolei: Tugrik</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MOP">
+ <annotation>
+ <documentation xml:lang="de">Macau: Pataca</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MRO">
+ <annotation>
+ <documentation xml:lang="de">Mauretanien: Ouguiya</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MTL">
+ <annotation>
+ <documentation xml:lang="de">Malta: Lira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MUR">
+ <annotation>
+ <documentation xml:lang="de">Mauritius: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MVR">
+ <annotation>
+ <documentation xml:lang="de">Malediven: Rufiyaa</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MWK">
+ <annotation>
+ <documentation xml:lang="de">Malawi: Kwacha</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MXN">
+ <annotation>
+ <documentation xml:lang="de">Mexiko: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MYR">
+ <annotation>
+ <documentation xml:lang="de">Malaysia: Ringgit</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="MZM">
+ <annotation>
+ <documentation xml:lang="de">Mosambik: Metical</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NAD">
+ <annotation>
+ <documentation xml:lang="de">Namibia: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NGN">
+ <annotation>
+ <documentation xml:lang="de">Nigeria: Naira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NIO">
+ <annotation>
+ <documentation xml:lang="de">Nicaragua: Cordoba Oro</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NOK">
+ <annotation>
+ <documentation xml:lang="de">Norwegen: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NPR">
+ <annotation>
+ <documentation xml:lang="de">Nepal: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="NZD">
+ <annotation>
+ <documentation xml:lang="de">Neuseeland: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="OMR">
+ <annotation>
+ <documentation xml:lang="de">Oman: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PAB">
+ <annotation>
+ <documentation xml:lang="de">Panama: Balboa</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PEN">
+ <annotation>
+ <documentation xml:lang="de">Peru: Nuevo Sol</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PGK">
+ <annotation>
+ <documentation xml:lang="de">Papua-Neuguinea: Kina</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PHP">
+ <annotation>
+ <documentation xml:lang="de">Philippinen: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PKR">
+ <annotation>
+ <documentation xml:lang="de">Pakistan: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PLN">
+ <annotation>
+ <documentation xml:lang="de">Polen: Zloty</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="PYG">
+ <annotation>
+ <documentation xml:lang="de">Paraguay: Guaraní</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="QAR">
+ <annotation>
+ <documentation xml:lang="de">Katar: Riyal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ROL">
+ <annotation>
+ <documentation xml:lang="de">Rumänien: Leu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RUB">
+ <annotation>
+ <documentation xml:lang="de">Russland: Rubel</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RWF">
+ <annotation>
+ <documentation xml:lang="de">Ruanda: Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SAR">
+ <annotation>
+ <documentation xml:lang="de">Saudi-Arabien: Riyal</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SBD">
+ <annotation>
+ <documentation xml:lang="de">Salomonen: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SCR">
+ <annotation>
+ <documentation xml:lang="de">Seychellen: Rupie</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SDD">
+ <annotation>
+ <documentation xml:lang="de">Sudan: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SEK">
+ <annotation>
+ <documentation xml:lang="de">Schweden: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SGD">
+ <annotation>
+ <documentation xml:lang="de">Singapur: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SHP">
+ <annotation>
+ <documentation xml:lang="de">St. Helena: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SIT">
+ <annotation>
+ <documentation xml:lang="de">Slowenien: Tolar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SKK">
+ <annotation>
+ <documentation xml:lang="de">Slowakei: Krone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SLL">
+ <annotation>
+ <documentation xml:lang="de">Sierra Leone: Leone</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SOS">
+ <annotation>
+ <documentation xml:lang="de">Somalia: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SRD">
+ <annotation>
+ <documentation xml:lang="de">Suriname: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="STD">
+ <annotation>
+ <documentation xml:lang="de">São Tomé und Príncipe: Dobra</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SVC">
+ <annotation>
+ <documentation xml:lang="de">El Salvador: Colón</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SYP">
+ <annotation>
+ <documentation xml:lang="de">Syrien: Pfund</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SZL">
+ <annotation>
+ <documentation xml:lang="de">Swasiland: Lilangeni</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="THB">
+ <annotation>
+ <documentation xml:lang="de">Thailand: Baht</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TJS">
+ <annotation>
+ <documentation xml:lang="de">Tadschikistan: Somoni</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TMM">
+ <annotation>
+ <documentation xml:lang="de">Turkmenistan: Manat</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TND">
+ <annotation>
+ <documentation xml:lang="de">Tunesien: Dinar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TOP">
+ <annotation>
+ <documentation xml:lang="de">Tonga: Pa'anga</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TRL">
+ <annotation>
+ <documentation xml:lang="de">Türkei: Lira</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TRY">
+ <annotation>
+ <documentation xml:lang="de">Türkei: Neue Lira (ab 2005)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TTD">
+ <annotation>
+ <documentation xml:lang="de">Trinidad und Tobago: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TWD">
+ <annotation>
+ <documentation xml:lang="de">Taiwan: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TZS">
+ <annotation>
+ <documentation xml:lang="de">Tansania: Schilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UAH">
+ <annotation>
+ <documentation xml:lang="de">Ukraine: Hrywnja</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UGX">
+ <annotation>
+ <documentation xml:lang="de">Uganda: Shilling</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="USD">
+ <annotation>
+ <documentation xml:lang="de">USA: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UYU">
+ <annotation>
+ <documentation xml:lang="de">Uruguay: Peso</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="UZS">
+ <annotation>
+ <documentation xml:lang="de">Usbekistan: Sum</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VEB">
+ <annotation>
+ <documentation xml:lang="de">Venezuela: Bolivar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VND">
+ <annotation>
+ <documentation xml:lang="de">Vietnam: Dong</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="VUV">
+ <annotation>
+ <documentation xml:lang="de">Vanuatu: Vatu</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="WST">
+ <annotation>
+ <documentation xml:lang="de">Samoa: Tala</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XAF">
+ <annotation>
+ <documentation xml:lang="de">Zentralafrikanische Wirtschafts- und Währungsunion: CFA-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XCD">
+ <annotation>
+ <documentation xml:lang="de">Ostkaribische Währungsunion: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XOF">
+ <annotation>
+ <documentation xml:lang="de">Westafrikanische Wirtschafts- und Währungsunion: CFA-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XPF">
+ <annotation>
+ <documentation xml:lang="de">Neukaledonien: CFP-Franc</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XTS">
+ <annotation>
+ <documentation xml:lang="de">Spezialcode für Testzwecke; keine existierende Währung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="XXX">
+ <annotation>
+ <documentation xml:lang="de">keine Währung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="YER">
+ <annotation>
+ <documentation xml:lang="de">Jemen: Rial</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZAR">
+ <annotation>
+ <documentation xml:lang="de">Südafrika: Rand</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZMK">
+ <annotation>
+ <documentation xml:lang="de">Sambia: Kwacha</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ZWD">
+ <annotation>
+ <documentation xml:lang="de">Simbabwe: Dollar</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AmountValueType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für einen Betragswert (ohne Währung).</documentation>
+ </annotation>
+ <restriction base="decimal">
+ <totalDigits value="24"/>
+ <fractionDigits value="4"/>
+ </restriction>
+ </simpleType>
+ <complexType name="AmountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für einen Betrag inkl. Währungscode-Attribut (Default = "EUR").</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:AmountValueType">
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode, Default="EUR".</documentation>
+ <documentation xml:lang="en">Currency code, default setting is "EUR".</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <simpleType name="TransactionIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Transaktions-ID.</documentation>
+ </annotation>
+ <restriction base="hexBinary">
+ <length value="16"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NonceType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Nonces.</documentation>
+ </annotation>
+ <restriction base="hexBinary">
+ <length value="16"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="InstituteIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Instituts-ID.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="HostIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Host-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ProductType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Kundenprodukt-ID.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="LanguageType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Sprachkennzeichen des Kundenprodukts.</documentation>
+ </annotation>
+ <restriction base="language">
+ <length value="2"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderTBaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für allgemeine Auftragsarten (Grundtyp).</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="3"/>
+ <pattern value="[A-Z0-9]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="OrderIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Auftragsnummer lt. DFÜ-Abkommen.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="4"/>
+ <pattern value="[A-Z][A-Z0-9]{3}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SecurityMediumType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für das Sicherheitsmedium.</documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="4"/>
+ <pattern value="\d{4}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="SegmentNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Segmentnummer.</documentation>
+ </annotation>
+ <restriction base="positiveInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NumSegmentsType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Gesamtsegmentanzahl.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NumOrderInfosType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Gesamtanzahl der Einzelauftraginfos.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <totalDigits value="10"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="TransactionPhaseType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Transaktionsphase.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Initialisation">
+ <annotation>
+ <documentation xml:lang="de">Transaktionsinitialisierung</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Transfer">
+ <annotation>
+ <documentation xml:lang="de">Auftragsdatentransfer</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Receipt">
+ <annotation>
+ <documentation xml:lang="de">Quittungstransfer</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="TimestampType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Zeitstempel.</documentation>
+ </annotation>
+ <restriction base="dateTime"/>
+ </simpleType>
+ <simpleType name="DateType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Datumswerte.</documentation>
+ </annotation>
+ <restriction base="date"/>
+ </simpleType>
+ <simpleType name="UserIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Teilnehmer-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ <pattern value="[a-zA-Z0-9,=]{1,35}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="PartnerIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kunden-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="35"/>
+ <pattern value="[a-zA-Z0-9,=]{1,35}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountIDType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Konten-ID.</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kontonummer (national/international).</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="40"/>
+ <pattern value="\d{3,10}|([A-Z]{2}\d{2}[A-Za-z0-9]{3,30})"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Bankleitzahl (national/international).</documentation>
+ </annotation>
+ <restriction base="token">
+ <maxLength value="11"/>
+ <pattern value="\d{8}|([A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?)"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodePrefixType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für ein nationales BLZ-Präfix.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="2"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NationalAccountNumberType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Kontonummer (freies Format).</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="40"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NationalBankCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für eine Bankleitzahl (freies Format).</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="30"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountHolderType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Namen des Kontoinhabers.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <simpleType name="AccountDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Kontobeschreibung.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <complexType name="AccountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontoinformationen.</documentation>
+ </annotation>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format und/oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Account number (German format and/or international=IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Is the account number specified using the national=German or the international=IBAN format?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice minOccurs="0" maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format und/oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank code (German and/or international=SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Is the bank code specified using the national=German or the international SWIFT-BIC format?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National=German prefix for bank codes.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <element name="AccountHolder" type="ebics:AccountHolderType" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kontoinhabers.</documentation>
+ <documentation xml:lang="de">Name of the account holder.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode für dieses Konto, Default=EUR.</documentation>
+ <documentation xml:lang="en">Currency code for this account, Default=EUR.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="ebics:AccountDescriptionType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">Kontobeschreibung.</documentation>
+ <documentation xml:lang="en">Description of this account.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <simpleType name="AccountNumberRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Zahlungsverkehrskontos innerhalb einer Transaktion.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeberkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfängerkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Charges">
+ <annotation>
+ <documentation xml:lang="de">Gebührenkonto</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Kontorolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="BankCodeRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Kreditinstituts innerhalb einer Transaktion (repräsentiert durch die Bankleitzahl).</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeberbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfängerbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Correspondent">
+ <annotation>
+ <documentation xml:lang="de">Korrespondenzbank</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Bankrolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AccountHolderRoleType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Rolle eines Kontoinhabers innerhalb einer Transaktion.</documentation>
+ </annotation>
+ <restriction base="token">
+ <enumeration value="Originator">
+ <annotation>
+ <documentation xml:lang="de">Auftraggeber</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Recipient">
+ <annotation>
+ <documentation xml:lang="de">Empfänger</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Presenter">
+ <annotation>
+ <documentation xml:lang="de">Überbringer, Einreicher</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="Other">
+ <annotation>
+ <documentation xml:lang="de">andere Rolle</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <complexType name="AttributedAccountType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kontoinformationen inkl. der Eigenschaftszuordnung innerhalb einer Zahlungstransaktion.</documentation>
+ </annotation>
+ <sequence>
+ <choice maxOccurs="2">
+ <element name="AccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer (deutsches Format oder international als IBAN).</documentation>
+ <documentation xml:lang="en">Kontonummer (Account number (German format and/or international = IBAN).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountNumberType">
+ <attribute name="Role" type="ebics:AccountNumberRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontos innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Kontonummer im deutschen Format (international=false) oder im internationalen Format (international=true, IBAN) angegeben?</documentation>
+ <documentation xml:lang="en">Is the account number specified using the national=German or the international=IBAN format?</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalAccountNumber">
+ <annotation>
+ <documentation xml:lang="de">Kontonummer im freien Format.</documentation>
+ <documentation xml:lang="en">Account in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalAccountNumberType">
+ <attribute name="Role" type="ebics:AccountNumberRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontos innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <choice minOccurs="0" maxOccurs="2">
+ <element name="BankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl (deutsches Format oder international als SWIFT-BIC).</documentation>
+ <documentation xml:lang="en">Bank code (German and/or international=SWIFT-BIC).</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:BankCodeType">
+ <attribute name="Role" type="ebics:BankCodeRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des kontoführenden Instituts innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the bank during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="international" type="boolean" use="optional" default="false">
+ <annotation>
+ <documentation xml:lang="de">Ist die Bankleitzahl im deutschen Format (international=false, BLZ) oder im internationalen Format (international=true, SWIFT-BIC) angegeben?</documentation>
+ <documentation xml:lang="en">Is the bank code specified using the national=German or the international=SWIFT-BIC format?</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Prefix" type="ebics:BankCodePrefixType" use="optional">
+ <annotation>
+ <documentation xml:lang="de">nationales Präfix für Bankleitzahlen.</documentation>
+ <documentation xml:lang="en">National=German prefix for bank codes.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="NationalBankCode">
+ <annotation>
+ <documentation xml:lang="de">Bankleitzahl im freien Format.</documentation>
+ <documentation xml:lang="en">Bank code in free format.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:NationalBankCodeType">
+ <attribute name="Role" type="ebics:BankCodeRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des kontoführenden Instituts innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the bank during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Funktion, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="format" type="token" use="required">
+ <annotation>
+ <documentation xml:lang="de">Formatkennung.</documentation>
+ <documentation xml:lang="en">Format identification.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </choice>
+ <element name="AccountHolder" minOccurs="0">
+ <annotation>
+ <documentation xml:lang="de">Name des Kontoinhabers.</documentation>
+ <documentation xml:lang="de">Name of the account holder.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:AccountHolderType">
+ <attribute name="Role" type="ebics:AccountHolderRoleType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Rolle des Kontoinhabers innerhalb der Zahlungstransaktion.</documentation>
+ <documentation xml:lang="en">Role of the account holder during the transaction.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="normalizedString">
+ <annotation>
+ <documentation xml:lang="de">Textuelle Beschreibung der Rolle, falls role=Other ausgewählt wird.</documentation>
+ <documentation xml:lang="en">Textual description of the role the account holder place during the transaction; use only if the corresponding 'role' field is set to 'other'.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="Currency" type="ebics:CurrencyBaseType" use="optional" default="EUR">
+ <annotation>
+ <documentation xml:lang="de">Währungscode für dieses Konto, Default=EUR.</documentation>
+ <documentation xml:lang="en">Currency code for this account, Default=EUR.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="Description" type="ebics:AccountDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Kontobeschreibung.</documentation>
+ <documentation xml:lang="en">Description of this account.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ <simpleType name="SignatureDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für binäre Signaturdaten (komprimiert, verschlüsselt und kodiert).</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="OrderDataType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für binäre Auftragsdaten (komprimiert, verschlüsselt und kodiert).</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="AuthorisationLevelType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Berechtigungsklassen zur Elektronischen Unterschrift.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="1"/>
+ <enumeration value="E">
+ <annotation>
+ <documentation xml:lang="de">Einzelunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="A">
+ <annotation>
+ <documentation xml:lang="de">Erstunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="B">
+ <annotation>
+ <documentation xml:lang="de">Zweitunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="T">
+ <annotation>
+ <documentation xml:lang="de">Transportunterschrift</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="AuthorisationLevelListType">
+ <annotation>
+ <documentation xml:lang="de">Listentyp für Berechtigungsklassen zur Elektronischen Unterschrift.</documentation>
+ </annotation>
+ <list itemType="ebics:AuthorisationLevelType"/>
+ </simpleType>
+ <simpleType name="DigestAlgorithmType">
+ <annotation>
+ <documentation>Datentyp für Hashfunktionen.</documentation>
+ </annotation>
+ <restriction base="anyURI"/>
+ </simpleType>
+ <simpleType name="DigestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Hashwerte.</documentation>
+ </annotation>
+ <restriction base="ds:DigestValueType"/>
+ </simpleType>
+ <complexType name="DataDigestType">
+ <simpleContent>
+ <extension base="ebics:DigestType">
+ <attribute name="SignatureVersion" type="ebics:SignatureVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <simpleType name="SignatureType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für kryptographische Unterschriften.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="SymmetricKeyType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für symmetrische Schlüssel.</documentation>
+ </annotation>
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <complexType name="PubKeyDigestType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Hashwerte und Attribute von öffentlichen Schlüsseln.</documentation>
+ </annotation>
+ <simpleContent>
+ <extension base="ebics:DigestType">
+ <attribute name="Algorithm" type="anyURI" use="required">
+ <annotation>
+ <documentation xml:lang="de">Hashalgorithmus.</documentation>
+ <documentation xml:lang="en">Name of the used hash algorithm.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="PubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung eines öffentlichen RSA-Schlüssels als Exponent-Modulus-Kombination oder als X509-Zertifikat.</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:X509Data"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="EncryptionPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche Verschlüsselungsschlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:PubKeyInfoType">
+ <sequence>
+ <element name="EncryptionVersion" type="ebics:EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="AuthenticationPubKeyInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Authentfikationsschlüssel.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:PubKeyInfoType">
+ <sequence>
+ <element name="AuthenticationVersion" type="ebics:AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="SignatureCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentliche bankfachliche Schlüssel.</documentation>
+ <documentation xml:lang="en">Data type for public authorisation (ES) key.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="SignatureVersion" type="ebics:SignatureVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des EU-Signaturverfahrens.</documentation>
+ <documentation xml:lang="en">ES-Version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="AuthenticationCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Schlüssel zur Authentisierung.</documentation>
+ <documentation xml:lang="en">Data type for public for identification and authentication.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="AuthenticationVersion" type="ebics:AuthenticationVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Authentifikationsverfahrens.</documentation>
+ <documentation xml:lang="de">Authentication version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="EncryptionCertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für öffentlichen Verschlüsselungsschlüssel.</documentation>
+ <documentation xml:lang="en">Data type for encryption key.</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="ebics:CertificateInfoType">
+ <sequence>
+ <element name="EncryptionVersion" type="ebics:EncryptionVersionType">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Encryption Version.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="CertificateInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Zertifikate hinsichtlich der "bank-technical signature for authorisation" (ES).</documentation>
+ <documentation xml:lang="en">Data Type for Certificates for the bank-technical signature for authorisation (ES)</documentation>
+ </annotation>
+ <sequence>
+ <element ref="ds:X509Data"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <simpleType name="ReturnCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Antwortcodes.</documentation>
+ </annotation>
+ <restriction base="token">
+ <length value="6"/>
+ <pattern value="\d{6}"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ReportTextType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Erklärungstext zum Antwortcode.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="256"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ReceiptCodeType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Quittierungscodes.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <maxInclusive value="1"/>
+ <minInclusive value="0"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NameType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für Kunden-, Teilnehmer-, Straßen- oder Ortsnamen.</documentation>
+ </annotation>
+ <restriction base="normalizedString"/>
+ </simpleType>
+ <simpleType name="OrderDescriptionType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Beschreibung von Auftragsarten.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="128"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="UserStatusType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für den Teilnehmerstatus.</documentation>
+ </annotation>
+ <restriction base="nonNegativeInteger">
+ <maxInclusive value="99"/>
+ </restriction>
+ </simpleType>
+ <element name="Parameter">
+ <annotation>
+ <documentation xml:lang="de">generic parameter</documentation>
+ <documentation xml:lang="en">Generic key value parameters.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="Name" type="token">
+ <annotation>
+ <documentation xml:lang="de">name of parameter</documentation>
+ <documentation xml:lang="en">Name of the parameter (= key).</documentation>
+ </annotation>
+ </element>
+ <element name="Value">
+ <annotation>
+ <documentation xml:lang="de">value of parameter</documentation>
+ <documentation xml:lang="en">Value of the parameter.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="anySimpleType">
+ <attribute name="Type" type="NCName" use="required">
+ <annotation>
+ <documentation xml:lang="de">XML-Typ des Parameterwerts (Vorschlag für default ist string).</documentation>
+ <documentation xml:lang="en">XML type of the parameter value (Proposal for default is string).</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <complexType name="DataEncryptionInfoType">
+ <annotation>
+ <documentation xml:lang="de">Datentyp für die Darstellung von Information zur Verschlüsselung der Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Data type for the modelling of information regarding the encryption of signature and order data.</documentation>
+ </annotation>
+ <sequence>
+ <element name="EncryptionPubKeyDigest">
+ <annotation>
+ <documentation xml:lang="de">Hashwert des öffentlichen Verschlüsselungsschlüssels des Empfängers der verschlüsselten Auftragsdaten.</documentation>
+ <documentation xml:lang="en">Hash value of the public encryption key owned by the receipient of the encrypted order data.</documentation>
+ </annotation>
+ <complexType>
+ <simpleContent>
+ <extension base="ebics:PubKeyDigestType">
+ <attribute name="Version" type="ebics:EncryptionVersionType" use="required">
+ <annotation>
+ <documentation xml:lang="de">Version des Verschlüsselungsverfahrens.</documentation>
+ <documentation xml:lang="en">Version of the encryption method.</documentation>
+ </annotation>
+ </attribute>
+ </extension>
+ </simpleContent>
+ </complexType>
+ </element>
+ <element name="TransactionKey" type="ebics:SymmetricKeyType">
+ <annotation>
+ <documentation xml:lang="de">Asymmetrisch verschlüsselter symmetrischer Transaktionsschlüssel.</documentation>
+ <documentation xml:lang="en">The asymmetrically encrypted symmetric transaction key.</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="AuthSignature" type="ds:SignatureType">
+ <annotation>
+ <documentation xml:lang="de">Authentifikationssignatur.</documentation>
+ <documentation xml:lang="en">Authentication signature.</documentation>
+ </annotation>
+ </element>
+ <simpleType name="String255Type">
+ <annotation>
+ <documentation xml:lang="de">String up to 255 characters.</documentation>
+ </annotation>
+ <restriction base="normalizedString">
+ <maxLength value="255"/>
+ </restriction>
+ </simpleType>
+ <!--Following types are BTF required type definitions-->
+ <simpleType name="CodeStringType">
+ <restriction base="string">
+ <minLength value="1"/>
+ <maxLength value="10"/>
+ <pattern value="[A-Z0-9]*"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="NumStringType">
+ <annotation>
+ <documentation>Type is used for ISO variant and version</documentation>
+ </annotation>
+ <restriction base="string">
+ <minLength value="2"/>
+ <maxLength value="3"/>
+ <pattern value="[0-9]*"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="FileNameStringType">
+ <annotation>
+ <documentation>Type ist used for original file name</documentation>
+ </annotation>
+ <restriction base="string">
+ <minLength value="1"/>
+ <maxLength value="256"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="MessageNameStringType">
+ <annotation>
+ <documentation>Type ist used for name or rather kind of Message</documentation>
+ </annotation>
+ <restriction base="token">
+ <minLength value="1"/>
+ <maxLength value="10"/>
+ <pattern value="[a-z\.0-9]*"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ServiceNameStringType">
+ <annotation>
+ <documentation>Service Code name: External list specified and maintained by EBICS. Basis is the "SWIFT-list" for the field "description" (SCT, DCT, XCT, SDD, DDD, STM, REP...) plus additional codes needed for further services </documentation>
+ </annotation>
+ <restriction base="ebics:CodeStringType">
+ <maxLength value="3"/>
+ <minLength value="3"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ScopeStringType">
+ <restriction base="ebics:CodeStringType">
+ <maxLength value="3"/>
+ <minLength value="2"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ServiceOptionStringType">
+ <restriction base="ebics:CodeStringType">
+ <minLength value="3"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ContainerStringType">
+ <restriction base="ebics:CodeStringType">
+ <maxLength value="3"/>
+ <minLength value="3"/>
+ <enumeration value="SVC"/>
+ <enumeration value="XML"/>
+ <enumeration value="ZIP"/>
+ </restriction>
+ </simpleType>
+</schema>
diff --git a/ebics/src/main/resources/xsd/pain.001.001.03.ch.02.xsd b/ebics/src/main/resources/xsd/pain.001.001.03.ch.02.xsd
new file mode 100644
index 00000000..b8ecce02
--- /dev/null
+++ b/ebics/src/main/resources/xsd/pain.001.001.03.ch.02.xsd
@@ -0,0 +1,1212 @@
+<?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>
diff --git a/ebics/src/main/resources/xsd/pain.001.001.03.xsd b/ebics/src/main/resources/xsd/pain.001.001.03.xsd
new file mode 100644
index 00000000..60cd5d71
--- /dev/null
+++ b/ebics/src/main/resources/xsd/pain.001.001.03.xsd
@@ -0,0 +1,922 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- edited with XMLSpy v2011 rel. 3 sp1 (x64) (http://www.altova.com) by Antero Mäenpää (XMLdation.com Oy) -->
+<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" elementFormDefault="qualified">
+ <xs:element name="Document" type="Document"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="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,13}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AddressType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ADDR"/>
+ <xs:enumeration value="PBOX"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="BIZZ"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="DLVY"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AmountType3Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Authorisation1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="Authorisation1Code"/>
+ <xs:element name="Prtry" type="Max128Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="Authorisation1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="AUTH"/>
+ <xs:enumeration value="FDET"/>
+ <xs:enumeration value="FSUM"/>
+ <xs:enumeration value="ILEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BICIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BatchBookingIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchData2">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount16">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="CashAccountType4Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CashAccountType4Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CASH"/>
+ <xs:enumeration value="CHAR"/>
+ <xs:enumeration value="COMM"/>
+ <xs:enumeration value="TAXE"/>
+ <xs:enumeration value="CISH"/>
+ <xs:enumeration value="TRAS"/>
+ <xs:enumeration value="SACC"/>
+ <xs:enumeration value="CACC"/>
+ <xs:enumeration value="SVGS"/>
+ <xs:enumeration value="ONDP"/>
+ <xs:enumeration value="MGLD"/>
+ <xs:enumeration value="NREX"/>
+ <xs:enumeration value="MOMA"/>
+ <xs:enumeration value="LOAN"/>
+ <xs:enumeration value="SLRY"/>
+ <xs:enumeration value="ODFT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CategoryPurpose1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Cheque6">
+ <xs:sequence>
+ <xs:element 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>
+ <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>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditTransferTransactionInformation10">
+ <xs:sequence>
+ <xs:element name="PmtId" type="PaymentIdentification1"/>
+ <xs:element name="PmtTpInf" type="PaymentTypeInformation19" 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" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <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="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="CdtrAgtAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Purp" type="Purpose2Choice" minOccurs="0"/>
+ <xs:element name="RgltryRptg" type="RegulatoryReporting3" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RmtInf" type="RemittanceInformation5" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CustomerCreditTransferInitiationV03">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader32"/>
+ <xs:element name="PmtInf" type="PaymentInstructionInformation3" 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>
+ <xs:complexType name="DatePeriodDetails">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="17"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element 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>
+ <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>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="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">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="Authstn" type="Authorisation1Choice" minOccurs="0" maxOccurs="2"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
+ <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="InitgPty" type="PartyIdentification32"/>
+ <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="IBAN2007Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="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="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max128Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="128"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="140"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max16Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NameAndAddress10">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="Adr" type="PostalAddress6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="NamePrefix1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MIST"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MADM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="0"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="OrganisationIdentification4">
+ <xs:sequence>
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Party6Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification32">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
+ <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentIdentification1">
+ <xs:sequence>
+ <xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInstructionInformation3">
+ <xs:sequence>
+ <xs:element name="PmtInfId" type="Max35Text"/>
+ <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
+ <xs:element 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" minOccurs="0"/>
+ <xs:element name="ReqdExctnDt" type="ISODate"/>
+ <xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="Dbtr" type="PartyIdentification32"/>
+ <xs:element name="DbtrAcct" type="CashAccount16"/>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
+ <xs:element name="DbtrAgtAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification32" minOccurs="0"/>
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="ChrgsAcct" type="CashAccount16" minOccurs="0"/>
+ <xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
+ <xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation10" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PaymentMethod3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CHK"/>
+ <xs:enumeration value="TRF"/>
+ <xs:enumeration value="TRA"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PaymentTypeInformation19">
+ <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="CategoryPurpose1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification5">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress6">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="Priority2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="HIGH"/>
+ <xs:enumeration value="NORM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation3">
+ <xs:sequence>
+ <xs:element 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">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocation2">
+ <xs:sequence>
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
+ <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="RemittanceLocationMethod2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FAXI"/>
+ <xs:enumeration value="EDIC"/>
+ <xs:enumeration value="URID"/>
+ <xs:enumeration value="EMAL"/>
+ <xs:enumeration value="POST"/>
+ <xs:enumeration value="SMSM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="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>
+ <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> \ No newline at end of file
diff --git a/ebics/src/main/resources/xsd/pain.001.001.09.ch.03.xsd b/ebics/src/main/resources/xsd/pain.001.001.09.ch.03.xsd
new file mode 100644
index 00000000..f12da93c
--- /dev/null
+++ b/ebics/src/main/resources/xsd/pain.001.001.09.ch.03.xsd
@@ -0,0 +1,1733 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+(C) Copyright 2021, SIX, www.iso-payments.ch
+CH Version for pain.001 Credit Transfer: "pain.001.001.09.ch.03.xsd"
+.ch.: Identification for this CH version
+Last part (.03): CH Version of this scheme
+
+Based on ISO pain.001.001.09 (urn:iso:std:iso:20022:tech:xsd:pain.001.001.09)
+-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09" elementFormDefault="qualified">
+ <xs:element name="Document" type="Document_pain001_ch"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="AccountIdentification4Choice_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="AccountIdentification4Choice">
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1_pain001_ch"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AccountSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs: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="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ <xs:totalDigits value="18"/>
+ <xs:fractionDigits value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <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="BIZZ"/>
+ <xs:enumeration value="DLVY"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="PBOX"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AddressType3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="AddressType2Code"/>
+ <xs:element name="Prtry" type="GenericIdentification30"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="AmountType4Choice">
+ <xs:choice>
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICDec2014Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Authorisation1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="Authorisation1Code"/>
+ <xs:element name="Prtry" type="Max128Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="Authorisation1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="AUTH"/>
+ <xs:enumeration value="FDET"/>
+ <xs:enumeration value="FSUM"/>
+ <xs:enumeration value="ILEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:totalDigits value="11"/>
+ <xs:fractionDigits value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BatchBookingIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="BICFIDec2014Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18"/>
+ <xs:element name="BrnchId" type="BranchData3" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18_pain001_ch"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18_pain001_ch_2"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6_pain001_ch_3">
+ <xs:complexContent>
+ <xs:restriction base="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18_pain001_ch_3"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6_pain001_ch_4">
+ <xs:complexContent>
+ <xs:restriction base="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18_pain001_ch_4"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="BranchData3">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount38">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ <xs:element name="Tp" type="CashAccountType2Choice" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
+ <xs:element name="Prxy" type="ProxyAccountIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount38_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="CashAccount38">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice_pain001_ch"/>
+ <xs:element name="Tp" type="CashAccountType2Choice" minOccurs="0"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Prxy" type="ProxyAccountIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CashAccount38_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="CashAccount38">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice_pain001_ch"/>
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <xs:element name="Prxy" type="ProxyAccountIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CashAccount38_pain001_ch_3">
+ <xs:complexContent>
+ <xs:restriction base="CashAccount38">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CashAccount38_pain001_ch_4">
+ <xs:complexContent>
+ <xs:restriction base="CashAccount38">
+ <xs:sequence>
+ <xs:element name="Id" type="AccountIdentification4Choice_pain001_ch"/>
+ <xs:element name="Prxy" type="ProxyAccountIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCashAccountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="CategoryPurpose1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="CategoryPurpose1Choice_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="CategoryPurpose1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Cheque11">
+ <xs:sequence>
+ <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="ChqFr" type="NameAndAddress16" minOccurs="0"/>
+ <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
+ <xs:element name="DlvrTo" type="NameAndAddress16" 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:element name="Sgntr" type="Max70Text" minOccurs="0" maxOccurs="5"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Cheque11_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Cheque11">
+ <xs:sequence>
+ <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
+ <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="ChequeDelivery1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRCD"/>
+ <xs:enumeration value="CRDB"/>
+ <xs:enumeration value="CRFA"/>
+ <xs:enumeration value="MLCD"/>
+ <xs:enumeration value="MLDB"/>
+ <xs:enumeration value="MLFA"/>
+ <xs:enumeration value="PUCD"/>
+ <xs:enumeration value="PUDB"/>
+ <xs:enumeration value="PUFA"/>
+ <xs:enumeration value="RGCD"/>
+ <xs:enumeration value="RGDB"/>
+ <xs:enumeration value="RGFA"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ChequeDeliveryMethod1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ChequeDelivery1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="ChequeType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="BCHQ"/>
+ <xs:enumeration value="CCCH"/>
+ <xs:enumeration value="CCHQ"/>
+ <xs:enumeration value="DRFT"/>
+ <xs:enumeration value="ELDR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ClearingSystemIdentification2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemIdentification2Choice_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="ClearingSystemIdentification2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </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="ClearingSystemMemberIdentification2_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="ClearingSystemMemberIdentification2">
+ <xs:sequence>
+ <xs:element name="ClrSysId" type="ClearingSystemIdentification2Choice_pain001_ch" minOccurs="0"/>
+ <xs:element name="MmbId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="Contact4">
+ <xs:sequence>
+ <xs:element name="NmPrfx" type="NamePrefix2Code" 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="EmailPurp" type="Max35Text" minOccurs="0"/>
+ <xs:element name="JobTitl" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Rspnsblty" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
+ <xs:element name="Othr" type="OtherContact1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PrefrdMtd" type="PreferredContactMethod1Code" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Contact4_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Contact4">
+ <xs:sequence>
+ <xs:element name="Othr" type="OtherContact1_pain001_ch" minOccurs="0" maxOccurs="4"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditTransferTransaction34">
+ <xs:sequence>
+ <xs:element name="PmtId" type="PaymentIdentification6"/>
+ <xs:element name="PmtTpInf" type="PaymentTypeInformation26" minOccurs="0"/>
+ <xs:element name="Amt" type="AmountType4Choice"/>
+ <xs:element name="XchgRateInf" type="ExchangeRate1" minOccurs="0"/>
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="ChqInstr" type="Cheque11" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1Acct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ <xs:element name="IntrmyAgt2Acct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ <xs:element name="IntrmyAgt3Acct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ <xs:element name="CdtrAgtAcct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification135" 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="Purpose2Choice" minOccurs="0"/>
+ <xs:element name="RgltryRptg" type="RegulatoryReporting3" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="Tax" type="TaxInformation8" minOccurs="0"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation7" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RmtInf" type="RemittanceInformation16" minOccurs="0"/>
+ <xs:element name="SplmtryData" type="SupplementaryData1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditTransferTransaction34_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="CreditTransferTransaction34">
+ <xs:sequence>
+ <xs:element name="PmtId" type="PaymentIdentification6_pain001_ch"/>
+ <xs:element name="PmtTpInf" type="PaymentTypeInformation26_pain001_ch_2" minOccurs="0"/>
+ <xs:element name="Amt" type="AmountType4Choice"/>
+ <xs:element name="XchgRateInf" type="ExchangeRate1" minOccurs="0"/>
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="ChqInstr" type="Cheque11_pain001_ch" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification135_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification6_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="IntrmyAgt1Acct" type="CashAccount38_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6_pain001_ch_4" minOccurs="0"/>
+ <xs:element name="CdtrAgtAcct" type="CashAccount38_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="Cdtr" type="PartyIdentification135_pain001_ch_4" minOccurs="0"/>
+ <xs:element name="CdtrAcct" type="CashAccount38_pain001_ch_4" minOccurs="0"/>
+ <xs:element name="UltmtCdtr" type="PartyIdentification135_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="2"/>
+ <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Purp" type="Purpose2Choice_pain001_ch" minOccurs="0"/>
+ <xs:element name="RgltryRptg" type="RegulatoryReporting3" minOccurs="0" maxOccurs="10"/>
+ <xs:element name="RltdRmtInf" type="RemittanceLocation7" minOccurs="0"/>
+ <xs:element name="RmtInf" type="RemittanceInformation16_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CustomerCreditTransferInitiationV09">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader85"/>
+ <xs:element name="PmtInf" type="PaymentInstruction30" maxOccurs="unbounded"/>
+ <xs:element name="SplmtryData" type="SupplementaryData1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CustomerCreditTransferInitiationV09_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="CustomerCreditTransferInitiationV09">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader85_pain001_ch"/>
+ <xs:element name="PmtInf" type="PaymentInstruction30_pain001_ch" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="DateAndDateTime2Choice">
+ <xs:choice>
+ <xs:element name="Dt" type="ISODate"/>
+ <xs:element name="DtTm" type="ISODateTime"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="DateAndPlaceOfBirth1">
+ <xs:sequence>
+ <xs:element name="BirthDt" type="ISODate"/>
+ <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CityOfBirth" type="Max35Text"/>
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DatePeriod2">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:totalDigits value="18"/>
+ <xs:fractionDigits value="17"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="DiscountAmountAndType1">
+ <xs:sequence>
+ <xs:element name="Tp" type="DiscountAmountType1Choice" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DiscountAmountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV09"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element 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:complexType name="DocumentLineIdentification1">
+ <xs:sequence>
+ <xs:element name="Tp" type="DocumentLineType1" 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="DocumentLineInformation1">
+ <xs:sequence>
+ <xs:element name="Id" type="DocumentLineIdentification1" maxOccurs="unbounded"/>
+ <xs:element name="Desc" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="Amt" type="RemittanceAmount3" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineType1">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalDocumentLineType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="DocumentType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="FXDR"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="RADM"/>
+ <xs:enumeration value="RPIN"/>
+ <xs:enumeration value="SCOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DocumentType6Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="AROI"/>
+ <xs:enumeration value="BOLD"/>
+ <xs:enumeration value="CINV"/>
+ <xs:enumeration value="CMCN"/>
+ <xs:enumeration value="CNFA"/>
+ <xs:enumeration value="CREN"/>
+ <xs:enumeration value="DEBN"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="DNFA"/>
+ <xs:enumeration value="HIRI"/>
+ <xs:enumeration value="MSIN"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="SBIN"/>
+ <xs:enumeration value="SOAC"/>
+ <xs:enumeration value="TSUT"/>
+ <xs:enumeration value="VCHR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Document_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Document">
+ <xs:sequence>
+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV09_pain001_ch"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="EquivalentAmount2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="Exact4AlphaNumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[a-zA-Z0-9]{4}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ExchangeRate1">
+ <xs:sequence>
+ <xs:element name="UnitCcy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
+ <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="AGRD"/>
+ <xs:enumeration value="SALE"/>
+ <xs:enumeration value="SPOT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalAccountIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalCashAccountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalCategoryPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalDiscountAmountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalDocumentLineType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalGarnishmentType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalLocalInstrument1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPersonIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalProxyAccountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalServiceLevel1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalTaxAmountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element name="BICFI" type="BICFIDec2014Identifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element name="BICFI" type="BICFIDec2014Identifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element name="BICFI" type="BICFIDec2014Identifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2_pain001_ch" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18_pain001_ch_3">
+ <xs:complexContent>
+ <xs:restriction base="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element name="BICFI" type="BICFIDec2014Identifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2_pain001_ch" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18_pain001_ch_4">
+ <xs:complexContent>
+ <xs:restriction base="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element name="BICFI" type="BICFIDec2014Identifier" minOccurs="0"/>
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2_pain001_ch" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericFinancialIdentification1_pain001_ch_2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="Garnishment3">
+ <xs:sequence>
+ <xs:element name="Tp" type="GarnishmentType1"/>
+ <xs:element name="Grnshee" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="GrnshmtAdmstr" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="FmlyMdclInsrncInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="MplyeeTermntnInd" type="TrueFalseIndicator" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Garnishment3_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Garnishment3">
+ <xs:sequence>
+ <xs:element name="Tp" type="GarnishmentType1"/>
+ <xs:element name="Grnshee" type="PartyIdentification135_pain001_ch_5" minOccurs="0"/>
+ <xs:element name="GrnshmtAdmstr" type="PartyIdentification135_pain001_ch_5" minOccurs="0"/>
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="FmlyMdclInsrncInd" type="TrueFalseIndicator" minOccurs="0"/>
+ <xs:element name="MplyeeTermntnInd" type="TrueFalseIndicator" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="GarnishmentType1">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GarnishmentType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalGarnishmentType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification30">
+ <xs:sequence>
+ <xs:element name="Id" type="Exact4AlphaNumericText"/>
+ <xs:element name="Issr" type="Max35Text"/>
+ <xs:element name="SchmeNm" 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="GroupHeader85">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="Authstn" type="Authorisation1Choice" minOccurs="0" maxOccurs="2"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
+ <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="InitgPty" type="PartyIdentification135"/>
+ <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GroupHeader85_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="GroupHeader85">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text_pain001_ch"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
+ <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
+ <xs:element name="InitgPty" type="PartyIdentification135_pain001_ch"/>
+ <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </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="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="ISODate">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISODateTime">
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ <xs:simpleType name="LEIIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="LocalInstrument2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="Max10Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max128Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="128"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="SPSText">
+ <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="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max350Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="350"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text_pain001_ch">
+ <xs:restriction base="Max35Text">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ <xs:pattern value="([A-Za-z0-9]|[+|\?|/|\-|:|\(|\)|\.|,|&apos;|\p{Zs}])*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="SPSText">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NameAndAddress16">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="Adr" type="PostalAddress24"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="NamePrefix2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MADM"/>
+ <xs:enumeration value="MIKS"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MIST"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:totalDigits value="18"/>
+ <xs:fractionDigits value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="OrganisationIdentification29">
+ <xs:sequence>
+ <xs:element name="AnyBIC" type="AnyBICDec2014Identifier" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification29_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="OrganisationIdentification29">
+ <xs:sequence>
+ <xs:element name="AnyBIC" type="AnyBICDec2014Identifier" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification29_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="OrganisationIdentification29">
+ <xs:sequence>
+ <xs:element name="AnyBIC" type="AnyBICDec2014Identifier" minOccurs="0"/>
+ <xs:element name="LEI" type="LEIIdentifier" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="2"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="OtherContact1">
+ <xs:sequence>
+ <xs:element name="ChanlTp" type="Max4Text"/>
+ <xs:element name="Id" type="Max128Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OtherContact1_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="OtherContact1">
+ <xs:sequence>
+ <xs:element name="ChanlTp" type="Max4Text"/>
+ <xs:element name="Id" type="Max128Text"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="Party38Choice">
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification29"/>
+ <xs:element name="PrvtId" type="PersonIdentification13"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Party38Choice_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Party38Choice">
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification29_pain001_ch"/>
+ <xs:element name="PrvtId" type="PersonIdentification13_pain001_ch"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="Party38Choice_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="Party38Choice">
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification29_pain001_ch_2"/>
+ <xs:element name="PrvtId" type="PersonIdentification13_pain001_ch_2"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="Contact4" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice_pain001_ch" minOccurs="0"/>
+ <xs:element name="CtctDtls" type="Contact4_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_2" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135_pain001_ch_3">
+ <xs:complexContent>
+ <xs:restriction base="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135_pain001_ch_4">
+ <xs:complexContent>
+ <xs:restriction base="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135_pain001_ch_5">
+ <xs:complexContent>
+ <xs:restriction base="PartyIdentification135">
+ <xs:sequence>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="PostalAddress24_pain001_ch_5" minOccurs="0"/>
+ <xs:element name="Id" type="Party38Choice_pain001_ch_2" minOccurs="0"/>
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PaymentIdentification6">
+ <xs:sequence>
+ <xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text"/>
+ <xs:element name="UETR" type="UUIDv4Identifier" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentIdentification6_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PaymentIdentification6">
+ <xs:sequence>
+ <xs:element name="InstrId" type="Max35Text_pain001_ch" minOccurs="0"/>
+ <xs:element name="EndToEndId" type="Max35Text_pain001_ch"/>
+ <xs:element name="UETR" type="UUIDv4Identifier" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PaymentInstruction30">
+ <xs:sequence>
+ <xs:element name="PmtInfId" type="Max35Text"/>
+ <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="PaymentTypeInformation26" minOccurs="0"/>
+ <xs:element name="ReqdExctnDt" type="DateAndDateTime2Choice"/>
+ <xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="Dbtr" type="PartyIdentification135"/>
+ <xs:element name="DbtrAcct" type="CashAccount38"/>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element name="DbtrAgtAcct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="ChrgsAcct" type="CashAccount38" minOccurs="0"/>
+ <xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification6" minOccurs="0"/>
+ <xs:element name="CdtTrfTxInf" type="CreditTransferTransaction34" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInstruction30_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PaymentInstruction30">
+ <xs:sequence>
+ <xs:element name="PmtInfId" type="Max35Text_pain001_ch"/>
+ <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="PaymentTypeInformation26_pain001_ch" minOccurs="0"/>
+ <xs:element name="ReqdExctnDt" type="DateAndDateTime2Choice"/>
+ <xs:element name="Dbtr" type="PartyIdentification135_pain001_ch_2"/>
+ <xs:element name="DbtrAcct" type="CashAccount38_pain001_ch"/>
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6_pain001_ch_2"/>
+ <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="PartyIdentification135_pain001_ch_3" minOccurs="0"/>
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
+ <xs:element name="ChrgsAcct" type="CashAccount38_pain001_ch_2" minOccurs="0"/>
+ <xs:element name="CdtTrfTxInf" type="CreditTransferTransaction34_pain001_ch" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="PaymentMethod3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CHK"/>
+ <xs:enumeration value="TRA"/>
+ <xs:enumeration value="TRF"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PaymentTypeInformation26">
+ <xs:sequence>
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
+ <xs:element name="SvcLvl" type="ServiceLevel8Choice" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="LclInstrm" type="LocalInstrument2Choice" minOccurs="0"/>
+ <xs:element name="CtgyPurp" type="CategoryPurpose1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentTypeInformation26_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PaymentTypeInformation26">
+ <xs:sequence>
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
+ <xs:element name="SvcLvl" type="ServiceLevel8Choice" minOccurs="0" maxOccurs="3"/>
+ <xs:element name="LclInstrm" type="LocalInstrument2Choice" minOccurs="0"/>
+ <xs:element name="CtgyPurp" type="CategoryPurpose1Choice_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PaymentTypeInformation26_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="PaymentTypeInformation26">
+ <xs:sequence>
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
+ <xs:element name="SvcLvl" type="ServiceLevel8Choice" minOccurs="0" maxOccurs="3"/>
+ <xs:element name="LclInstrm" type="LocalInstrument2Choice" minOccurs="0"/>
+ <xs:element name="CtgyPurp" type="CategoryPurpose1Choice" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:totalDigits value="11"/>
+ <xs:fractionDigits value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification13">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentification13_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PersonIdentification13">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentification13_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="PersonIdentification13">
+ <xs:sequence>
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1" minOccurs="0"/>
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="2"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress24">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType3Choice" 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="BldgNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Flr" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstBx" type="Max16Text" minOccurs="0"/>
+ <xs:element name="Room" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TwnLctnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DstrctNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PostalAddress24_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="PostalAddress24">
+ <xs:sequence>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PostalAddress24_pain001_ch_2">
+ <xs:complexContent>
+ <xs:restriction base="PostalAddress24">
+ <xs:sequence>
+ <xs:element name="AdrTp" type="AddressType3Choice" 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="BldgNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Flr" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstBx" type="Max16Text" minOccurs="0"/>
+ <xs:element name="Room" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TwnLctnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DstrctNm" 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"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PostalAddress24_pain001_ch_3">
+ <xs:complexContent>
+ <xs:restriction base="PostalAddress24">
+ <xs:sequence>
+ <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="BldgNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Flr" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstBx" type="Max16Text" minOccurs="0"/>
+ <xs:element name="Room" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TwnLctnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DstrctNm" 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"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PostalAddress24_pain001_ch_4">
+ <xs:complexContent>
+ <xs:restriction base="PostalAddress24">
+ <xs:sequence>
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="2"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PostalAddress24_pain001_ch_5">
+ <xs:complexContent>
+ <xs:restriction base="PostalAddress24">
+ <xs:sequence>
+ <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="BldgNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Flr" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstBx" type="Max16Text" minOccurs="0"/>
+ <xs:element name="Room" type="Max70Text" minOccurs="0"/>
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="TwnLctnNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="DstrctNm" type="Max35Text" minOccurs="0"/>
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="PreferredContactMethod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CELL"/>
+ <xs:enumeration value="FAXX"/>
+ <xs:enumeration value="LETT"/>
+ <xs:enumeration value="MAIL"/>
+ <xs:enumeration value="PHON"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Priority2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="HIGH"/>
+ <xs:enumeration value="NORM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ProxyAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Tp" type="ProxyAccountType1Choice" minOccurs="0"/>
+ <xs:element name="Id" type="Max2048Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProxyAccountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalProxyAccountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="Purpose2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ </xs:choice>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation7">
+ <xs:sequence>
+ <xs:element name="Tp" type="ReferredDocumentType4" minOccurs="0"/>
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
+ <xs:element name="LineDtls" type="DocumentLineInformation1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType6Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType4">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/>
+ <xs:element 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="BOTH"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="DEBT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="RemittanceAmount2">
+ <xs:sequence>
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="DscntApldAmt" type="DiscountAmountAndType1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmountAndType1" minOccurs="0" maxOccurs="unbounded"/>
+ <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="RemittanceAmount3">
+ <xs:sequence>
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="DscntApldAmt" type="DiscountAmountAndType1" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmountAndType1" minOccurs="0" maxOccurs="unbounded"/>
+ <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="RemittanceInformation16">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation16" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceInformation16_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="RemittanceInformation16">
+ <xs:sequence>
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0"/>
+ <xs:element name="Strd" type="StructuredRemittanceInformation16_pain001_ch" minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocation7">
+ <xs:sequence>
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
+ <xs:element name="RmtLctnDtls" type="RemittanceLocationData1" minOccurs="0" maxOccurs="2"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceLocationData1">
+ <xs:sequence>
+ <xs:element name="Mtd" type="RemittanceLocationMethod2Code"/>
+ <xs:element name="ElctrncAdr" type="Max2048Text" minOccurs="0"/>
+ <xs:element name="PstlAdr" type="NameAndAddress16" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="RemittanceLocationMethod2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="EDIC"/>
+ <xs:enumeration value="EMAL"/>
+ <xs:enumeration value="FAXI"/>
+ <xs:enumeration value="POST"/>
+ <xs:enumeration value="SMSM"/>
+ <xs:enumeration value="URID"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ServiceLevel8Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="SPSText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[\p{IsBasicLatin}\p{IsLatin-1Supplement}\p{IsLatinExtended-A}€ȘșȚț-[\p{C}]]+"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <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="StructuredRemittanceInformation16">
+ <xs:sequence>
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount2" minOccurs="0"/>
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
+ <xs:element name="Invcr" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="Invcee" type="PartyIdentification135" minOccurs="0"/>
+ <xs:element name="TaxRmt" type="TaxInformation7" minOccurs="0"/>
+ <xs:element name="GrnshmtRmt" type="Garnishment3" minOccurs="0"/>
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="StructuredRemittanceInformation16_pain001_ch">
+ <xs:complexContent>
+ <xs:restriction base="StructuredRemittanceInformation16">
+ <xs:sequence>
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation7" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount2" minOccurs="0"/>
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
+ <xs:element name="Invcr" type="PartyIdentification135_pain001_ch_5" minOccurs="0"/>
+ <xs:element name="Invcee" type="PartyIdentification135_pain001_ch_5" minOccurs="0"/>
+ <xs:element name="TaxRmt" type="TaxInformation7" minOccurs="0"/>
+ <xs:element name="GrnshmtRmt" type="Garnishment3_pain001_ch" minOccurs="0"/>
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SupplementaryData1">
+ <xs:sequence>
+ <xs:element name="PlcAndNm" type="Max350Text" minOccurs="0"/>
+ <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SupplementaryDataEnvelope1">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmount2">
+ <xs:sequence>
+ <xs:element 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="TaxRecordDetails2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmountAndType1">
+ <xs:sequence>
+ <xs:element name="Tp" type="TaxAmountType1Choice" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TaxAuthorisation1">
+ <xs:sequence>
+ <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxInformation7">
+ <xs:sequence>
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="UltmtDbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="AdmstnZone" 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="TaxRecord2" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxInformation8">
+ <xs:sequence>
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
+ <xs:element name="AdmstnZone" 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="TaxRecord2" 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="TaxPeriod2">
+ <xs:sequence>
+ <xs:element name="Yr" type="ISODate" minOccurs="0"/>
+ <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
+ <xs:element name="FrToDt" type="DatePeriod2" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecord2">
+ <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="TaxPeriod2" minOccurs="0"/>
+ <xs:element name="TaxAmt" type="TaxAmount2" minOccurs="0"/>
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecordDetails2">
+ <xs:sequence>
+ <xs:element name="Prd" type="TaxPeriod2" minOccurs="0"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TaxRecordPeriod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="HLF1"/>
+ <xs:enumeration value="HLF2"/>
+ <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:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="TrueFalseIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="UUIDv4Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/pain.002.001.13.xsd b/ebics/src/main/resources/xsd/pain.002.001.13.xsd
new file mode 100644
index 00000000..01d18ba4
--- /dev/null
+++ b/ebics/src/main/resources/xsd/pain.002.001.13.xsd
@@ -0,0 +1,1253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Generated by Standards Editor (build:R1.6.22) on 2023 Feb 09 10:24:15, ISO 20022 version : 2013-->
+<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.13" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.002.001.13">
+ <xs:element name="Document" type="Document"/>
+ <xs:complexType name="AccountIdentification4Choice">
+ <xs:choice>
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="AccountSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="ActiveCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ActiveCurrencyAndAmount">
+ <xs:simpleContent>
+ <xs:extension base="ActiveCurrencyAndAmount_SimpleType">
+ <xs:attribute name="Ccy" type="ActiveCurrencyCode" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="ActiveCurrencyCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3,3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="5"/>
+ <xs:totalDigits value="18"/>
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
+ <xs:simpleContent>
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3,3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AddressType2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ADDR"/>
+ <xs:enumeration value="PBOX"/>
+ <xs:enumeration value="HOME"/>
+ <xs:enumeration value="BIZZ"/>
+ <xs:enumeration value="MLTO"/>
+ <xs:enumeration value="DLVY"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="AddressType3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="AddressType2Code"/>
+ <xs:element name="Prtry" type="GenericIdentification30"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="AmendmentInformationDetails14">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlMndtId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrSchmeId" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtr" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlFnlColltnDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlFrqcy" type="Frequency36Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlRsn" type="MandateSetupReason1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlTrckgDays" type="Exact2NumericText"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AmountType4Choice">
+ <xs:choice>
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="AnyBICDec2014Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BICFIDec2014Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="BaseOneRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification6">
+ <xs:sequence>
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification18"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BranchData3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccount40">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="AccountIdentification4Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Prxy" type="ProxyAccountIdentification1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CashAccountType2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCashAccountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="CategoryPurpose1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="ChargeBearerType1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DEBT"/>
+ <xs:enumeration value="CRED"/>
+ <xs:enumeration value="SHAR"/>
+ <xs:enumeration value="SLEV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ChargeType3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalChargeType1Code"/>
+ <xs:element name="Prtry" type="GenericIdentification3"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Charges12">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ChargeType3Choice"/>
+ </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="ClearingSystemIdentification2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemIdentification3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalCashClearingSystem1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ClearingSystemMemberIdentification2">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
+ <xs:element name="MmbId" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Contact4">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix2Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="EmailPurp" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="JobTitl" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rspnsblty" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="OtherContact1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PrefrdMtd" type="PreferredContactMethod1Code"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CountryCode">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CreditDebitCode">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CRDT"/>
+ <xs:enumeration value="DBIT"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="CreditTransferMandateData1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="MndtId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="MandateTypeInformation2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DtOfSgntr" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DtOfVrfctn" type="ISODateTime"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ElctrncSgntr" type="Max10KBinary"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FrstPmtDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FnlPmtDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Frqcy" type="Frequency36Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="MandateSetupReason1Choice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceInformation2">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType3Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="CreditorReferenceType2">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CurrencyExchange13">
+ <xs:sequence>
+ <xs:element name="SrcCcy" type="ActiveCurrencyCode"/>
+ <xs:element name="TrgtCcy" type="ActiveCurrencyCode"/>
+ <xs:element name="XchgRate" type="BaseOneRate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CustomerPaymentStatusReportV13">
+ <xs:sequence>
+ <xs:element name="GrpHdr" type="GroupHeader86"/>
+ <xs:element name="OrgnlGrpInfAndSts" type="OriginalGroupHeader17"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="OrgnlPmtInfAndSts" type="OriginalPaymentInstruction45"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DateAndDateTime2Choice">
+ <xs:choice>
+ <xs:element name="Dt" type="ISODate"/>
+ <xs:element name="DtTm" type="ISODateTime"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="DateAndPlaceOfBirth1">
+ <xs:sequence>
+ <xs:element name="BirthDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
+ <xs:element name="CityOfBirth" type="Max35Text"/>
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DatePeriod2">
+ <xs:sequence>
+ <xs:element name="FrDt" type="ISODate"/>
+ <xs:element name="ToDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="DecimalNumber">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="17"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="DiscountAmountAndType1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DiscountAmountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Document">
+ <xs:sequence>
+ <xs:element name="CstmrPmtStsRpt" type="CustomerPaymentStatusReportV13"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentAdjustment1">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineIdentification1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DocumentLineType1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineInformation1">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="Id" type="DocumentLineIdentification1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Desc" type="Max2048Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="RemittanceAmount3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineType1">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="DocumentLineType1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DocumentLineType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalDocumentLineType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="DocumentType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RADM"/>
+ <xs:enumeration value="RPIN"/>
+ <xs:enumeration value="FXDR"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="PUOR"/>
+ <xs:enumeration value="SCOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DocumentType6Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MSIN"/>
+ <xs:enumeration value="CNFA"/>
+ <xs:enumeration value="DNFA"/>
+ <xs:enumeration value="CINV"/>
+ <xs:enumeration value="CREN"/>
+ <xs:enumeration value="DEBN"/>
+ <xs:enumeration value="HIRI"/>
+ <xs:enumeration value="SBIN"/>
+ <xs:enumeration value="CMCN"/>
+ <xs:enumeration value="SOAC"/>
+ <xs:enumeration value="DISP"/>
+ <xs:enumeration value="BOLD"/>
+ <xs:enumeration value="VCHR"/>
+ <xs:enumeration value="AROI"/>
+ <xs:enumeration value="TSUT"/>
+ <xs:enumeration value="PUOR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="EquivalentAmount2">
+ <xs:sequence>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="Exact2NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Exact4AlphaNumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[a-zA-Z0-9]{4}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalAccountIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalCashAccountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalCashClearingSystem1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="3"/>
+ </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="ExternalChargeType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalDiscountAmountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalDocumentLineType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalGarnishmentType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalLocalInstrument1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalMandateSetupReason1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPaymentGroupStatus1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPaymentTransactionStatus1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPersonIdentification1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalProxyAccountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalPurpose1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalServiceLevel1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalStatusReason1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ExternalTaxAmountType1Code">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="FinancialInstitutionIdentification18">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIDec2014Identifier"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Frequency36Choice">
+ <xs:choice>
+ <xs:element name="Tp" type="Frequency6Code"/>
+ <xs:element name="Prd" type="FrequencyPeriod1"/>
+ <xs:element name="PtInTm" type="FrequencyAndMoment1"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="Frequency6Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="YEAR"/>
+ <xs:enumeration value="MNTH"/>
+ <xs:enumeration value="QURT"/>
+ <xs:enumeration value="MIAN"/>
+ <xs:enumeration value="WEEK"/>
+ <xs:enumeration value="DAIL"/>
+ <xs:enumeration value="ADHO"/>
+ <xs:enumeration value="INDA"/>
+ <xs:enumeration value="FRTN"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FrequencyAndMoment1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Frequency6Code"/>
+ <xs:element name="PtInTm" type="Exact2NumericText"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FrequencyPeriod1">
+ <xs:sequence>
+ <xs:element name="Tp" type="Frequency6Code"/>
+ <xs:element name="CntPerPrd" type="DecimalNumber"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Garnishment3">
+ <xs:sequence>
+ <xs:element name="Tp" type="GarnishmentType1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GarnishmentType1">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GarnishmentType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalGarnishmentType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="GenericAccountIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max34Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericFinancialIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification3">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericIdentification30">
+ <xs:sequence>
+ <xs:element name="Id" type="Exact4AlphaNumericText"/>
+ <xs:element name="Issr" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericOrganisationIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GenericPersonIdentification1">
+ <xs:sequence>
+ <xs:element name="Id" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GroupHeader86">
+ <xs:sequence>
+ <xs:element name="MsgId" type="Max35Text"/>
+ <xs:element name="CreDtTm" type="ISODateTime"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="InitgPty" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="IBAN2007Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISODate">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISODateTime">
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ <xs:simpleType name="ISOYear">
+ <xs:restriction base="xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="LEIIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z0-9]{18,18}[0-9]{2,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="LocalInstrument2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateClassification1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="MandateClassification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="MandateClassification1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FIXE"/>
+ <xs:enumeration value="USGB"/>
+ <xs:enumeration value="VARI"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="MandateRelatedData2Choice">
+ <xs:choice>
+ <xs:element maxOccurs="1" minOccurs="0" name="DrctDbtMndt" type="MandateRelatedInformation15"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtTrfMndt" type="CreditTransferMandateData1"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateRelatedInformation15">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="MndtId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DtOfSgntr" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AmdmntInd" type="TrueFalseIndicator"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AmdmntInfDtls" type="AmendmentInformationDetails14"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ElctrncSgntr" type="Max1025Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FrstColltnDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FnlColltnDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Frqcy" type="Frequency36Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="MandateSetupReason1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TrckgDays" type="Exact2NumericText"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MandateSetupReason1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalMandateSetupReason1Code"/>
+ <xs:element name="Prtry" type="Max70Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateTypeInformation2">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Clssfctn" type="MandateClassification1Choice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="Max1025Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="1025"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max105Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="105"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max10KBinary">
+ <xs:restriction base="xs:base64Binary">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="10240"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max128Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="128"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max140Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="140"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max15NumericText">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,15}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max16Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max2048Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="2048"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max34Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="34"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max350Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="350"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max35Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="35"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max4Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Max70Text">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="70"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="NamePrefix2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DOCT"/>
+ <xs:enumeration value="MADM"/>
+ <xs:enumeration value="MISS"/>
+ <xs:enumeration value="MIST"/>
+ <xs:enumeration value="MIKS"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Number">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="0"/>
+ <xs:totalDigits value="18"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="NumberOfTransactionsPerStatus5">
+ <xs:sequence>
+ <xs:element name="DtldNbOfTxs" type="Max15NumericText"/>
+ <xs:element name="DtldSts" type="ExternalPaymentTransactionStatus1Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DtldCtrlSum" type="DecimalNumber"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentification29">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICDec2014Identifier"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="LEI" type="LEIIdentifier"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="OriginalGroupHeader17">
+ <xs:sequence>
+ <xs:element name="OrgnlMsgId" type="Max35Text"/>
+ <xs:element name="OrgnlMsgNmId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCreDtTm" type="ISODateTime"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlNbOfTxs" type="Max15NumericText"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCtrlSum" type="DecimalNumber"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="GrpSts" type="ExternalPaymentGroupStatus1Code"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="StsRsnInf" type="StatusReasonInformation12"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="NbOfTxsPerSts" type="NumberOfTransactionsPerStatus5"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OriginalPaymentInstruction45">
+ <xs:sequence>
+ <xs:element name="OrgnlPmtInfId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlNbOfTxs" type="Max15NumericText"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCtrlSum" type="DecimalNumber"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtInfSts" type="ExternalPaymentGroupStatus1Code"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="StsRsnInf" type="StatusReasonInformation12"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="NbOfTxsPerSts" type="NumberOfTransactionsPerStatus5"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="TxInfAndSts" type="PaymentTransaction144"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OriginalTransactionReference35">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrBkSttlmAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="AmountType4Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrBkSttlmDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ReqdColltnDt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ReqdExctnDt" type="DateAndDateTime2Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrSchmeId" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SttlmInf" type="SettlementInstruction11"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation27"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtMtd" type="PaymentMethod4Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="MndtRltdInf" type="MandateRelatedData2Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation21"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="Party40Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="Party40Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="Party40Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="Party40Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OtherContact1">
+ <xs:sequence>
+ <xs:element name="ChanlTp" type="Max4Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max128Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Party38Choice">
+ <xs:choice>
+ <xs:element name="OrgId" type="OrganisationIdentification29"/>
+ <xs:element name="PrvtId" type="PersonIdentification13"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Party40Choice">
+ <xs:choice>
+ <xs:element name="Pty" type="PartyIdentification135"/>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification6"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="PartyIdentification135">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress24"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party38Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="Contact4"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PaymentMethod4Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CHK"/>
+ <xs:enumeration value="TRF"/>
+ <xs:enumeration value="DD"/>
+ <xs:enumeration value="TRA"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PaymentTransaction144">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="StsId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlInstrId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlEndToEndId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlUETR" type="UUIDv4Identifier"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TxSts" type="ExternalPaymentTransactionStatus1Code"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="StsRsnInf" type="StatusReasonInformation12"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="ChrgsInf" type="Charges12"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TrckrData" type="TrackerData1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AccptncDtTm" type="ISODateTime"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AcctSvcrRef" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysRef" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlTxRef" type="OriginalTransactionReference35"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentTypeInformation27">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrChanl" type="ClearingChannel2Code"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SeqTp" type="SequenceType3Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PercentageRate">
+ <xs:restriction base="xs:decimal">
+ <xs:fractionDigits value="10"/>
+ <xs:totalDigits value="11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PersonIdentification13">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth1"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="PhoneNumber">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PostalAddress24">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType3Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNm" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Flr" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PstBx" type="Max16Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Room" type="Max70Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TwnLctnNm" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DstrctNm" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
+ <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="PreferredContactMethod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="LETT"/>
+ <xs:enumeration value="MAIL"/>
+ <xs:enumeration value="PHON"/>
+ <xs:enumeration value="FAXX"/>
+ <xs:enumeration value="CELL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="Priority2Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="HIGH"/>
+ <xs:enumeration value="NORM"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ProxyAccountIdentification1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ProxyAccountType1Choice"/>
+ <xs:element name="Id" type="Max2048Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProxyAccountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalProxyAccountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="Purpose2Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentInformation7">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="LineDtls" type="DocumentLineInformation1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType3Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="DocumentType6Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="ReferredDocumentType4">
+ <xs:sequence>
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceAmount2">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceAmount3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RemittanceInformation21">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation17"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="SequenceType3Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FRST"/>
+ <xs:enumeration value="RCUR"/>
+ <xs:enumeration value="FNAL"/>
+ <xs:enumeration value="OOFF"/>
+ <xs:enumeration value="RPRE"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ServiceLevel8Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="SettlementInstruction11">
+ <xs:sequence>
+ <xs:element name="SttlmMtd" type="SettlementMethod1Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SttlmAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSys" type="ClearingSystemIdentification3Choice"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="InstgRmbrsmntAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="InstgRmbrsmntAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="InstdRmbrsmntAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="InstdRmbrsmntAgtAcct" type="CashAccount40"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ThrdRmbrsmntAgt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ThrdRmbrsmntAgtAcct" type="CashAccount40"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="SettlementMethod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="INDA"/>
+ <xs:enumeration value="INGA"/>
+ <xs:enumeration value="COVE"/>
+ <xs:enumeration value="CLRG"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="StatusReason6Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalStatusReason1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="StatusReasonInformation12">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Orgtr" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="StatusReason6Choice"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AddtlInf" type="Max105Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="StructuredRemittanceInformation17">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation7"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification135"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxData1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment3"/>
+ <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SupplementaryData1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
+ <xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SupplementaryDataEnvelope1">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmount3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmountAndType1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxAmountType1Choice">
+ <xs:choice>
+ <xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
+ <xs:element name="Prtry" type="Max35Text"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TaxAuthorisation1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxData1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord3"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty1">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxParty2">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxPeriod3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISOYear"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriod2"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecord3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod3"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount3"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TaxRecordDetails3">
+ <xs:sequence>
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod3"/>
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TaxRecordPeriod1Code">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MM01"/>
+ <xs:enumeration value="MM02"/>
+ <xs:enumeration value="MM03"/>
+ <xs:enumeration value="MM04"/>
+ <xs:enumeration value="MM05"/>
+ <xs:enumeration value="MM06"/>
+ <xs:enumeration value="MM07"/>
+ <xs:enumeration value="MM08"/>
+ <xs:enumeration value="MM09"/>
+ <xs:enumeration value="MM10"/>
+ <xs:enumeration value="MM11"/>
+ <xs:enumeration value="MM12"/>
+ <xs:enumeration value="QTR1"/>
+ <xs:enumeration value="QTR2"/>
+ <xs:enumeration value="QTR3"/>
+ <xs:enumeration value="QTR4"/>
+ <xs:enumeration value="HLF1"/>
+ <xs:enumeration value="HLF2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="TrackerData1">
+ <xs:sequence>
+ <xs:element name="ConfdDt" type="DateAndDateTime2Choice"/>
+ <xs:element name="ConfdAmt" type="ActiveCurrencyAndAmount"/>
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="TrckrRcrd" type="TrackerRecord1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TrackerRecord1">
+ <xs:sequence>
+ <xs:element name="Agt" type="BranchAndFinancialInstitutionIdentification6"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAmt" type="ActiveCurrencyAndAmount"/>
+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRateData" type="CurrencyExchange13"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="TrueFalseIndicator">
+ <xs:restriction base="xs:boolean"/>
+ </xs:simpleType>
+ <xs:simpleType name="UUIDv4Identifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/ebics/src/main/resources/xsd/xmldsig-core-schema.xsd b/ebics/src/main/resources/xsd/xmldsig-core-schema.xsd
new file mode 100644
index 00000000..3c397a63
--- /dev/null
+++ b/ebics/src/main/resources/xsd/xmldsig-core-schema.xsd
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- !DOCTYPE schema
+ PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "XMLSchema.dtd"
+ [
+ <!ATTLIST schema
+ xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
+ <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+ <!ENTITY % p ''>
+ <!ENTITY % s ''>
+ ] -->
+
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.2 $ on $Date: 2006/02/15 16:36:35 $ by $Author: hpl $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ targetNamespace="http://www.w3.org/2000/09/xmldsig#"
+ version="0.1" elementFormDefault="qualified">
+
+<!-- Basic Types Defined for Signatures -->
+
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+
+<!-- Start Signature -->
+
+<element name="Signature" type="ds:SignatureType"/>
+<complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+<!-- Start SignedInfo -->
+
+<element name="SignedInfo" type="ds:SignedInfoType"/>
+<complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+<!-- Start Reference -->
+
+<element name="Reference" type="ds:ReferenceType"/>
+<complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+</complexType>
+
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ <element name="XPath" type="string"/>
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+<!-- End Reference -->
+
+<element name="DigestMethod" type="ds:DigestMethodType"/>
+<complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+</complexType>
+
+<element name="DigestValue" type="ds:DigestValueType"/>
+<simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+</simpleType>
+
+<!-- End SignedInfo -->
+
+<!-- Start KeyInfo -->
+
+<element name="KeyInfo" type="ds:KeyInfoType"/>
+<complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any processContents="lax" namespace="##other"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+
+<!-- Start X509Data -->
+
+<element name="X509Data" type="ds:X509DataType"/>
+<complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509CRL" type="base64Binary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+</complexType>
+
+<complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+</complexType>
+
+<!-- End X509Data -->
+
+<!-- Begin PGPData -->
+
+<element name="PGPData" type="ds:PGPDataType"/>
+<complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+</complexType>
+
+<!-- End PGPData -->
+
+<!-- Begin SPKIData -->
+
+<element name="SPKIData" type="ds:SPKIDataType"/>
+<complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+</complexType>
+
+<!-- End SPKIData -->
+
+<!-- End KeyInfo -->
+
+<!-- Start Object (Manifest, SignatureProperty) -->
+
+<element name="Object" type="ds:ObjectType"/>
+<complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+</complexType>
+
+<element name="Manifest" type="ds:ManifestType"/>
+<complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+<complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+<!-- End Object (Manifest, SignatureProperty) -->
+
+<!-- Start Algorithm Parameters -->
+
+<simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+</simpleType>
+
+<!-- Start KeyValue Element-types -->
+
+<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+<complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+</complexType>
+
+<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+<complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+</complexType>
+
+<!-- End KeyValue Element-types -->
+
+<!-- End Signature -->
+
+</schema>
diff --git a/util/src/test/kotlin/EbicsMessagesTest.kt b/ebics/src/test/kotlin/EbicsMessagesTest.kt
index c426d8fb..5d0f8f5d 100644
--- a/util/src/test/kotlin/EbicsMessagesTest.kt
+++ b/ebics/src/test/kotlin/EbicsMessagesTest.kt
@@ -23,12 +23,12 @@ import junit.framework.TestCase.assertEquals
import org.apache.xml.security.binding.xmldsig.SignatureType
import org.junit.Test
import org.w3c.dom.Element
-import tech.libeufin.util.ebics_h004.*
-import tech.libeufin.util.ebics_hev.HEVResponse
-import tech.libeufin.util.ebics_hev.SystemReturnCodeType
-import tech.libeufin.util.ebics_s001.SignatureTypes
-import tech.libeufin.util.CryptoUtil
-import tech.libeufin.util.XMLUtil
+import tech.libeufin.ebics.ebics_h004.*
+import tech.libeufin.ebics.ebics_hev.HEVResponse
+import tech.libeufin.ebics.ebics_hev.SystemReturnCodeType
+import tech.libeufin.ebics.ebics_s001.SignatureTypes
+import tech.libeufin.common.CryptoUtil
+import tech.libeufin.ebics.XMLUtil
import javax.xml.datatype.DatatypeFactory
import kotlin.test.assertNotNull
import kotlin.test.assertTrue
diff --git a/util/src/test/kotlin/EbicsOrderUtilTest.kt b/ebics/src/test/kotlin/EbicsOrderUtilTest.kt
index 4a772ab5..05f7f72d 100644
--- a/util/src/test/kotlin/EbicsOrderUtilTest.kt
+++ b/ebics/src/test/kotlin/EbicsOrderUtilTest.kt
@@ -18,9 +18,9 @@
*/
import org.junit.Test
-import tech.libeufin.util.EbicsOrderUtil
-import tech.libeufin.util.XMLUtil
-import tech.libeufin.util.ebics_h004.HTDResponseOrderData
+import tech.libeufin.ebics.EbicsOrderUtil
+import tech.libeufin.ebics.XMLUtil
+import tech.libeufin.ebics.ebics_h004.HTDResponseOrderData
import kotlin.test.assertEquals
diff --git a/util/src/test/kotlin/SignatureDataTest.kt b/ebics/src/test/kotlin/SignatureDataTest.kt
index 936ea91b..1a429ade 100644
--- a/util/src/test/kotlin/SignatureDataTest.kt
+++ b/ebics/src/test/kotlin/SignatureDataTest.kt
@@ -19,10 +19,10 @@
import org.apache.xml.security.binding.xmldsig.SignatureType
import org.junit.Test
-import tech.libeufin.util.CryptoUtil
-import tech.libeufin.util.XMLUtil
-import tech.libeufin.util.ebics_h004.EbicsRequest
-import tech.libeufin.util.ebics_h004.EbicsTypes
+import tech.libeufin.common.CryptoUtil
+import tech.libeufin.ebics.XMLUtil
+import tech.libeufin.ebics.ebics_h004.EbicsRequest
+import tech.libeufin.ebics.ebics_h004.EbicsTypes
import java.math.BigInteger
import java.util.*
import javax.xml.datatype.DatatypeFactory
diff --git a/util/src/test/kotlin/XmlCombinatorsTest.kt b/ebics/src/test/kotlin/XmlCombinatorsTest.kt
index 4ecaa622..c261187a 100644
--- a/util/src/test/kotlin/XmlCombinatorsTest.kt
+++ b/ebics/src/test/kotlin/XmlCombinatorsTest.kt
@@ -18,8 +18,8 @@
*/
import org.junit.Test
-import tech.libeufin.util.XmlElementBuilder
-import tech.libeufin.util.constructXml
+import tech.libeufin.ebics.XmlElementBuilder
+import tech.libeufin.ebics.constructXml
class XmlCombinatorsTest {
diff --git a/util/src/test/kotlin/XmlUtilTest.kt b/ebics/src/test/kotlin/XmlUtilTest.kt
index e059c78e..b8639d7a 100644
--- a/util/src/test/kotlin/XmlUtilTest.kt
+++ b/ebics/src/test/kotlin/XmlUtilTest.kt
@@ -22,16 +22,16 @@ import org.junit.Test
import org.junit.Assert.*
import org.slf4j.Logger
import org.slf4j.LoggerFactory
-import tech.libeufin.util.ebics_h004.EbicsKeyManagementResponse
-import tech.libeufin.util.ebics_h004.EbicsResponse
-import tech.libeufin.util.ebics_h004.EbicsTypes
-import tech.libeufin.util.ebics_h004.HTDResponseOrderData
-import tech.libeufin.util.CryptoUtil
-import tech.libeufin.util.XMLUtil
+import tech.libeufin.ebics.ebics_h004.EbicsKeyManagementResponse
+import tech.libeufin.ebics.ebics_h004.EbicsResponse
+import tech.libeufin.ebics.ebics_h004.EbicsTypes
+import tech.libeufin.ebics.ebics_h004.HTDResponseOrderData
+import tech.libeufin.common.CryptoUtil
+import tech.libeufin.ebics.XMLUtil
import java.security.KeyPairGenerator
import java.util.*
import javax.xml.transform.stream.StreamSource
-import tech.libeufin.util.XMLUtil.Companion.signEbicsResponse
+import tech.libeufin.ebics.XMLUtil.Companion.signEbicsResponse
class XmlUtilTest {
diff --git a/ebics/src/test/resources/ebics_hev.xml b/ebics/src/test/resources/ebics_hev.xml
new file mode 100644
index 00000000..9f4598fe
--- /dev/null
+++ b/ebics/src/test/resources/ebics_hev.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ebics:ebicsHEVRequest xmlns:ebics="http://www.ebics.org/H000">
+ <ebics:HostID>EBIXQUAL</ebics:HostID>
+</ebics:ebicsHEVRequest>
diff --git a/ebics/src/test/resources/ebics_ini_inner_key.xml b/ebics/src/test/resources/ebics_ini_inner_key.xml
new file mode 100644
index 00000000..7e199f4f
--- /dev/null
+++ b/ebics/src/test/resources/ebics_ini_inner_key.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<SignaturePubKeyOrderData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ebics.org/S001 http://www.ebics.org/S001/ebics_signature.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.ebics.org/S001">
+ <SignaturePubKeyInfo>
+ <PubKeyValue>
+ <ds:RSAKeyValue>
+ <ds:Modulus>s5ktpg3xGjbZZgVTYtW+0e6xsWg142UwvoM3mfuM+qrkIa5bPUGQLH6BRL9IejYosPhoA6jwMBSxO8LfaageyZJt2M5wHklJYz3fADtQrV1bk5R92OaY/9ZZdHxw3xY93tm5JfVrMDW9DEK5B1hUzYFdjuN/qu2/sdE9mwhx2YjYwwdSQzv6MhbtSK9OAJjPGo3fkxsht6maSmRCdgxplIOSO2mmP1wjUzbVUMcrRk9KDMvnb3kCxiTm+evvxX6J4wpY1bAWukolJbaALHlFtgTo1LnulUe/BxiKx9HpmuEAaPsk8kgduXsz5OqH2g/Vyw75x51aKVPxOTBPyP+4kQ==</ds:Modulus>
+ <ds:Exponent>AQAB</ds:Exponent>
+ </ds:RSAKeyValue>
+ </PubKeyValue>
+ <SignatureVersion>A006</SignatureVersion>
+ </SignaturePubKeyInfo>
+ <PartnerID>flo-kid</PartnerID>
+ <UserID>flo-uid</UserID>
+</SignaturePubKeyOrderData> \ No newline at end of file
diff --git a/ebics/src/test/resources/ebics_ini_request_sample.xml b/ebics/src/test/resources/ebics_ini_request_sample.xml
new file mode 100644
index 00000000..a9237a91
--- /dev/null
+++ b/ebics/src/test/resources/ebics_ini_request_sample.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ebicsUnsecuredRequest Revision="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:org:ebics:H004 ebics_keymgmt_request_H004.xsd" Version="H004"
+ xmlns="urn:org:ebics:H004">
+ <header authenticate="true">
+ <static>
+ <HostID>myhost</HostID>
+ <PartnerID>k1</PartnerID>
+ <UserID>u1</UserID>
+ <OrderDetails>
+ <OrderType>INI</OrderType>
+ <OrderAttribute>DZNNN</OrderAttribute>
+ </OrderDetails>
+ <SecurityMedium>0000</SecurityMedium>
+ </static>
+ <mutable/>
+ </header>
+ <body>
+ <DataTransfer>
+ <OrderData>
+ eJx9U1tzmkAUfu9M/wNDH524XIINjprBaOIFCopg8CWzyHK/GHaR1V9fhtg0bWrf9nzfdy57LoN7mqXMEZU4KvIhy3c5lkH5vvCiPBiyFfFv7tj70dcvAzMKckiqEhmVu0QnvfRQOYEEMo1/jvsUR0M2JOTQB6Cu624tdosyAALH8eBZU819iDJ4E+WYwHyPWKbR93ELqsUekjb5B3fkRnvcRjCbCMxVBrTmC/5VXJdij72U5OErFXGAk0Gj8Rq3bxf1f7KzzfcZ5u8GzHO/aImGekNsmFboAjWgh/trU/mEvzFa4VVphUdYSsghEOlT7O52gb1xyLbDoR7F24C/Faz6WGhi5lda57VM5lByDetppc5647Uqz1HsFNgIC6UX19rYpPqd6kMYoNNuQQRNqmdJunDOoq9MyKq0eTeR1rKgQwfIu503o7VIHVkkmbTw7VKbbOXJdCmN+dA6O49eXP0Ar5UAsDeVszqkghM7de2Zq/Oxp4UuMZeyrixi46kQ/YTikPQyaGbrBy+gh3Sum7qQZQZfx9bZtS1tX64TeTnRjrkrJg802mQddDzS597itj44vKtsq6RIFy5U1Fn6SIJNwat5lVoIjGm0pPLskFVTBRo4uUsCr3rGZ0l/nQkBsE/1d4lKPFzaBtU3Y+NkdG6T1XA4AB+a/Gfrp/RQ5CgnI2WljFvdO/I+O/DP4Q3A50H/Xgv77YZGCsf1BuAT3O4QuLZEAwOWJEflfDJK+CbPu9WSFm7fVcNcns1BgmsXOfoJ1l5CIg==
+ </OrderData>
+ </DataTransfer>
+ </body>
+</ebicsUnsecuredRequest> \ No newline at end of file
diff --git a/ebics/src/test/resources/hia_request.xml b/ebics/src/test/resources/hia_request.xml
new file mode 100644
index 00000000..0089a363
--- /dev/null
+++ b/ebics/src/test/resources/hia_request.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ebicsUnsecuredRequest xmlns="urn:org:ebics:H004"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:org:ebics:H004 ebics_keymgmt_request_H004.xsd"
+ Version="H004"
+ Revision="1">
+ <header authenticate="true">
+ <static>
+ <HostID>LIBEUFIN-SANDBOX</HostID>
+ <PartnerID>CUSTM001</PartnerID>
+ <UserID>u1</UserID>
+ <OrderDetails>
+ <OrderType>HIA</OrderType>
+ <OrderAttribute>DZNNN</OrderAttribute>
+ </OrderDetails>
+ <SecurityMedium>0000</SecurityMedium>
+ </static>
+ <mutable/>
+ </header>
+ <body>
+ <DataTransfer>
+ <OrderData>eJzNlsmyo0YWhvf1FBW3l0SZZBY3VHIwCwESM0g7ZpCYxAxPb/mWh7ZdrlUvmhX8Z/gzyPNl5P7npSo/T0nXF0399Q35Cbz9fPi0P8qMmTzHpB8uXZx0fDAEn1+Jdf8e91/f8mFo32F4nuefZuynpstgFAAAAxp+5cR9kf3n7dPn7z0fLb6+jV39/qp6T8Ii6t+PAOA/yn9PXh3/YvpR9+FrAYD8sHbpi39ZLwL7mmpFeVIFX4q6H4I6St4Or157ZhzypB6KKBheP0UfQyVZ5TptDh9G+2+CG5RjcvjNeh/376bF/F3+FtCaeCzH/sCccjF6CEpIHO9qNg7sk6vEJqcu5+zCjy3Te4YaE00r3WCcLidQGGEqJ4uoRMrcaQFlAnAK2xDVb1T2KGFMbW87hbMe9m5XzjCb6kuIareAuStQx66uzs+PUlk5oQim7B6eoNW2qo4Ljxu4jbFWLM4M7n4geL2ZNSiMnxum8+d+YTntqIqVV3eS06KTHYeBuOmqaXA1Ar/csDRAAFFNmr8cGc07u8ZC9TidnjhurtHURIQpvLBIf6Uj/5xQT2pGj62hFy2jbldl1wQtTkKbBKm0d2pWZIxX6Q6brViRT8Hl5UeW6FnsgIC1YQslccVX8AhjALHjgHF/ENYD8+3O7ZLOjPhJWvOeMniZ3ayU8F9rAxgdA9xMO1mN0ITDKKWuzZ23hRWH6P3ZKRn3FBhahVPVUOgmF1Br6mWEGkoWQ9h1eXcWlHsA5sGwVg6PurNwXCdWaw70kceyi3Gye6IjoQTPmksNZ5SAyYFlYQD2HLzenvaur+j7YOw20fN9ZEQK+yYyl0AYctO+tL7HmmVR6lw3hpVuLQpfJxvUcjJfsQ+pQCzmVCuiBpbg+DR1uktRiLu3+LHTSiTqQrWN+QF3a4lGdo/NMirzSlakYYUsCgekexluTTKjt4LKV65gMNMX5fIM3xBPu3PUGepNk19iM6yPa4K3z9m8X4KU3gVayt7E+jGR7DWwoZlcyj38X4P7l2kWlrapX3QcGINhP9L+UH6HAf4+DXu7qBJrCKr2gAJk9wVBvgDERpB3BLxjxG0P/xn/Bhr8D9L+hqb77dg6+ACge/j7sV+Bhn9E9F6oo25t/7eoqyBWNpkKhBnWdoKGuhmCBRJ82aiLXKO+c69WObdyykqpGrcg2A+PPp8it7LPdjNhK5BiMEIn6h6QgJHjEWsmk3Jz+9arzzIBzYNz3qj0mNT8xVTYUR8xVxXWklfOR9nz6FQ6z/gI7Gwkg6kTjx2OnisyF3DN823VzoSr4g5ryJwbHMquYT4NDSEM0PbsLwYsRRPq9lvpA5nnoqlXi9vTCYT4FkyoE7QDt5aBImu2fMdO5d0bBJftAd5cSFpop0IvJKXEH4KxYVdK8B7lsp0JfSmIiwiriH9a+plTZiGxZc8hezlARdah8KgLdshknHN6xLyi0SWHjCm6cYu2J4n6VkCYMjfdzMMxRs1sRCsAt9LXlrr01YT4jeM2RE95x8qg+zShwUrm7MyWCdonrmK+SL8U8gsGwbCZbECR3PP5ihjNrA6ryssn9bR6BnTlRnBkNYmdG6aEuzBLGnrk1WxY2VwBGH5S6tCp/VFGBobwT2FY2JSrPquMjHjlFnGFWDCutPVlcNIwljSFU34Ws5h4bdgq2eKUHV+jcHVQx5v74z2uToGp3xmRjGxpTkTEnnnaf7zQb+rdLpo0DlJL7ZwxCJ8OJIRM6iQvetZRo4sQoCTSbQp1HVovaZ95jUK/zljDup8ehRVrEBGCRGZmzukmaSZn61EXF/pRszUNjc8sVSdM9+Wuq1WA6f+vqP+J5e8oCx+Y/1P/QPzfKN7rQTfUSSfzB8HnjsxZEl5uf2i/Zjj9x6vNqIK5h3/7+rSHv3MJOnz6BXLJ7gw=</OrderData>
+ </DataTransfer>
+ </body>
+</ebicsUnsecuredRequest>
diff --git a/ebics/src/test/resources/hia_request_order_data.xml b/ebics/src/test/resources/hia_request_order_data.xml
new file mode 100644
index 00000000..cd1f4e4f
--- /dev/null
+++ b/ebics/src/test/resources/hia_request_order_data.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<HIARequestOrderData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:ebics:H004 ebics_orders_H004.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:org:ebics:H004">
+ <AuthenticationPubKeyInfo>
+ <PubKeyValue>
+ <ds:RSAKeyValue>
+ <ds:Modulus>0Ekicvrcj2+8tsF+DZsWihl9W7AyVwtMLxq3qefSWagpfnV7BVsKYIJ/OhiWpvr3dz6K5lHSatzhG1x//jrZt6VHn5Wkkb0M0vayPUiZbe5s2aLabqfOTrt8TPnHwjZMChDHRmGoKI0OzLyQJ6MIfQrHZ5t61ccWubYO/bgbSnP9H39k8QEp0kmW4Tf4u+28GTLgueNAaaPTdCozZjrST4fH9nyhBUZ3nl+vZ+AiUNdl5UfV109CXhCm3safLboUus6ZcYLm6gTaiwJEdRX7HYbnAQZ5gcoXVz/oyxJqTkicVOLPrTAfi3UmFrnIVF8XBtOPdIXHzSpxZ3yT8gH4zQ==</ds:Modulus>
+ <ds:Exponent>AQAB</ds:Exponent>
+ </ds:RSAKeyValue>
+ </PubKeyValue>
+ <AuthenticationVersion>X002</AuthenticationVersion>
+ </AuthenticationPubKeyInfo>
+ <EncryptionPubKeyInfo>
+ <PubKeyValue>
+ <ds:RSAKeyValue>
+ <ds:Modulus>0Ekicvrcj2+8tsF+DZsWihl9W7AyVwtMLxq3qefSWagpfnV7BVsKYIJ/OhiWpvr3dz6K5lHSatzhG1x//jrZt6VHn5Wkkb0M0vayPUiZbe5s2aLabqfOTrt8TPnHwjZMChDHRmGoKI0OzLyQJ6MIfQrHZ5t61ccWubYO/bgbSnP9H39k8QEp0kmW4Tf4u+28GTLgueNAaaPTdCozZjrST4fH9nyhBUZ3nl+vZ+AiUNdl5UfV109CXhCm3safLboUus6ZcYLm6gTaiwJEdRX7HYbnAQZ5gcoXVz/oyxJqTkicVOLPrTAfi3UmFrnIVF8XBtOPdIXHzSpxZ3yT8gH4zQ==</ds:Modulus>
+ <ds:Exponent>AQAB</ds:Exponent>
+ </ds:RSAKeyValue>
+ </PubKeyValue>
+ <EncryptionVersion>E002</EncryptionVersion>
+ </EncryptionPubKeyInfo>
+ <PartnerID>PARTNER1</PartnerID>
+ <UserID>USER1</UserID>
+</HIARequestOrderData> \ No newline at end of file
diff --git a/ebics/src/test/resources/hpb_request.xml b/ebics/src/test/resources/hpb_request.xml
new file mode 100644
index 00000000..3a630fdd
--- /dev/null
+++ b/ebics/src/test/resources/hpb_request.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ebics:ebicsNoPubKeyDigestsRequest xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" xmlns="http://www.w3.org/2001/XMLSchema" Version="H004" Revision="1">
+ <ebics:header authenticate="true">
+ <ebics:static>
+ <ebics:HostID>EBIXQUAL</ebics:HostID>
+ <ebics:Nonce>0749134D19E160DA4ACA366180113D44</ebics:Nonce>
+ <ebics:Timestamp>2018-11-01T11:10:35Z</ebics:Timestamp>
+ <ebics:PartnerID>EXCHANGE</ebics:PartnerID>
+ <ebics:UserID>TALER</ebics:UserID>
+ <ebics:OrderDetails>
+ <ebics:OrderType>HPB</ebics:OrderType>
+ <ebics:OrderAttribute>DZHNN</ebics:OrderAttribute>
+ </ebics:OrderDetails>
+ <ebics:SecurityMedium>0000</ebics:SecurityMedium>
+ </ebics:static>
+ <ebics:mutable/>
+ </ebics:header>
+ <ebics:AuthSignature>
+ <ds:SignedInfo>
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+ <ds:Reference URI="#xpointer(//*[@authenticate='true'])">
+ <ds:Transforms>
+ <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ </ds:Transforms>
+ <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+ <ds:DigestValue>yuwpcvmVrNrc1t58aulF6TiqKO+CNe7Dhwaa6V/cKws=</ds:DigestValue>
+ </ds:Reference>
+ </ds:SignedInfo>
+ <ds:SignatureValue>chhF4/yxSz2WltTR0/DPf01WyncNx3P1XJDr0SylVMVWWSY9S1dYyJKgGOW+g7C/
+HYzrGcFwKrejf79DH3F2Ek8NJLsAFzf/0oxff2eYEe0SlxjXmgsubeMOy5PKB9Ag
+ZiQYMiNy9gaatqcW79E3n/r1nD/lwLsped/4jzWdY+Gfj3z6d18vymmGymbHqIaR
+hawk/Iu/tpMQ3dbvIFbzn9LLMmzfQzG2ZPy3BiQNVWr3aSLl9qG4U9zeK6OyH2/Z
+g1EEnjfJa/+pTCeJmyoDBwgaJWcuCRQmWjvxvbM4ckYnrFkhvLf24on2ydmUeipp
+sMl8q1khyWUC0P0h6otZhD1SUdf1rt14r16bdy1r0ieTVm6m3qXhcX5MXagvFci0
+0OE2mOgf/GXE2WiJLAbRh06s9OvAzHUq4QGQwbkprMBMFw4uxONyNzYl+F9aA5Ic
+Awebf7/dfDJIHZc8XkwY1jNJrmCTzRyTP5eDN4bDPoHqTotDo1CMFaHtnkygg/Lg
+qoirV8mHfqnO4XQBOCUiHZ6mzz81l+O7dYg65cYx9Z76q2cv1PxsMb7Eo4nvux5S
+QPuuid0G5lomHXM/uM3mu4vXcDluCoffgTDimxs0I9X+PB7a2vgSMezwYkj8dA69
+vszH1hwek7DRbRfKUo6HUxl49Gsk0XYG/K30M5fS5JE=</ds:SignatureValue>
+ </ebics:AuthSignature>
+ <ebics:body/>
+</ebics:ebicsNoPubKeyDigestsRequest>
diff --git a/ebics/src/test/resources/signature1/doc.xml b/ebics/src/test/resources/signature1/doc.xml
new file mode 100644
index 00000000..271f8429
--- /dev/null
+++ b/ebics/src/test/resources/signature1/doc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<myMessage xmlns:ebics="urn:org:ebics:H004">
+ <ebics:AuthSignature><ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#xpointer(//*[@authenticate='true'])"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>qiFUoCn9kE0zSidyraO2Br/wn3/XyvWObJZ0aLIBXyA=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">LupLyRUJIuk0kCRwpFj4fpen2MI7Jw0BI944agwzXHfSDfq0Pp8h3sub6eSsKIAq7ekT3z+mlfMc&#13;
+ VFaKRi4B7kv4ja/URiYCKKbChQU2+kMGDvsncx9VcpcFrqAbWPmE9JXD2W2YW9OSkJ1tAZxZlZwS&#13;
+ A8KcvluV1wGEBuakHL2t3GqFPQEfKW4l8GYTjHh/w9jBve5d8tvMOjGtoyNemZGrVlzBxO9+hwbw&#13;
+ 8UFUCDA00dCjFDUHOnyAbBYsGzoaQyZprDn3iYDvlBz243zAN98PIKDclxlUEmkuF+JhrhCRjT9l&#13;
+ +JJxrELGHaDkFVadR4kaPdWPsbDaV0/2Fzc4Qg==</ds:SignatureValue></ebics:AuthSignature>
+ <foo authenticate="true">Hello World</foo>
+</myMessage> \ No newline at end of file
diff --git a/ebics/src/test/resources/signature1/public_key.txt b/ebics/src/test/resources/signature1/public_key.txt
new file mode 100644
index 00000000..6d52df58
--- /dev/null
+++ b/ebics/src/test/resources/signature1/public_key.txt
@@ -0,0 +1 @@
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqpUpetHZYdMjnaG544iSLZ5SnxlV4F/eQsIckG3mvMaXCQsY4rUTfJyle/fTZ0xGbjCUXCsbl1wkz8eB6chaX2LsHYDGiu/xNnU1nddAVB+5kkA5AIGncT9NVhdOgmpnZY/tae9qtZfCPAvbI0sGYQHea0pwyJ/hUnRJiMOjSRgIXALIvGVNqxe4U5ffLXFIUapTK2hOuhUH9BwDSK+mVR6gw0vDT05Z38sEpTeKUqJywL5cPSFIV+AN4ErSvsXNkTKUcbDxhGzOh/oTjTkz1kFFKe4ijPkSRkpK2sJMyAIretBKOK8SDICnsSrIh0YAcd6yTHQ3CeEjW4t0ZBULOQIDAQAB \ No newline at end of file
diff --git a/nexus/build.gradle b/nexus/build.gradle
index 879621f3..5c082385 100644
--- a/nexus/build.gradle
+++ b/nexus/build.gradle
@@ -21,8 +21,8 @@ dependencies {
// Core language libraries
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
- // LibEuFin util library
- implementation(project(":util"))
+ implementation(project(":common"))
+ implementation(project(":ebics"))
// XML parsing/binding and encryption
implementation("javax.xml.bind:jaxb-api:2.3.0")
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Database.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Database.kt
index 0e1bea79..be913d38 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Database.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Database.kt
@@ -22,7 +22,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.postgresql.jdbc.PgConnection
import org.postgresql.util.PSQLState
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.sql.PreparedStatement
import java.sql.SQLException
import java.time.Instant
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
index 95b532b3..a05d781a 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
@@ -21,7 +21,7 @@ package tech.libeufin.nexus
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.*
import com.github.ajalt.clikt.parameters.groups.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
/**
* This subcommand tries to load the SQL files that define
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
index 8cf74d15..55a3e401 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
@@ -23,11 +23,9 @@ import com.github.ajalt.clikt.parameters.options.*
import com.github.ajalt.clikt.parameters.groups.*
import io.ktor.client.*
import kotlinx.coroutines.*
-import net.taler.wallet.crypto.Base32Crockford
-import net.taler.wallet.crypto.EncodingException
import tech.libeufin.nexus.ebics.*
-import tech.libeufin.util.*
-import tech.libeufin.util.ebics_h005.Ebics3Request
+import tech.libeufin.common.*
+import tech.libeufin.ebics.ebics_h005.Ebics3Request
import java.io.File
import java.io.IOException
import java.nio.file.Path
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSetup.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSetup.kt
index 8c2d9c2e..5278afc1 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSetup.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSetup.kt
@@ -24,13 +24,13 @@ import com.github.ajalt.clikt.parameters.options.*
import com.github.ajalt.clikt.parameters.groups.*
import io.ktor.client.*
import kotlinx.coroutines.runBlocking
-import tech.libeufin.util.ebics_h004.EbicsTypes
+import tech.libeufin.ebics.ebics_h004.EbicsTypes
import java.io.File
-import TalerConfigError
import kotlinx.serialization.encodeToString
import tech.libeufin.nexus.ebics.*
-import tech.libeufin.util.*
-import tech.libeufin.util.ebics_h004.HTDResponseOrderData
+import tech.libeufin.common.*
+import tech.libeufin.ebics.*
+import tech.libeufin.ebics.ebics_h004.HTDResponseOrderData
import java.time.Instant
import kotlin.reflect.typeOf
import java.nio.file.Files
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
index 6e8607e3..c43bb378 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
@@ -28,7 +28,7 @@ import tech.libeufin.nexus.ebics.EbicsSideError
import tech.libeufin.nexus.ebics.EbicsSideException
import tech.libeufin.nexus.ebics.EbicsUploadException
import tech.libeufin.nexus.ebics.submitPain001
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.io.File
import java.nio.file.Path
import java.time.Instant
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
index 8beddc75..3edfbded 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
@@ -18,7 +18,8 @@
*/
package tech.libeufin.nexus
-import tech.libeufin.util.*
+import tech.libeufin.common.*
+import tech.libeufin.ebics.*
import java.net.URLEncoder
import java.time.Instant
import java.time.ZoneId
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Log.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Log.kt
index 25ed95af..e59b65f4 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Log.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Log.kt
@@ -20,7 +20,7 @@
package tech.libeufin.nexus
import tech.libeufin.nexus.ebics.unzipForEach
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.io.*
import java.nio.file.*
import kotlin.io.path.*
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
index da6e6237..699af965 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
@@ -23,8 +23,7 @@
* kept in their respective files.
*/
package tech.libeufin.nexus
-import ConfigSource
-import TalerConfig
+
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.subcommands
import com.github.ajalt.clikt.parameters.options.versionOption
@@ -43,9 +42,8 @@ import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
-import net.taler.wallet.crypto.Base32Crockford
import tech.libeufin.nexus.ebics.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.security.interfaces.RSAPrivateCrtKey
import java.security.interfaces.RSAPublicKey
import java.io.FileNotFoundException
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics2.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics2.kt
index 19fe88e6..ff59fa7e 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics2.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics2.kt
@@ -30,9 +30,9 @@ import org.slf4j.LoggerFactory
import tech.libeufin.nexus.BankPublicKeysFile
import tech.libeufin.nexus.ClientPrivateKeysFile
import tech.libeufin.nexus.EbicsSetupConfig
-import tech.libeufin.util.*
-import tech.libeufin.util.ebics_h004.*
-import tech.libeufin.util.ebics_h005.Ebics3Request
+import tech.libeufin.ebics.*
+import tech.libeufin.ebics.ebics_h004.*
+import tech.libeufin.ebics.ebics_h005.Ebics3Request
import java.security.interfaces.RSAPrivateCrtKey
import java.time.Instant
import java.time.ZoneId
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics3.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics3.kt
index 647aca74..16e5daba 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics3.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/Ebics3.kt
@@ -23,11 +23,11 @@ import tech.libeufin.nexus.BankPublicKeysFile
import tech.libeufin.nexus.ClientPrivateKeysFile
import tech.libeufin.nexus.EbicsSetupConfig
import tech.libeufin.nexus.logger
-import tech.libeufin.util.PreparedUploadData
-import tech.libeufin.util.XMLUtil
-import tech.libeufin.util.ebics_h005.Ebics3Request
-import tech.libeufin.util.getNonce
-import tech.libeufin.util.getXmlDate
+import tech.libeufin.ebics.PreparedUploadData
+import tech.libeufin.ebics.XMLUtil
+import tech.libeufin.ebics.ebics_h005.Ebics3Request
+import tech.libeufin.ebics.getNonce
+import tech.libeufin.ebics.getXmlDate
import java.math.BigInteger
import java.time.Instant
import java.util.*
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
index 642b60ca..167954d0 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
@@ -47,8 +47,9 @@ import org.apache.commons.compress.utils.SeekableInMemoryByteChannel
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import tech.libeufin.nexus.*
-import tech.libeufin.util.*
-import tech.libeufin.util.ebics_h005.Ebics3Request
+import tech.libeufin.common.*
+import tech.libeufin.ebics.*
+import tech.libeufin.ebics.ebics_h005.Ebics3Request
import java.io.ByteArrayOutputStream
import java.security.interfaces.RSAPrivateCrtKey
import java.time.LocalDateTime
diff --git a/nexus/src/test/kotlin/CliTest.kt b/nexus/src/test/kotlin/CliTest.kt
index 9ad737e3..a57088c7 100644
--- a/nexus/src/test/kotlin/CliTest.kt
+++ b/nexus/src/test/kotlin/CliTest.kt
@@ -24,7 +24,7 @@ import kotlin.test.*
import java.io.*
import java.nio.file.*
import kotlin.io.path.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
val nexusCmd = LibeufinNexusCommand()
diff --git a/nexus/src/test/kotlin/Common.kt b/nexus/src/test/kotlin/Common.kt
index 5adbf157..7812499a 100644
--- a/nexus/src/test/kotlin/Common.kt
+++ b/nexus/src/test/kotlin/Common.kt
@@ -23,7 +23,7 @@ import io.ktor.client.request.*
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
import tech.libeufin.nexus.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.security.interfaces.RSAPrivateCrtKey
import java.time.Instant
diff --git a/nexus/src/test/kotlin/ConfigLoading.kt b/nexus/src/test/kotlin/ConfigLoading.kt
index ad4fa7ad..cb9159b0 100644
--- a/nexus/src/test/kotlin/ConfigLoading.kt
+++ b/nexus/src/test/kotlin/ConfigLoading.kt
@@ -24,6 +24,7 @@ import tech.libeufin.nexus.NEXUS_CONFIG_SOURCE
import tech.libeufin.nexus.getFrequencyInSeconds
import kotlin.test.assertEquals
import kotlin.test.assertNull
+import tech.libeufin.common.*
class ConfigLoading {
/**
diff --git a/nexus/src/test/kotlin/DatabaseTest.kt b/nexus/src/test/kotlin/DatabaseTest.kt
index 1de705c1..1d3ffcd7 100644
--- a/nexus/src/test/kotlin/DatabaseTest.kt
+++ b/nexus/src/test/kotlin/DatabaseTest.kt
@@ -20,7 +20,7 @@
import kotlinx.coroutines.runBlocking
import org.junit.Test
import tech.libeufin.nexus.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.time.Instant
import kotlin.random.Random
import kotlin.test.*
diff --git a/nexus/src/test/kotlin/Ebics.kt b/nexus/src/test/kotlin/Ebics.kt
index 44978095..5f3a3782 100644
--- a/nexus/src/test/kotlin/Ebics.kt
+++ b/nexus/src/test/kotlin/Ebics.kt
@@ -25,8 +25,8 @@ import org.junit.Ignore
import org.junit.Test
import tech.libeufin.nexus.*
import tech.libeufin.nexus.ebics.*
-import tech.libeufin.util.XMLUtil
-import tech.libeufin.util.ebics_h004.EbicsUnsecuredRequest
+import tech.libeufin.ebics.XMLUtil
+import tech.libeufin.ebics.ebics_h004.EbicsUnsecuredRequest
import java.io.File
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
diff --git a/nexus/src/test/kotlin/Keys.kt b/nexus/src/test/kotlin/Keys.kt
index 189de0db..41b6b11f 100644
--- a/nexus/src/test/kotlin/Keys.kt
+++ b/nexus/src/test/kotlin/Keys.kt
@@ -19,7 +19,7 @@
import org.junit.Test
import tech.libeufin.nexus.*
-import tech.libeufin.util.CryptoUtil
+import tech.libeufin.common.CryptoUtil
import java.io.File
import kotlin.test.*
diff --git a/nexus/src/test/kotlin/MySerializers.kt b/nexus/src/test/kotlin/MySerializers.kt
index 0076dd55..2c109fd7 100644
--- a/nexus/src/test/kotlin/MySerializers.kt
+++ b/nexus/src/test/kotlin/MySerializers.kt
@@ -20,13 +20,13 @@
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
-import net.taler.wallet.crypto.Base32Crockford
import org.junit.Test
import tech.libeufin.nexus.ClientPrivateKeysFile
import tech.libeufin.nexus.RSAPrivateCrtKeySerializer
-import tech.libeufin.util.CryptoUtil
+import tech.libeufin.common.CryptoUtil
import java.security.interfaces.RSAPrivateCrtKey
import kotlin.test.assertEquals
+import tech.libeufin.common.*
class MySerializers {
// Testing deserialization of RSA private keys.
diff --git a/nexus/src/test/kotlin/Parsing.kt b/nexus/src/test/kotlin/Parsing.kt
index 2ffc1795..d71f42b2 100644
--- a/nexus/src/test/kotlin/Parsing.kt
+++ b/nexus/src/test/kotlin/Parsing.kt
@@ -20,9 +20,9 @@
import org.junit.Test
import org.junit.jupiter.api.assertThrows
import tech.libeufin.nexus.*
-import tech.libeufin.util.*
-import tech.libeufin.util.parseBookDate
-import tech.libeufin.util.parseCamtTime
+import tech.libeufin.common.*
+import tech.libeufin.common.parseBookDate
+import tech.libeufin.common.parseCamtTime
import java.lang.StringBuilder
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
diff --git a/settings.gradle b/settings.gradle
index b3b8fcad..48e088f8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,5 +1,6 @@
rootProject.name = 'libeufin'
include("bank")
include("nexus")
-include("util")
-include("integration")
+include("common")
+include("testbench")
+include("ebics") \ No newline at end of file
diff --git a/integration/build.gradle b/testbench/build.gradle
index 7c366e4c..93fb6a46 100644
--- a/integration/build.gradle
+++ b/testbench/build.gradle
@@ -16,7 +16,7 @@ sourceSets.main.java.srcDirs = ["src/main/kotlin"]
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
- implementation(project(":util"))
+ implementation(project(":common"))
implementation(project(":bank"))
implementation(project(":nexus"))
@@ -30,8 +30,8 @@ dependencies {
}
application {
- mainClass = "tech.libeufin.integration.MainKt"
- applicationName = "libeufin-integration-test"
+ mainClass = "tech.libeufin.testbench.MainKt"
+ applicationName = "libeufin-testbench-test"
}
run {
diff --git a/integration/conf/integration.conf b/testbench/conf/integration.conf
index 39056996..39056996 100644
--- a/integration/conf/integration.conf
+++ b/testbench/conf/integration.conf
diff --git a/integration/conf/mini.conf b/testbench/conf/mini.conf
index 5244dae2..5244dae2 100644
--- a/integration/conf/mini.conf
+++ b/testbench/conf/mini.conf
diff --git a/integration/conf/netzbon.conf b/testbench/conf/netzbon.conf
index 00b140e6..00b140e6 100644
--- a/integration/conf/netzbon.conf
+++ b/testbench/conf/netzbon.conf
diff --git a/integration/conf/postfinance.conf b/testbench/conf/postfinance.conf
index a5cb15ad..a5cb15ad 100644
--- a/integration/conf/postfinance.conf
+++ b/testbench/conf/postfinance.conf
diff --git a/integration/src/main/kotlin/Main.kt b/testbench/src/main/kotlin/Main.kt
index dcd8068e..b1c549c2 100644
--- a/integration/src/main/kotlin/Main.kt
+++ b/testbench/src/main/kotlin/Main.kt
@@ -17,12 +17,12 @@
* <http://www.gnu.org/licenses/>
*/
-package tech.libeufin.integration
+package tech.libeufin.testbench
import tech.libeufin.nexus.Database as NexusDb
import tech.libeufin.nexus.*
import tech.libeufin.bank.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import com.github.ajalt.clikt.core.*
import com.github.ajalt.clikt.parameters.arguments.*
import com.github.ajalt.clikt.parameters.types.*
@@ -35,7 +35,6 @@ import java.nio.file.*
import java.time.Instant
import kotlinx.coroutines.runBlocking
import io.ktor.client.request.*
-import net.taler.wallet.crypto.Base32Crockford
import kotlin.io.path.*
fun randBytes(lenght: Int): ByteArray {
diff --git a/integration/src/test/kotlin/IntegrationTest.kt b/testbench/src/test/kotlin/IntegrationTest.kt
index feaf3d05..87f75baa 100644
--- a/integration/src/test/kotlin/IntegrationTest.kt
+++ b/testbench/src/test/kotlin/IntegrationTest.kt
@@ -18,12 +18,11 @@
*/
import org.junit.Test
-import net.taler.wallet.crypto.Base32Crockford
import tech.libeufin.bank.*
import tech.libeufin.nexus.*
import tech.libeufin.nexus.Database as NexusDb
import tech.libeufin.bank.db.AccountDAO.*
-import tech.libeufin.util.*
+import tech.libeufin.common.*
import java.io.File
import java.time.Instant
import java.util.Arrays