diff options
author | Antoine A <> | 2024-01-23 18:06:55 +0100 |
---|---|---|
committer | Antoine A <> | 2024-01-23 18:10:59 +0100 |
commit | bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed (patch) | |
tree | ecb0f851e8781dd8c8100224d079131ec56efea9 | |
parent | 8aeffb3f9d4fa5323d896a46902ed2384a953cbd (diff) | |
download | libeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.tar.gz libeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.tar.bz2 libeufin-bb7e455b0f71ba1870f4233f58bcb4bd4fbf05ed.zip |
Split utils into common and ebics and ename integration to testbench
192 files changed, 20931 insertions, 233 deletions
@@ -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 @@ -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\.,;:'\+\-/\(\)?\*\[\]\{\}\\`´~ ]|[!"#%&<>÷=@_$£]|[àáâäçèéêëìíîïñòóôöùúûüýßÀÁÂÄÇÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜÑ])*"/>
+ </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]|[+|\?|/|\-|:|\(|\)|\.|,|'|\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 + VFaKRi4B7kv4ja/URiYCKKbChQU2+kMGDvsncx9VcpcFrqAbWPmE9JXD2W2YW9OSkJ1tAZxZlZwS + A8KcvluV1wGEBuakHL2t3GqFPQEfKW4l8GYTjHh/w9jBve5d8tvMOjGtoyNemZGrVlzBxO9+hwbw + 8UFUCDA00dCjFDUHOnyAbBYsGzoaQyZprDn3iYDvlBz243zAN98PIKDclxlUEmkuF+JhrhCRjT9l + +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 |