gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: Introducing EBICS 3.


From: gnunet
Subject: [libeufin] branch master updated: Introducing EBICS 3.
Date: Fri, 23 Jun 2023 14:27:01 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new e0512009 Introducing EBICS 3.
e0512009 is described below

commit e0512009c7e66e9882a1d5a741c1183b8ebc21dc
Author: MS <ms@taler.net>
AuthorDate: Fri Jun 23 14:25:35 2023 +0200

    Introducing EBICS 3.
    
    Getting the <ebicsRequest> document to validate and
    the switch between 2.5 and 3.0 based on the connection
    dialect.
---
 .../tech/libeufin/nexus/ebics/EbicsClient.kt       |   42 +-
 .../kotlin/tech/libeufin/nexus/ebics/EbicsNexus.kt |  257 ++-
 nexus/src/test/kotlin/EbicsTest.kt                 |   37 +
 nexus/src/test/kotlin/PostFinance.kt               |    1 -
 util/src/main/kotlin/Ebics.kt                      |  154 +-
 util/src/main/kotlin/XMLUtil.kt                    |   17 +-
 util/src/main/kotlin/ebics_h004/EbicsRequest.kt    |    2 -
 .../Ebics3Request.kt}                              |  161 +-
 util/src/main/kotlin/ebics_h005/Ebics3Types.kt     |  402 ++++
 util/src/main/kotlin/ebics_h005/package-info.java  |   12 +
 util/src/main/resources/xsd/ebics_H005.xsd         |   11 +
 .../resources/xsd/ebics_keymgmt_request_H005.xsd   |  523 +++++
 .../resources/xsd/ebics_keymgmt_response_H005.xsd  |  137 ++
 util/src/main/resources/xsd/ebics_orders_H005.xsd  | 2094 ++++++++++++++++++++
 util/src/main/resources/xsd/ebics_request_H005.xsd |  349 ++++
 .../src/main/resources/xsd/ebics_response_H005.xsd |  167 ++
 util/src/main/resources/xsd/ebics_types_H005.xsd   | 1885 ++++++++++++++++++
 17 files changed, 6023 insertions(+), 228 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
index 0d3aa67b..8bd1db6c 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
@@ -31,6 +31,7 @@ import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 import tech.libeufin.nexus.NexusError
 import tech.libeufin.util.*
+import tech.libeufin.util.ebics_h005.Ebics3Request
 import java.util.*
 
 private val logger: Logger = LoggerFactory.getLogger("tech.libeufin.util")
@@ -107,12 +108,16 @@ class EbicsDownloadBankErrorResult(
 suspend fun doEbicsDownloadTransaction(
     client: HttpClient,
     subscriberDetails: EbicsClientSubscriberDetails,
-    orderType: String,
-    orderParams: EbicsOrderParams
+    fetchSpec: EbicsFetchSpec
 ): EbicsDownloadResult {
 
     // Initialization phase
-    val initDownloadRequestStr = 
createEbicsRequestForDownloadInitialization(subscriberDetails, orderType, 
orderParams)
+    val initDownloadRequestStr = createEbicsRequestForDownloadInitialization(
+        subscriberDetails,
+        fetchSpec.orderType,
+        fetchSpec.orderParams,
+        fetchSpec.ebics3Service
+    )
     val payloadChunks = LinkedList<String>()
     val initResponseStr = client.postToBank(subscriberDetails.ebicsUrl, 
initDownloadRequestStr)
     val initResponse = parseAndValidateEbicsResponse(subscriberDetails, 
initResponseStr)
@@ -133,7 +138,7 @@ suspend fun doEbicsDownloadTransaction(
                 HttpStatusCode.UnprocessableEntity,
                 "EBICS-technical error at init phase: " +
                         "${initResponse.technicalReturnCode} 
${initResponse.reportText}," +
-                        " for order type $orderType and transaction ID: 
$transactionID.",
+                        " for fetching level ${fetchSpec.originalLevel} and 
transaction ID: $transactionID.",
                 initResponse.technicalReturnCode
             )
         }
@@ -151,7 +156,7 @@ suspend fun doEbicsDownloadTransaction(
         else -> {
             logger.error(
                 "Bank-technical error at init phase: 
${initResponse.bankReturnCode}" +
-                        ", for order type $orderType and transaction ID 
$transactionID."
+                        ", for fetching level ${fetchSpec.originalLevel} and 
transaction ID $transactionID."
             )
             return EbicsDownloadBankErrorResult(initResponse.bankReturnCode)
         }
@@ -162,14 +167,14 @@ suspend fun doEbicsDownloadTransaction(
         ?: throw NexusError(
             HttpStatusCode.BadGateway,
             "Initial response did not contain encryption info.  " +
-                    "Order type $orderType, transaction ID $transactionID"
+                    "Fetching level ${fetchSpec.originalLevel} , transaction 
ID $transactionID"
         )
 
     val initOrderDataEncChunk = initResponse.orderDataEncChunk
         ?: throw NexusError(
             HttpStatusCode.BadGateway,
             "Initial response for download transaction does not " +
-                    "contain data transfer.  Order type $orderType, " +
+                    "contain data transfer.  Fetching level 
${fetchSpec.originalLevel}, " +
                     "transaction ID $transactionID."
         )
     payloadChunks.add(initOrderDataEncChunk)
@@ -178,7 +183,7 @@ suspend fun doEbicsDownloadTransaction(
         ?: throw NexusError(
             HttpStatusCode.FailedDependency,
             "Missing segment number in EBICS download init response." +
-                    "  Order type $orderType, transaction ID $transactionID"
+                    "  Fetching level ${fetchSpec.originalLevel}, transaction 
ID $transactionID"
         )
     // Transfer phase
     for (x in 2 .. numSegments) {
@@ -201,7 +206,7 @@ suspend fun doEbicsDownloadTransaction(
                     HttpStatusCode.FailedDependency,
                     "EBICS-technical error at transfer phase: " +
                             "${transferResponse.technicalReturnCode} 
${transferResponse.reportText}." +
-                            "  Order type $orderType, transaction ID 
$transactionID"
+                            "  Fetching level ${fetchSpec.originalLevel}, 
transaction ID $transactionID"
                 )
             }
         }
@@ -212,7 +217,7 @@ suspend fun doEbicsDownloadTransaction(
             else -> {
                 logger.error("Bank-technical error at transfer phase: " +
                         "${transferResponse.bankReturnCode}." +
-                        "  Order type $orderType, transaction ID 
$transactionID")
+                        "  Fetching level ${fetchSpec.originalLevel}, 
transaction ID $transactionID")
                 return 
EbicsDownloadBankErrorResult(transferResponse.bankReturnCode)
             }
         }
@@ -220,7 +225,7 @@ suspend fun doEbicsDownloadTransaction(
             ?: throw NexusError(
                 HttpStatusCode.BadGateway,
                 "transfer response for download transaction " +
-                        "does not contain data transfer.  Order type 
$orderType, transaction ID $transactionID"
+                        "does not contain data transfer.  Fetching level 
${fetchSpec.originalLevel}, transaction ID $transactionID"
             )
         payloadChunks.add(transferOrderDataEncChunk)
         logger.debug("Download transfer phase of ${transactionID}: bank 
acknowledges $x")
@@ -246,7 +251,7 @@ suspend fun doEbicsDownloadTransaction(
                 HttpStatusCode.InternalServerError,
                 "Unexpected EBICS return code" +
                         " at acknowledgement phase: 
${ackResponse.technicalReturnCode.name}." +
-                        "  Order type $orderType, transaction ID 
$transactionID"
+                        "  Fetching level ${fetchSpec.originalLevel}, 
transaction ID $transactionID"
             )
         }
     }
@@ -258,9 +263,10 @@ suspend fun doEbicsDownloadTransaction(
 suspend fun doEbicsUploadTransaction(
     client: HttpClient,
     subscriberDetails: EbicsClientSubscriberDetails,
-    orderType: String,
+    orderType: String? = null,
     payload: ByteArray,
-    orderParams: EbicsOrderParams
+    orderParams: EbicsOrderParams,
+    ebics3OrderService: Ebics3Request.OrderDetails.Service? = null
 ) {
     if (subscriberDetails.bankEncPub == null) {
         throw NexusError(HttpStatusCode.BadRequest,
@@ -268,7 +274,13 @@ suspend fun doEbicsUploadTransaction(
         )
     }
     val preparedUploadData = prepareUploadPayload(subscriberDetails, payload)
-    val req = createEbicsRequestForUploadInitialization(subscriberDetails, 
orderType, orderParams, preparedUploadData)
+    val req = createEbicsRequestForUploadInitialization(
+        subscriberDetails,
+        orderType,
+        orderParams,
+        preparedUploadData,
+        ebics3OrderService = ebics3OrderService
+    )
     logger.debug("EBICS upload message to: ${subscriberDetails.ebicsUrl}")
     val responseStr = client.postToBank(subscriberDetails.ebicsUrl, req)
 
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsNexus.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsNexus.kt
index 138146dc..d1c44e0f 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsNexus.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsNexus.kt
@@ -55,6 +55,7 @@ import tech.libeufin.nexus.server.*
 import tech.libeufin.util.*
 import tech.libeufin.util.ebics_h004.EbicsTypes
 import tech.libeufin.util.ebics_h004.HTDResponseOrderData
+import tech.libeufin.util.ebics_h005.Ebics3Request
 import java.io.ByteArrayOutputStream
 import java.security.interfaces.RSAPrivateCrtKey
 import java.security.interfaces.RSAPublicKey
@@ -67,9 +68,17 @@ import java.util.*
 import javax.crypto.EncryptedPrivateKeyInfo
 
 
-private data class EbicsFetchSpec(
-    val orderType: String,
-    val orderParams: EbicsOrderParams
+/**
+ * This type maps the abstract fetch specifications -- as for example
+ * they were given via the Nexus JSON API -- to the specific EBICS type.
+ */
+data class EbicsFetchSpec(
+    val orderType: String? = null, // unused for 3.0
+    val orderParams: EbicsOrderParams,
+    val ebics3Service: Ebics3Request.OrderDetails.Service? = null, // unused 
for 2.5
+    // Not always available, for example at raw POST 
/download/${ebicsMessageName} calls.
+    // It helps to trace back the original level.
+    val originalLevel: FetchLevel? = null
 )
 
 /**
@@ -128,22 +137,62 @@ private fun validateAndStoreCamt(
     }
 }
 
-/**
- * Fetch EBICS C5x and store it locally, but do not update bank accounts.
- */
-private suspend fun fetchEbicsC5x(
-    historyType: String,
+private fun handleEbicsDownloadResult(
+    bankResponse: EbicsDownloadResult,
+    bankConnectionId: String,
+    fetchLevel: FetchLevel
+) {
+    when (bankResponse) {
+        is EbicsDownloadSuccessResult -> {
+            bankResponse.orderData.unzipWithLambda {
+                // logger.debug("Camt entry (filename (in the Zip archive): 
${it.first}): ${it.second}")
+                validateAndStoreCamt(
+                    bankConnectionId,
+                    it.second,
+                    fetchLevel,
+                    transactionID = bankResponse.transactionID
+                )
+            }
+        }
+        is EbicsDownloadBankErrorResult -> {
+            throw NexusError(
+                HttpStatusCode.BadGateway,
+                bankResponse.returnCode.errorCode
+            )
+        }
+        is EbicsDownloadEmptyResult -> {
+            // no-op
+        }
+    }
+}
+
+// Fetch EBICS transactions according to the specifications
+// (fetchSpec) it finds in the parameters.
+private suspend fun fetchEbicsTransactions(
+    fetchSpec: EbicsFetchSpec,
     client: HttpClient,
     bankConnectionId: String,
-    orderParams: EbicsOrderParams,
-    subscriberDetails: EbicsClientSubscriberDetails
+    subscriberDetails: EbicsClientSubscriberDetails,
 ) {
-    val response = try {
+    /**
+     * In this case Nexus will not be able to associate the future
+     * EBICS response with the fetch level originally requested by
+     * the caller, and therefore refuses to continue the execution.
+     * This condition is however in some cases allowed: for example
+     * along the "POST /download/$ebicsMessageType" call, where the result
+     * is not supposed to be stored in the database and therefore doesn't
+     * need its original level.
+     */
+    if (fetchSpec.originalLevel == null) {
+        throw internalServerError(
+            "Original fetch level missing, won't download from EBICS"
+        )
+    }
+    val response: EbicsDownloadResult = try {
         doEbicsDownloadTransaction(
             client,
             subscriberDetails,
-            historyType,
-            orderParams
+            fetchSpec
         )
     } catch (e: EbicsProtocolError) {
         /**
@@ -158,43 +207,11 @@ private suspend fun fetchEbicsC5x(
         throw e
     }
 
-    when (historyType) {
-        // default dialect
-        "C52" -> {}
-        "C53" -> {}
-        // 'pf' dialect
-        "Z52" -> {}
-        "Z53" -> {}
-        "Z54" -> {}
-        else -> {
-            throw NexusError(
-                HttpStatusCode.BadRequest,
-                "history type '$historyType' not supported"
-            )
-        }
-    }
-    when (response) {
-        is EbicsDownloadSuccessResult -> {
-            response.orderData.unzipWithLambda {
-                // logger.debug("Camt entry (filename (in the Zip archive): 
${it.first}): ${it.second}")
-                validateAndStoreCamt(
-                    bankConnectionId,
-                    it.second,
-                    getFetchLevelFromEbicsOrder(historyType),
-                    transactionID = response.transactionID
-                )
-            }
-        }
-        is EbicsDownloadBankErrorResult -> {
-            throw NexusError(
-                HttpStatusCode.BadGateway,
-                response.returnCode.errorCode
-            )
-        }
-        is EbicsDownloadEmptyResult -> {
-            // no-op
-        }
-    }
+    handleEbicsDownloadResult(
+        response,
+        bankConnectionId,
+        fetchSpec.originalLevel
+    )
 }
 
 /**
@@ -333,7 +350,12 @@ fun Route.ebicsBankConnectionRoutes(client: HttpClient) {
             getEbicsSubscriberDetails(conn.connectionId)
         }
         val response = doEbicsDownloadTransaction(
-            client, subscriberDetails, "HTD", EbicsStandardOrderParams()
+            client,
+            subscriberDetails,
+            EbicsFetchSpec(
+                orderType = "HTD",
+                orderParams = EbicsStandardOrderParams()
+            )
         )
         when (response) {
             is EbicsDownloadEmptyResult -> {
@@ -394,8 +416,12 @@ fun Route.ebicsBankConnectionRoutes(client: HttpClient) {
         val response = doEbicsDownloadTransaction(
             client,
             subscriberDetails,
-            orderType,
-            orderParams
+            EbicsFetchSpec(
+                orderType = orderType,
+                orderParams = orderParams,
+                ebics3Service = null,
+                originalLevel = null
+            )
         )
         when (response) {
             is EbicsDownloadEmptyResult -> {
@@ -465,30 +491,64 @@ fun formatHex(ba: ByteArray): String {
     return out
 }
 
-private fun getSubmissionTypeAfterDialect(dialect: String? = null): String {
+// A null return value indicates that the connection uses EBICS 3.0
+private fun getSubmissionTypeAfterDialect(dialect: String? = null): String? {
     return when (dialect) {
-        "pf" -> "XE2"
+        "pf" -> null // "XE2"
         else -> "CCT"
     }
 }
-private fun getReportTypeAfterDialect(dialect: String? = null): String {
+
+private fun getStatementSpecAfterDialect(dialect: String? = null, p: 
EbicsOrderParams): EbicsFetchSpec {
     return when (dialect) {
-        "pf" -> "Z52"
-        else -> "C52"
+        "pf" -> EbicsFetchSpec(
+            orderType = "Z53",
+            orderParams = p,
+            ebics3Service = null,
+            originalLevel = FetchLevel.STATEMENT
+        )
+        else -> EbicsFetchSpec(
+            orderType = "C53",
+            orderParams = p,
+            ebics3Service = null,
+            originalLevel = FetchLevel.STATEMENT
+        )
     }
 }
-private fun getStatementTypeAfterDialect(dialect: String? = null): String {
+
+private fun getNotificationSpecAfterDialect(dialect: String? = null, p: 
EbicsOrderParams): EbicsFetchSpec {
     return when (dialect) {
-        "pf" -> "Z53"
-        else -> "C53"
+        "pf" -> EbicsFetchSpec(
+            orderType = null, // triggers 3.0
+            orderParams = p,
+            ebics3Service = Ebics3Request.OrderDetails.Service().apply {
+                serviceName = "REP"
+                messageName = "camt.054"
+                scope = "CH"
+            },
+            originalLevel = FetchLevel.NOTIFICATION
+        )
+        else -> EbicsFetchSpec(
+            orderType = "C54",
+            orderParams = p,
+            ebics3Service = null,
+            originalLevel = FetchLevel.NOTIFICATION
+        )
     }
 }
-
-private fun getNotificationTypeAfterDialect(dialect: String? = null): String {
+private fun getReportSpecAfterDialect(dialect: String? = null, p: 
EbicsOrderParams): EbicsFetchSpec {
     return when (dialect) {
-        "pf" -> "Z54"
-        else -> throw NotImplementedError(
-            "Notifications not implemented in the 'default' EBICS dialect"
+        "pf" -> EbicsFetchSpec(
+            orderType = "Z52",
+            orderParams = p,
+            ebics3Service = null,
+            originalLevel = FetchLevel.REPORT
+        )
+        else -> EbicsFetchSpec(
+            orderType = "C52",
+            orderParams = p,
+            ebics3Service = null,
+            originalLevel = FetchLevel.REPORT
         )
     }
 }
@@ -522,7 +582,8 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol {
             is FetchSpecLatestJson -> {
                 EbicsFetchSpec(
                     orderType = "Z01", // PoFi specific.
-                    orderParams = EbicsStandardOrderParams()
+                    orderParams = EbicsStandardOrderParams(),
+                    originalLevel = fetchSpec.level
                 )
             }
             else -> throw NotImplementedError("Fetch spec 
'${fetchSpec::class}' not supported for payment receipts.")
@@ -532,8 +593,10 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol {
             doEbicsDownloadTransaction(
                 client,
                 subscriberDetails,
-                ebicsOrderInfo.orderType,
-                ebicsOrderInfo.orderParams
+                EbicsFetchSpec(
+                    orderType = ebicsOrderInfo.orderType,
+                    orderParams = ebicsOrderInfo.orderParams
+                )
             )
         } catch (e: EbicsProtocolError) {
             if (e.ebicsTechnicalCode == 
EbicsReturnCode.EBICS_NO_DOWNLOAD_DATA_AVAILABLE) {
@@ -579,17 +642,17 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol 
{
         fun addForLevel(l: FetchLevel, p: EbicsOrderParams) {
             when (l) {
                 FetchLevel.ALL -> {
-                    
specs.add(EbicsFetchSpec(getReportTypeAfterDialect(subscriberDetails.dialect), 
p))
-                    
specs.add(EbicsFetchSpec(getStatementTypeAfterDialect(subscriberDetails.dialect),
 p))
+                    
specs.add(getReportSpecAfterDialect(subscriberDetails.dialect, p))
+                    
specs.add(getStatementSpecAfterDialect(subscriberDetails.dialect, p))
                 }
                 FetchLevel.REPORT -> {
-                    
specs.add(EbicsFetchSpec(getReportTypeAfterDialect(subscriberDetails.dialect), 
p))
+                    
specs.add(getReportSpecAfterDialect(subscriberDetails.dialect, p))
                 }
                 FetchLevel.STATEMENT -> {
-                    
specs.add(EbicsFetchSpec(getStatementTypeAfterDialect(subscriberDetails.dialect),
 p))
+                    
specs.add(getStatementSpecAfterDialect(subscriberDetails.dialect, p))
                 }
                 FetchLevel.NOTIFICATION -> {
-                    
specs.add(EbicsFetchSpec(getNotificationTypeAfterDialect(subscriberDetails.dialect),
 p))
+                    
specs.add(getNotificationSpecAfterDialect(subscriberDetails.dialect, p))
                 }
                 else -> {
                     logger.error("fetch level wrong in addForLevel() helper: 
${fetchSpec.level}.")
@@ -646,32 +709,17 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol 
{
                 )
                 when (fetchSpec.level) {
                     FetchLevel.ALL -> {
-                        specs.add(EbicsFetchSpec(
-                            orderType = getReportTypeAfterDialect(dialect = 
subscriberDetails.dialect),
-                            orderParams = pRep
-                        ))
-                        specs.add(EbicsFetchSpec(
-                            orderType = getStatementTypeAfterDialect(dialect = 
subscriberDetails.dialect),
-                            orderParams = pStmt
-                        ))
+                        
specs.add(getReportSpecAfterDialect(subscriberDetails.dialect, pRep))
+                        
specs.add(getStatementSpecAfterDialect(subscriberDetails.dialect, pRep))
                     }
                     FetchLevel.REPORT -> {
-                        specs.add(EbicsFetchSpec(
-                            orderType = getReportTypeAfterDialect(dialect = 
subscriberDetails.dialect),
-                            orderParams = pRep
-                        ))
+                        
specs.add(getReportSpecAfterDialect(subscriberDetails.dialect, pRep))
                     }
                     FetchLevel.STATEMENT -> {
-                        specs.add(EbicsFetchSpec(
-                            orderType = getStatementTypeAfterDialect(dialect = 
subscriberDetails.dialect),
-                            orderParams = pStmt
-                        ))
+                        
specs.add(getStatementSpecAfterDialect(subscriberDetails.dialect, pStmt))
                     }
                     FetchLevel.NOTIFICATION -> {
-                        specs.add(EbicsFetchSpec(
-                            orderType = 
getNotificationTypeAfterDialect(dialect = subscriberDetails.dialect),
-                            orderParams = pNtfn
-                        ))
+                        
specs.add(getNotificationSpecAfterDialect(subscriberDetails.dialect, pNtfn))
                     }
                     else -> throw badRequest("Fetch level ${fetchSpec.level} " 
+
                             "not supported in the 'since last' EBICS time 
range.")
@@ -682,11 +730,10 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol 
{
         val errors = mutableListOf<Exception>()
         for (spec in specs) {
             try {
-                fetchEbicsC5x(
-                    spec.orderType,
+                fetchEbicsTransactions(
+                    spec,
                     client,
                     bankConnectionId,
-                    spec.orderParams,
                     subscriberDetails
                 )
             } catch (e: Exception) {
@@ -741,7 +788,14 @@ class EbicsBankConnectionProtocol: BankConnectionProtocol {
             dbData.subscriberDetails,
             getSubmissionTypeAfterDialect(dbData.subscriberDetails.dialect),
             dbData.painXml.toByteArray(Charsets.UTF_8),
-            EbicsStandardOrderParams()
+            EbicsStandardOrderParams(),
+            ebics3OrderService = if (dbData.subscriberDetails.dialect == "pf") 
{
+                Ebics3Request.OrderDetails.Service().apply {
+                    serviceName = "MCT"
+                    scope = "CH"
+                    messageName = "pain.001"
+                }
+            } else null
         )
         transaction {
             val payment = getPaymentInitiation(paymentInitiationId)
@@ -1025,7 +1079,12 @@ class EbicsBankConnectionProtocol: 
BankConnectionProtocol {
     override suspend fun fetchAccounts(client: HttpClient, connId: String) {
         val subscriberDetails = transaction { 
getEbicsSubscriberDetails(connId) }
         val response = doEbicsDownloadTransaction(
-            client, subscriberDetails, "HTD", EbicsStandardOrderParams()
+            client,
+            subscriberDetails,
+            EbicsFetchSpec(
+                orderType = "HTD",
+                orderParams = EbicsStandardOrderParams()
+            )
         )
         when (response) {
             is EbicsDownloadEmptyResult -> {
diff --git a/nexus/src/test/kotlin/EbicsTest.kt 
b/nexus/src/test/kotlin/EbicsTest.kt
index fc43a149..7fe09f38 100644
--- a/nexus/src/test/kotlin/EbicsTest.kt
+++ b/nexus/src/test/kotlin/EbicsTest.kt
@@ -26,6 +26,7 @@ import tech.libeufin.util.*
 import tech.libeufin.util.ebics_h004.EbicsRequest
 import tech.libeufin.util.ebics_h004.EbicsResponse
 import tech.libeufin.util.ebics_h004.EbicsTypes
+import tech.libeufin.util.ebics_h005.Ebics3Request
 
 /**
  * These test cases run EBICS CCT and C52, mixing ordinary operations
@@ -317,4 +318,40 @@ class DownloadAndSubmit {
             }
         }
     }
+}
+
+class EbicsTest {
+
+    /**
+     * Tests the validity of EBICS 3.0 messages.
+     */
+    @Test
+    fun genEbics3() {
+        withTestDatabase {
+            prepNexusDb()
+            val foo = transaction { getEbicsSubscriberDetails("foo") }
+            val downloadDoc = createEbicsRequestForDownloadInitialization(
+                foo,
+                orderType = null, // triggers 3.0
+                EbicsStandardOrderParams(),
+                Ebics3Request.OrderDetails.Service().apply {
+                    messageName = "camt.054"
+                    scope = "CH"
+                    serviceName = "REP"
+                }
+            )
+            assert(XMLUtil.validateFromString(downloadDoc))
+            val uploadDoc = createEbicsRequestForDownloadInitialization(
+                foo,
+                orderType = null, // triggers 3.0
+                EbicsStandardOrderParams(),
+                Ebics3Request.OrderDetails.Service().apply {
+                    messageName = "pain.001"
+                    scope = "EU"
+                    serviceName = "MCT"
+                }
+            )
+            assert(XMLUtil.validateFromString(uploadDoc))
+        }
+    }
 }
\ No newline at end of file
diff --git a/nexus/src/test/kotlin/PostFinance.kt 
b/nexus/src/test/kotlin/PostFinance.kt
index b839f451..fd798dc1 100644
--- a/nexus/src/test/kotlin/PostFinance.kt
+++ b/nexus/src/test/kotlin/PostFinance.kt
@@ -5,7 +5,6 @@ import org.jetbrains.exposed.sql.transactions.transaction
 import tech.libeufin.nexus.bankaccount.addPaymentInitiation
 import tech.libeufin.nexus.bankaccount.fetchBankAccountTransactions
 import tech.libeufin.nexus.bankaccount.getBankAccount
-import tech.libeufin.nexus.ebics.EbicsBankConnectionProtocol
 import tech.libeufin.nexus.ebics.doEbicsUploadTransaction
 import tech.libeufin.nexus.ebics.getEbicsSubscriberDetails
 import tech.libeufin.nexus.getConnectionPlugin
diff --git a/util/src/main/kotlin/Ebics.kt b/util/src/main/kotlin/Ebics.kt
index da814d5d..ae5e5cda 100644
--- a/util/src/main/kotlin/Ebics.kt
+++ b/util/src/main/kotlin/Ebics.kt
@@ -28,6 +28,8 @@ import io.ktor.http.HttpStatusCode
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 import tech.libeufin.util.ebics_h004.*
+import tech.libeufin.util.ebics_h005.Ebics3Request
+import tech.libeufin.util.ebics_h005.Ebics3Types
 import tech.libeufin.util.ebics_hev.HEVRequest
 import tech.libeufin.util.ebics_hev.HEVResponse
 import tech.libeufin.util.ebics_s001.UserSignatureData
@@ -133,6 +135,14 @@ private fun makeOrderParams(orderParams: 
EbicsOrderParams): EbicsRequest.OrderPa
     }
 }
 
+fun makeEbics3DateRange(ebicsDateRange: EbicsDateRange?): 
Ebics3Request.DateRange? {
+    return if (ebicsDateRange != null)
+        return Ebics3Request.DateRange().apply {
+            this.start = getXmlDate(ebicsDateRange.start)
+            this.end = getXmlDate(ebicsDateRange.end)
+        }
+    else null
+}
 
 private fun signOrder(
     orderBlob: ByteArray,
@@ -231,25 +241,49 @@ fun prepareUploadPayload(subscriberDetails: 
EbicsClientSubscriberDetails, payloa
  */
 fun createEbicsRequestForUploadInitialization(
     subscriberDetails: EbicsClientSubscriberDetails,
-    orderType: String,
+    orderType: String? = null,
     orderParams: EbicsOrderParams,
-    preparedUploadData: PreparedUploadData
+    preparedUploadData: PreparedUploadData,
+    ebics3OrderService: Ebics3Request.OrderDetails.Service? = null
 ): String {
+    // Check if the call is consistent: (only) ONE instruction is expected.
+    if (orderType == null && ebics3OrderService == null)
+        throw internalServerError("Need exactly one upload instruction but 
zero was found.")
+    if (orderType != null && ebics3OrderService != null)
+        throw internalServerError("Need exactly one upload instruction but two 
were found")
     val nonce = getNonce(128)
-    val req = EbicsRequest.createForUploadInitializationPhase(
-        preparedUploadData.transactionKey,
-        preparedUploadData.userSignatureDataEncrypted,
-        subscriberDetails.hostId,
-        nonce,
-        subscriberDetails.partnerId,
-        subscriberDetails.userId,
-        
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
-        subscriberDetails.bankAuthPub!!,
-        subscriberDetails.bankEncPub!!,
-        BigInteger.ONE,
-        orderType,
-        makeOrderParams(orderParams)
-    )
+    val doc = if (orderType != null) {
+        val req = EbicsRequest.createForUploadInitializationPhase(
+            preparedUploadData.transactionKey,
+            preparedUploadData.userSignatureDataEncrypted,
+            subscriberDetails.hostId,
+            nonce,
+            subscriberDetails.partnerId,
+            subscriberDetails.userId,
+            
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
+            subscriberDetails.bankAuthPub!!,
+            subscriberDetails.bankEncPub!!,
+            BigInteger.ONE,
+            orderType,
+            makeOrderParams(orderParams)
+        )
+        XMLUtil.convertJaxbToDocument(req)
+    } else {
+        val req = Ebics3Request.createForUploadInitializationPhase(
+            preparedUploadData.transactionKey,
+            preparedUploadData.userSignatureDataEncrypted,
+            subscriberDetails.hostId,
+            nonce,
+            subscriberDetails.partnerId,
+            subscriberDetails.userId,
+            
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
+            subscriberDetails.bankAuthPub!!,
+            subscriberDetails.bankEncPub!!,
+            BigInteger.ONE,
+            ebics3OrderService!!
+        )
+        XMLUtil.convertJaxbToDocument(req)
+    }
     /**
      * FIXME: this log should be made by the caller.
      * That way, all the EBICS transaction steps would be logged in only one 
function,
@@ -259,45 +293,73 @@ fun createEbicsRequestForUploadInitialization(
      */
     logger.debug("Created EBICS $orderType document for upload 
initialization," +
             " nonce: ${nonce.toHexString()}")
-    val doc = XMLUtil.convertJaxbToDocument(req)
-    XMLUtil.signEbicsDocument(doc, subscriberDetails.customerAuthPriv)
+    XMLUtil.signEbicsDocument(
+        doc,
+        subscriberDetails.customerAuthPriv,
+        withEbics3 = ebics3OrderService != null
+    )
     return XMLUtil.convertDomToString(doc)
 }
 
 fun createEbicsRequestForDownloadInitialization(
     subscriberDetails: EbicsClientSubscriberDetails,
-    orderType: String,
-    orderParams: EbicsOrderParams
+    orderType: String? = null,
+    orderParams: EbicsOrderParams,
+    ebics3OrderService: Ebics3Request.OrderDetails.Service? = null
 ): String {
+    // Check if the call is consistent: (only) ONE instruction is expected.
+    if (orderType == null && ebics3OrderService == null)
+        throw internalServerError("Need exactly one download instruction but 
zero was found.")
+    if (orderType != null && ebics3OrderService != null)
+        throw internalServerError("Need exactly one download instruction but 
two were found")
     val nonce = getNonce(128)
-    val req = EbicsRequest.createForDownloadInitializationPhase(
-        subscriberDetails.userId,
-        subscriberDetails.partnerId,
-        subscriberDetails.hostId,
-        nonce,
-        
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
-        subscriberDetails.bankEncPub ?: throw EbicsProtocolError(
-            HttpStatusCode.BadRequest,
-            "Invalid subscriber state 'bankEncPub' missing, please send HPB 
first"
-        ),
-        subscriberDetails.bankAuthPub ?: throw EbicsProtocolError(
-            HttpStatusCode.BadRequest,
-            "Invalid subscriber state 'bankAuthPub' missing, please send HPB 
first"
-        ),
-        orderType,
-        makeOrderParams(orderParams)
-    )
-    /**
-     * FIXME: this log should be made by the caller.
-     * That way, all the EBICS transaction steps would be logged in only one 
function,
-     * as opposed to have them spread through the helpers here.  This function
-     * returning a string blocks now, since the caller should parse and 
stringify
-     * again the message, only to get its nonce.
-     */
+
+    val doc = if (orderType != null) {
+        val req = EbicsRequest.createForDownloadInitializationPhase(
+            subscriberDetails.userId,
+            subscriberDetails.partnerId,
+            subscriberDetails.hostId,
+            nonce,
+            
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
+            subscriberDetails.bankEncPub ?: throw EbicsProtocolError(
+                HttpStatusCode.BadRequest,
+                "Invalid subscriber state 'bankEncPub' missing, please send 
HPB first"
+            ),
+            subscriberDetails.bankAuthPub ?: throw EbicsProtocolError(
+                HttpStatusCode.BadRequest,
+                "Invalid subscriber state 'bankAuthPub' missing, please send 
HPB first"
+            ),
+            orderType,
+            makeOrderParams(orderParams)
+        )
+        XMLUtil.convertJaxbToDocument(req)
+    } else {
+        val req = Ebics3Request.createForDownloadInitializationPhase(
+            subscriberDetails.userId,
+            subscriberDetails.partnerId,
+            subscriberDetails.hostId,
+            nonce,
+            
DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar()),
+            subscriberDetails.bankEncPub ?: throw EbicsProtocolError(
+                HttpStatusCode.BadRequest,
+                "Invalid subscriber state 'bankEncPub' missing, please send 
HPB first"
+            ),
+            subscriberDetails.bankAuthPub ?: throw EbicsProtocolError(
+                HttpStatusCode.BadRequest,
+                "Invalid subscriber state 'bankAuthPub' missing, please send 
HPB first"
+            ),
+            ebics3OrderService!!
+        )
+        XMLUtil.convertJaxbToDocument(req)
+    }
+
     logger.debug("Created EBICS $orderType document for download 
initialization," +
             " nonce: ${nonce.toHexString()}")
-    val doc = XMLUtil.convertJaxbToDocument(req)
-    XMLUtil.signEbicsDocument(doc, subscriberDetails.customerAuthPriv)
+    XMLUtil.signEbicsDocument(
+        doc,
+        subscriberDetails.customerAuthPriv,
+        withEbics3 = ebics3OrderService != null
+    )
     return XMLUtil.convertDomToString(doc)
 }
 
diff --git a/util/src/main/kotlin/XMLUtil.kt b/util/src/main/kotlin/XMLUtil.kt
index 59772430..6d923ae6 100644
--- a/util/src/main/kotlin/XMLUtil.kt
+++ b/util/src/main/kotlin/XMLUtil.kt
@@ -227,6 +227,7 @@ class XMLUtil private constructor() {
             }
             val schemaInputs: Array<Source> = listOf(
                 "xsd/ebics_H004.xsd",
+                "xsd/ebics_H005.xsd",
                 "xsd/ebics_hev.xsd",
                 "xsd/camt.052.001.02.xsd",
                 "xsd/camt.053.001.02.xsd",
@@ -404,12 +405,16 @@ class XMLUtil private constructor() {
         /**
          * Sign an EBICS document with the authentication and identity 
signature.
          */
-        fun signEbicsDocument(doc: Document, signingPriv: PrivateKey): Unit {
+        fun signEbicsDocument(
+            doc: Document,
+            signingPriv: PrivateKey,
+            withEbics3: Boolean = false
+        ): Unit {
             val xpath = XPathFactory.newInstance().newXPath()
             xpath.namespaceContext = object : NamespaceContext {
                 override fun getNamespaceURI(p0: String?): String {
                     return when (p0) {
-                        "ebics" -> "urn:org:ebics:H004"
+                        "ebics" -> if (withEbics3) "urn:org:ebics:H005" else 
"urn:org:ebics:H004"
                         else -> throw IllegalArgumentException()
                     }
                 }
@@ -452,12 +457,16 @@ class XMLUtil private constructor() {
             authSigNode.removeChild(innerSig)
         }
 
-        fun verifyEbicsDocument(doc: Document, signingPub: PublicKey): Boolean 
{
+        fun verifyEbicsDocument(
+            doc: Document,
+            signingPub: PublicKey,
+            withEbics3: Boolean = false
+        ): Boolean {
             val xpath = XPathFactory.newInstance().newXPath()
             xpath.namespaceContext = object : NamespaceContext {
                 override fun getNamespaceURI(p0: String?): String {
                     return when (p0) {
-                        "ebics" -> "urn:org:ebics:H004"
+                        "ebics" -> if (withEbics3) "urn:org:ebics:H005" else 
"urn:org:ebics:H004"
                         else -> throw IllegalArgumentException()
                     }
                 }
diff --git a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt 
b/util/src/main/kotlin/ebics_h004/EbicsRequest.kt
index 7041f5f2..2b7dc72e 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt
+++ b/util/src/main/kotlin/ebics_h004/EbicsRequest.kt
@@ -5,7 +5,6 @@ import tech.libeufin.util.CryptoUtil
 import java.math.BigInteger
 import java.security.interfaces.RSAPublicKey
 import java.util.*
-import javax.swing.text.Segment
 import javax.xml.bind.annotation.*
 import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
 import javax.xml.bind.annotation.adapters.HexBinaryAdapter
@@ -315,7 +314,6 @@ class EbicsRequest {
                     }
                 }
             }
-
         }
 
         fun createForDownloadInitializationPhase(
diff --git a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt 
b/util/src/main/kotlin/ebics_h005/Ebics3Request.kt
similarity index 74%
copy from util/src/main/kotlin/ebics_h004/EbicsRequest.kt
copy to util/src/main/kotlin/ebics_h005/Ebics3Request.kt
index 7041f5f2..b9bcf2ab 100644
--- a/util/src/main/kotlin/ebics_h004/EbicsRequest.kt
+++ b/util/src/main/kotlin/ebics_h005/Ebics3Request.kt
@@ -1,11 +1,13 @@
-package tech.libeufin.util.ebics_h004
+package tech.libeufin.util.ebics_h005
 
 import org.apache.xml.security.binding.xmldsig.SignatureType
 import tech.libeufin.util.CryptoUtil
+import tech.libeufin.util.EbicsStandardOrderParams
+import tech.libeufin.util.EbicsOrderParams
+import tech.libeufin.util.makeEbics3DateRange
 import java.math.BigInteger
 import java.security.interfaces.RSAPublicKey
 import java.util.*
-import javax.swing.text.Segment
 import javax.xml.bind.annotation.*
 import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
 import javax.xml.bind.annotation.adapters.HexBinaryAdapter
@@ -15,7 +17,7 @@ import javax.xml.datatype.XMLGregorianCalendar
 @XmlAccessorType(XmlAccessType.NONE)
 @XmlType(name = "", propOrder = ["header", "authSignature", "body"])
 @XmlRootElement(name = "ebicsRequest")
-class EbicsRequest {
+class Ebics3Request {
     @get:XmlAttribute(name = "Version", required = true)
     @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
     lateinit var version: String
@@ -99,7 +101,7 @@ class EbicsRequest {
          * Present only in the initialization phase.
          */
         @get:XmlElement(name = "Product")
-        var product: EbicsTypes.Product? = null
+        var product: Ebics3Types.Product? = null
 
         /**
          * Present only in the initialization phase.
@@ -139,52 +141,81 @@ class EbicsRequest {
     class MutableHeader {
         @get:XmlElement(name = "TransactionPhase", required = true)
         @get:XmlSchemaType(name = "token")
-        lateinit var transactionPhase: EbicsTypes.TransactionPhaseType
+        lateinit var transactionPhase: Ebics3Types.TransactionPhaseType
 
         /**
          * Number of the currently transmitted segment, if this message
          * contains order data.
          */
         @get:XmlElement(name = "SegmentNumber")
-        var segmentNumber: EbicsTypes.SegmentNumber? = null
+        var segmentNumber: Ebics3Types.SegmentNumber? = null
 
     }
 
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(
         name = "",
-        propOrder = ["orderType", "orderID", "orderAttribute", "orderParams"]
+        propOrder = ["adminOrderType", "btdOrderParams", "btuOrderParams", 
"orderID", "orderParams"]
     )
     class OrderDetails {
-        @get:XmlElement(name = "OrderType", required = true)
+        @get:XmlElement(name = "AdminOrderType", required = true)
         @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
-        lateinit var orderType: String
+        lateinit var adminOrderType: String
+
+        @XmlAccessorType(XmlAccessType.NONE)
+        @XmlType(propOrder = ["serviceName", "scope", "messageName"])
+
+        class Service {
+            @get:XmlElement(name = "ServiceName", required = true)
+            @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+            lateinit var serviceName: String
+
+            @get:XmlElement(name = "Scope", required = true)
+            @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+            lateinit var scope: String
+
+            @get:XmlElement(name = "MsgName", required = true)
+            @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+            lateinit var messageName: String
+        }
+
+        @XmlAccessorType(XmlAccessType.NONE)
+        class BTOrderParams {
+            @get:XmlElement(name = "Service", required = true)
+            lateinit var service: Service
+
+            @get:XmlElement(name = "DateRange", required = true)
+            var dateRange: DateRange? = null
+        }
+
+        @get:XmlElement(name = "BTUOrderParams", required = true)
+        var btuOrderParams: BTOrderParams? = null
+
+        @get:XmlElement(name = "BTDOrderParams", required = true)
+        var btdOrderParams: BTOrderParams? = null
 
         /**
-         * Only present if this ebicsRequest is a upload order
+         * Only present if this ebicsRequest is an upload order
          * relating to an already existing order.
          */
         @get:XmlElement(name = "OrderID", required = true)
         @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
         var orderID: String? = null
 
-        @get:XmlElement(name = "OrderAttribute", required = true)
-        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
-        lateinit var orderAttribute: String
-
         /**
          * Present only in the initialization phase.
          */
         @get:XmlElements(
             XmlElement(
                 name = "StandardOrderParams",
-                type = StandardOrderParams::class
+                type = StandardOrderParams::class // OrderParams inheritor
             ),
             XmlElement(
                 name = "GenericOrderParams",
-                type = GenericOrderParams::class
+                type = GenericOrderParams::class // OrderParams inheritor
             )
         )
+        // Same as the 2.5 version.
         var orderParams: OrderParams? = null
     }
 
@@ -225,7 +256,7 @@ class EbicsRequest {
     class DataTransfer {
 
         @get:XmlElement(name = "DataEncryptionInfo")
-        var dataEncryptionInfo: EbicsTypes.DataEncryptionInfo? = null
+        var dataEncryptionInfo: Ebics3Types.DataEncryptionInfo? = null
 
         @get:XmlElement(name = "SignatureData")
         var signatureData: SignatureData? = null
@@ -248,7 +279,7 @@ class EbicsRequest {
     }
 
     @XmlAccessorType(XmlAccessType.NONE)
-    abstract class OrderParams
+    abstract class  OrderParams
 
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(name = "", propOrder = ["dateRange"])
@@ -260,8 +291,8 @@ class EbicsRequest {
     @XmlAccessorType(XmlAccessType.NONE)
     @XmlType(name = "", propOrder = ["parameterList"])
     class GenericOrderParams : OrderParams() {
-        @get:XmlElement(type = EbicsTypes.Parameter::class)
-        var parameterList: List<EbicsTypes.Parameter> = LinkedList()
+        @get:XmlElement(type = Ebics3Types.Parameter::class)
+        var parameterList: List<Ebics3Types.Parameter> = LinkedList()
     }
 
     @XmlAccessorType(XmlAccessType.NONE)
@@ -280,10 +311,10 @@ class EbicsRequest {
     @XmlType(name = "", propOrder = ["authentication", "encryption"])
     class BankPubKeyDigests {
         @get:XmlElement(name = "Authentication")
-        lateinit var authentication: EbicsTypes.PubKeyDigest
+        lateinit var authentication: Ebics3Types.PubKeyDigest
 
         @get:XmlElement(name = "Encryption")
-        lateinit var encryption: EbicsTypes.PubKeyDigest
+        lateinit var encryption: Ebics3Types.PubKeyDigest
     }
 
     companion object {
@@ -292,10 +323,10 @@ class EbicsRequest {
             transactionId: String?,
             hostId: String
 
-        ): EbicsRequest {
-            return EbicsRequest().apply {
+        ): Ebics3Request {
+            return Ebics3Request().apply {
                 header = Header().apply {
-                    version = "H004"
+                    version = "H005"
                     revision = 1
                     authenticate = true
                     static = StaticHeaderType().apply {
@@ -303,7 +334,7 @@ class EbicsRequest {
                         transactionID = transactionId
                     }
                     mutable = MutableHeader().apply {
-                        transactionPhase = 
EbicsTypes.TransactionPhaseType.RECEIPT
+                        transactionPhase = 
Ebics3Types.TransactionPhaseType.RECEIPT
                     }
                 }
                 authSignature = SignatureType()
@@ -315,7 +346,6 @@ class EbicsRequest {
                     }
                 }
             }
-
         }
 
         fun createForDownloadInitializationPhase(
@@ -326,11 +356,11 @@ class EbicsRequest {
             date: XMLGregorianCalendar,
             bankEncPub: RSAPublicKey,
             bankAuthPub: RSAPublicKey,
-            myOrderType: String,
-            myOrderParams: OrderParams
-        ): EbicsRequest {
-            return EbicsRequest().apply {
-                version = "H004"
+            myOrderService: OrderDetails.Service,
+            myOrderParams: EbicsOrderParams? = null
+        ): Ebics3Request {
+            return Ebics3Request().apply {
+                version = "H005"
                 revision = 1
                 authSignature = SignatureType()
                 body = Body()
@@ -344,17 +374,25 @@ class EbicsRequest {
                         timestamp = date
                         partnerID = partnerId
                         orderDetails = OrderDetails().apply {
-                            orderType = myOrderType
-                            orderAttribute = "DZHNN"
-                            orderParams = myOrderParams
+                            this.adminOrderType = "BTD"
+                            this.btdOrderParams = 
OrderDetails.BTOrderParams().apply {
+                                service = myOrderService
+                                // Order params only used for date ranges so 
far.
+                                when (myOrderParams) {
+                                    is EbicsStandardOrderParams -> {
+                                        this.dateRange = 
makeEbics3DateRange(myOrderParams.dateRange)
+                                    }
+                                    else -> {}
+                                }
+                            }
                         }
                         bankPubKeyDigests = BankPubKeyDigests().apply {
-                            authentication = EbicsTypes.PubKeyDigest().apply {
+                            authentication = Ebics3Types.PubKeyDigest().apply {
                                 algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
                                 version = "X002"
                                 value = 
CryptoUtil.getEbicsPublicKeyHash(bankAuthPub)
                             }
-                            encryption = EbicsTypes.PubKeyDigest().apply {
+                            encryption = Ebics3Types.PubKeyDigest().apply {
                                 algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
                                 version = "E002"
                                 value = 
CryptoUtil.getEbicsPublicKeyHash(bankEncPub)
@@ -364,7 +402,7 @@ class EbicsRequest {
                     }
                     mutable = MutableHeader().apply {
                         transactionPhase =
-                            EbicsTypes.TransactionPhaseType.INITIALISATION
+                            Ebics3Types.TransactionPhaseType.INITIALISATION
                     }
                 }
             }
@@ -381,13 +419,13 @@ class EbicsRequest {
             bankAuthPub: RSAPublicKey,
             bankEncPub: RSAPublicKey,
             segmentsNumber: BigInteger,
-            aOrderType: String,
-            aOrderParams: OrderParams
-        ): EbicsRequest {
+            aOrderService: OrderDetails.Service,
+            // aOrderParams: OrderParamsEbics? = null
+        ): Ebics3Request {
 
-            return EbicsRequest().apply {
+            return Ebics3Request().apply {
                 header = Header().apply {
-                    version = "H004"
+                    version = "H005"
                     revision = 1
                     authenticate = true
                     static = StaticHeaderType().apply {
@@ -397,17 +435,18 @@ class EbicsRequest {
                         partnerID = partnerId
                         userID = userId
                         orderDetails = OrderDetails().apply {
-                            orderType = aOrderType
-                            orderAttribute = "OZHNN"
-                            orderParams = aOrderParams
+                            this.adminOrderType = "BTU"
+                            this.btdOrderParams = 
OrderDetails.BTOrderParams().apply {
+                                service = aOrderService
+                            }
                         }
                         bankPubKeyDigests = BankPubKeyDigests().apply {
-                            authentication = EbicsTypes.PubKeyDigest().apply {
+                            authentication = Ebics3Types.PubKeyDigest().apply {
                                 algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
                                 version = "X002"
                                 value = 
CryptoUtil.getEbicsPublicKeyHash(bankAuthPub)
                             }
-                            encryption = EbicsTypes.PubKeyDigest().apply {
+                            encryption = Ebics3Types.PubKeyDigest().apply {
                                 algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
                                 version = "E002"
                                 value = 
CryptoUtil.getEbicsPublicKeyHash(bankEncPub)
@@ -418,7 +457,7 @@ class EbicsRequest {
                     }
                     mutable = MutableHeader().apply {
                         transactionPhase =
-                            EbicsTypes.TransactionPhaseType.INITIALISATION
+                            Ebics3Types.TransactionPhaseType.INITIALISATION
                     }
                 }
                 authSignature = SignatureType()
@@ -428,10 +467,10 @@ class EbicsRequest {
                             authenticate = true
                             value = encryptedSignatureData
                         }
-                        dataEncryptionInfo = 
EbicsTypes.DataEncryptionInfo().apply {
+                        dataEncryptionInfo = 
Ebics3Types.DataEncryptionInfo().apply {
                             transactionKey = encryptedTransactionKey
                             authenticate = true
-                            encryptionPubKeyDigest = 
EbicsTypes.PubKeyDigest().apply {
+                            encryptionPubKeyDigest = 
Ebics3Types.PubKeyDigest().apply {
                                 algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
                                 version = "E002"
                                 value = 
CryptoUtil.getEbicsPublicKeyHash(bankEncPub)
@@ -447,10 +486,10 @@ class EbicsRequest {
             transactionId: String?,
             segNumber: BigInteger,
             encryptedData: String
-        ): EbicsRequest {
-            return EbicsRequest().apply {
+        ): Ebics3Request {
+            return Ebics3Request().apply {
                 header = Header().apply {
-                    version = "H004"
+                    version = "H005"
                     revision = 1
                     authenticate = true
                     static = StaticHeaderType().apply {
@@ -458,8 +497,8 @@ class EbicsRequest {
                         transactionID = transactionId
                     }
                     mutable = MutableHeader().apply {
-                        transactionPhase = 
EbicsTypes.TransactionPhaseType.TRANSFER
-                        segmentNumber = EbicsTypes.SegmentNumber().apply {
+                        transactionPhase = 
Ebics3Types.TransactionPhaseType.TRANSFER
+                        segmentNumber = Ebics3Types.SegmentNumber().apply {
                             lastSegment = true
                             value = segNumber
                         }
@@ -480,9 +519,9 @@ class EbicsRequest {
             transactionID: String?,
             segmentNumber: Int,
             numSegments: Int
-        ): EbicsRequest {
-            return EbicsRequest().apply {
-                version = "H004"
+        ): Ebics3Request {
+            return Ebics3Request().apply {
+                version = "H005"
                 revision = 1
                 authSignature = SignatureType()
                 body = Body()
@@ -494,8 +533,8 @@ class EbicsRequest {
                     }
                     mutable = MutableHeader().apply {
                         transactionPhase =
-                            EbicsTypes.TransactionPhaseType.TRANSFER
-                        this.segmentNumber = EbicsTypes.SegmentNumber().apply {
+                            Ebics3Types.TransactionPhaseType.TRANSFER
+                        this.segmentNumber = Ebics3Types.SegmentNumber().apply 
{
                             this.value = 
BigInteger.valueOf(segmentNumber.toLong())
                             this.lastSegment = segmentNumber == numSegments
                         }
diff --git a/util/src/main/kotlin/ebics_h005/Ebics3Types.kt 
b/util/src/main/kotlin/ebics_h005/Ebics3Types.kt
new file mode 100644
index 00000000..74c7af0f
--- /dev/null
+++ b/util/src/main/kotlin/ebics_h005/Ebics3Types.kt
@@ -0,0 +1,402 @@
+/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2019 Stanisci and Dold.
+
+ * 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/>
+ */
+
+package tech.libeufin.util.ebics_h005
+
+import org.apache.xml.security.binding.xmldsig.RSAKeyValueType
+import org.w3c.dom.Element
+import java.math.BigInteger
+import java.util.*
+import javax.xml.bind.annotation.*
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter
+import javax.xml.bind.annotation.adapters.NormalizedStringAdapter
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter
+import javax.xml.datatype.XMLGregorianCalendar
+
+
+/**
+ * EBICS type definitions that are shared between other requests / responses / 
order types.
+ */
+object Ebics3Types {
+    /**
+     * EBICS client product.  Identifies the software that accesses the EBICS 
host.
+     */
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "Product", propOrder = ["value"])
+    class Product {
+        @get:XmlValue
+        @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
+        lateinit var value: String
+
+        @get:XmlAttribute(name = "Language", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var language: String
+
+        @get:XmlAttribute(name = "InstituteID")
+        @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
+        var instituteID: String? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["value"])
+    class SegmentNumber {
+        @XmlValue
+        lateinit var value: BigInteger
+
+        @XmlAttribute(name = "lastSegment")
+        var lastSegment: Boolean? = null
+    }
+
+
+    @XmlType(name = "", propOrder = ["encryptionPubKeyDigest", 
"transactionKey"])
+    @XmlAccessorType(XmlAccessType.NONE)
+    class DataEncryptionInfo {
+        @get:XmlAttribute(name = "authenticate", required = true)
+        var authenticate: Boolean = false
+
+        @get:XmlElement(name = "EncryptionPubKeyDigest", required = true)
+        lateinit var encryptionPubKeyDigest: PubKeyDigest
+
+        @get:XmlElement(name = "TransactionKey", required = true)
+        lateinit var transactionKey: ByteArray
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["value"])
+    class PubKeyDigest {
+        /**
+         * Version of the *digest* of the public key.
+         */
+        @get:XmlAttribute(name = "Version", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var version: String
+
+        @XmlAttribute(name = "Algorithm", required = true)
+        @XmlSchemaType(name = "anyURI")
+        lateinit var algorithm: String
+
+        @get:XmlValue
+        lateinit var value: ByteArray
+    }
+
+    @Suppress("UNUSED_PARAMETER")
+    enum class TransactionPhaseType(value: String) {
+        @XmlEnumValue("Initialisation")
+        INITIALISATION("Initialisation"),
+
+        /**
+         * Auftragsdatentransfer
+         *
+         */
+        @XmlEnumValue("Transfer")
+        TRANSFER("Transfer"),
+
+        /**
+         * Quittungstransfer
+         *
+         */
+        @XmlEnumValue("Receipt")
+        RECEIPT("Receipt");
+    }
+
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "")
+    class TimestampBankParameter {
+        @get:XmlValue
+        lateinit var value: XMLGregorianCalendar
+
+        @get:XmlAttribute(name = "authenticate", required = true)
+        var authenticate: Boolean = false
+    }
+
+
+
+    @XmlType(
+        name = "PubKeyValueType", propOrder = [
+            "rsaKeyValue",
+            "timeStamp"
+        ]
+    )
+    @XmlAccessorType(XmlAccessType.NONE)
+    class PubKeyValueType {
+        @get:XmlElement(name = "RSAKeyValue", namespace = 
"http://www.w3.org/2000/09/xmldsig#";, required = true)
+        lateinit var rsaKeyValue: RSAKeyValueType
+
+        @get:XmlElement(name = "TimeStamp", required = false)
+        @get:XmlSchemaType(name = "dateTime")
+        var timeStamp: XMLGregorianCalendar? = null
+    }
+
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(
+        name = "AuthenticationPubKeyInfoType", propOrder = [
+            "x509Data",
+            "pubKeyValue",
+            "authenticationVersion"
+        ]
+    )
+    class AuthenticationPubKeyInfoType {
+        @get:XmlAnyElement()
+        var x509Data: Element? = null
+
+        @get:XmlElement(name = "PubKeyValue", required = true)
+        lateinit var pubKeyValue: PubKeyValueType
+
+        @get:XmlElement(name = "AuthenticationVersion", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        @get:XmlSchemaType(name = "token")
+        lateinit var authenticationVersion: String
+    }
+
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(
+        name = "EncryptionPubKeyInfoType", propOrder = [
+            "x509Data",
+            "pubKeyValue",
+            "encryptionVersion"
+        ]
+    )
+    class EncryptionPubKeyInfoType {
+        @get:XmlAnyElement()
+        var x509Data: Element? = null
+
+        @get:XmlElement(name = "PubKeyValue", required = true)
+        lateinit var pubKeyValue: PubKeyValueType
+
+        @get:XmlElement(name = "EncryptionVersion", required = true)
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        @get:XmlSchemaType(name = "token")
+        lateinit var encryptionVersion: String
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class FileFormatType {
+        @get:XmlAttribute(name = "CountryCode")
+        @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+        lateinit var language: String
+
+        @get:XmlValue
+        @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
+        lateinit var value: String
+    }
+
+    /**
+     * Generic key-value pair.
+     */
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["name", "value"])
+    class Parameter {
+        @get:XmlAttribute(name = "Type", required = true)
+        lateinit var type: String
+
+        @get:XmlElement(name = "Name", required = true)
+        lateinit var name: String
+
+        @get:XmlElement(name = "Value", required = true)
+        lateinit var value: String
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["addressInfo", "bankInfo", 
"accountInfoList", "orderInfoList"])
+    class PartnerInfo {
+        @get:XmlElement(name = "AddressInfo", required = true)
+        lateinit var addressInfo: AddressInfo
+
+        @get:XmlElement(name = "BankInfo", required = true)
+        lateinit var bankInfo: BankInfo
+
+        @get:XmlElement(name = "AccountInfo", type = AccountInfo::class)
+        var accountInfoList: List<AccountInfo>? = LinkedList<AccountInfo>()
+
+        @get:XmlElement(name = "OrderInfo", type = AuthOrderInfoType::class)
+        var orderInfoList: List<AuthOrderInfoType> = 
LinkedList<AuthOrderInfoType>()
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(
+        name = "",
+        propOrder = ["orderType", "fileFormat", "transferType", "orderFormat", 
"description", "numSigRequired"]
+    )
+    class AuthOrderInfoType {
+        @get:XmlElement(name = "OrderType")
+        lateinit var orderType: String
+
+        @get:XmlElement(name = "FileFormat")
+        val fileFormat: FileFormatType? = null
+
+        @get:XmlElement(name = "TransferType")
+        lateinit var transferType: String
+
+        @get:XmlElement(name = "OrderFormat", required = false)
+        var orderFormat: String? = null
+
+        @get:XmlElement(name = "Description")
+        lateinit var description: String
+
+        @get:XmlElement(name = "NumSigRequired")
+        var numSigRequired: Int? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class UserIDType {
+        @get:XmlValue
+        lateinit var value: String;
+
+        @get:XmlAttribute(name = "Status")
+        var status: Int? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["userID", "name", "permissionList"])
+    class UserInfo {
+        @get:XmlElement(name = "UserID", required = true)
+        lateinit var userID: UserIDType
+
+        @get:XmlElement(name = "Name")
+        var name: String? = null
+
+        @get:XmlElement(name = "Permission", type = UserPermission::class)
+        var permissionList: List<UserPermission>? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["orderTypes", "fileFormat", "accountID", 
"maxAmount"])
+    class UserPermission {
+        @get:XmlAttribute(name = "AuthorizationLevel")
+        var authorizationLevel: String? = null
+
+        @get:XmlElement(name = "OrderTypes")
+        var orderTypes: String? = null
+
+        @get:XmlElement(name = "FileFormat")
+        val fileFormat: FileFormatType? = null
+
+        @get:XmlElement(name = "AccountID")
+        val accountID: String? = null
+
+        @get:XmlElement(name = "MaxAmount")
+        val maxAmount: String? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["name", "street", "postCode", "city", 
"region", "country"])
+    class AddressInfo {
+        @get:XmlElement(name = "Name")
+        var name: String? = null
+
+        @get:XmlElement(name = "Street")
+        var street: String? = null
+
+        @get:XmlElement(name = "PostCode")
+        var postCode: String? = null
+
+        @get:XmlElement(name = "City")
+        var city: String? = null
+
+        @get:XmlElement(name = "Region")
+        var region: String? = null
+
+        @get:XmlElement(name = "Country")
+        var country: String? = null
+    }
+
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class BankInfo {
+        @get:XmlElement(name = "HostID")
+        lateinit var hostID: String
+
+        @get:XmlElement(type = Parameter::class)
+        var parameters: List<Parameter>? = null
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    @XmlType(name = "", propOrder = ["accountNumberList", "bankCodeList", 
"accountHolder"])
+    class AccountInfo {
+        @get:XmlAttribute(name = "Currency")
+        var currency: String? = null
+
+        @get:XmlAttribute(name = "ID")
+        lateinit var id: String
+
+        @get:XmlAttribute(name = "Description")
+        var description: String? = null
+
+        @get:XmlElements(
+            XmlElement(name = "AccountNumber", type = 
GeneralAccountNumber::class),
+            XmlElement(name = "NationalAccountNumber", type = 
NationalAccountNumber::class)
+        )
+        var accountNumberList: List<AbstractAccountNumber>? = 
LinkedList<AbstractAccountNumber>()
+
+        @get:XmlElements(
+            XmlElement(name = "BankCode", type = GeneralBankCode::class),
+            XmlElement(name = "NationalBankCode", type = 
NationalBankCode::class)
+        )
+        var bankCodeList: List<AbstractBankCode>? = 
LinkedList<AbstractBankCode>()
+
+        @get:XmlElement(name = "AccountHolder")
+        var accountHolder: String? = null
+    }
+
+    interface AbstractAccountNumber
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class GeneralAccountNumber : AbstractAccountNumber {
+        @get:XmlAttribute(name = "international")
+        var international: Boolean = true
+
+        @get:XmlValue
+        lateinit var value: String
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class NationalAccountNumber : AbstractAccountNumber {
+        @get:XmlAttribute(name = "format")
+        lateinit var format: String
+
+        @get:XmlValue
+        lateinit var value: String
+    }
+
+    interface AbstractBankCode
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class GeneralBankCode : AbstractBankCode {
+        @get:XmlAttribute(name = "prefix")
+        var prefix: String? = null
+
+        @get:XmlAttribute(name = "international")
+        var international: Boolean = true
+
+        @get:XmlValue
+        lateinit var value: String
+    }
+
+    @XmlAccessorType(XmlAccessType.NONE)
+    class NationalBankCode : AbstractBankCode {
+        @get:XmlValue
+        lateinit var value: String
+
+        @get:XmlAttribute(name = "format")
+        lateinit var format: String
+    }
+}
\ No newline at end of file
diff --git a/util/src/main/kotlin/ebics_h005/package-info.java 
b/util/src/main/kotlin/ebics_h005/package-info.java
new file mode 100644
index 00000000..3300f657
--- /dev/null
+++ b/util/src/main/kotlin/ebics_h005/package-info.java
@@ -0,0 +1,12 @@
+/**
+ * This package-info.java file defines the default namespace for the JAXB 
bindings
+ * defined in the package.
+ */
+
+@XmlSchema(
+        namespace = "urn:org:ebics:H005",
+        elementFormDefault = XmlNsForm.QUALIFIED
+)
+package tech.libeufin.util.ebics_h005;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlSchema;
\ No newline at end of file
diff --git a/util/src/main/resources/xsd/ebics_H005.xsd 
b/util/src/main/resources/xsd/ebics_H005.xsd
new file mode 100644
index 00000000..149bf263
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd 
b/util/src/main/resources/xsd/ebics_keymgmt_request_H005.xsd
new file mode 100644
index 00000000..cb93d3c4
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd 
b/util/src/main/resources/xsd/ebics_keymgmt_response_H005.xsd
new file mode 100644
index 00000000..dfc33909
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_orders_H005.xsd 
b/util/src/main/resources/xsd/ebics_orders_H005.xsd
new file mode 100644
index 00000000..30db1213
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_request_H005.xsd 
b/util/src/main/resources/xsd/ebics_request_H005.xsd
new file mode 100644
index 00000000..dc7ad70a
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_response_H005.xsd 
b/util/src/main/resources/xsd/ebics_response_H005.xsd
new file mode 100644
index 00000000..841286b7
--- /dev/null
+++ b/util/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/util/src/main/resources/xsd/ebics_types_H005.xsd 
b/util/src/main/resources/xsd/ebics_types_H005.xsd
new file mode 100644
index 00000000..ea13f06b
--- /dev/null
+++ b/util/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>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]