You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gi...@apache.org on 2026/09/17 09:10:02 UTC

(camel-website-pub) branch asf-site updated: Website updated to 6abe2ca1858df4c46f5f1887f7daf507a82b797e

This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/camel-website-pub.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8d142545da Website updated to 6abe2ca1858df4c46f5f1887f7daf507a82b797e
8d142545da is described below

commit 8d142545da7d31043d1e3ccef76468d8e8986813
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Sep 17 09:09:53 2026 +0000

    Website updated to 6abe2ca1858df4c46f5f1887f7daf507a82b797e
---
 .well-known/security.txt                           |     2 +-
 camel-k/2.10.x/concepts/dependencies.html          |     2 +-
 camel-k/2.10.x/concepts/dependencies.md            |     2 +-
 camel-k/2.11.x/concepts/dependencies.html          |     2 +-
 camel-k/2.11.x/concepts/dependencies.md            |     2 +-
 camel-k/next/concepts/dependencies.html            |     2 +-
 camel-k/next/concepts/dependencies.md              |     2 +-
 camel-kamelets/next/kafka-sink.html                |     2 +-
 camel-kamelets/next/kafka-sink.md                  |     2 +-
 camel-spring-boot/next/starters/core.html          |     2 +-
 camel-spring-boot/next/starters/core.md            |     2 +-
 camel-spring-boot/next/starters/jt400.html         |     2 +-
 camel-spring-boot/next/starters/jt400.md           |     2 +-
 camel-spring-boot/next/starters/opa.html           |     2 +-
 camel-spring-boot/next/starters/opa.md             |     9 +-
 camel-spring-boot/next/starters/salesforce.html    |     2 +-
 camel-spring-boot/next/starters/salesforce.md      |     3 +-
 camel-spring-boot/next/starters/spiffe.html        |     2 +-
 camel-spring-boot/next/starters/spiffe.md          |     2 +-
 components/next/languages/ognl-language.html       |     2 +-
 components/next/languages/ognl-language.md         |     2 +-
 components/next/opa-component.html                 |     7 +-
 components/next/opa-component.md                   |    37 +
 manual/camel-4x-upgrade-guide-4_23.html            |     2 +-
 manual/camel-4x-upgrade-guide-4_23.md              |    10 +-
 manual/camel-jbang-running.html                    |     4 +-
 manual/camel-jbang-running.md                      |     4 +-
 manual/camel-jbang-tips.html                       |     2 +-
 manual/camel-jbang-tips.md                         |     7 +-
 manual/camel-jbang-tui.html                        |     4 +-
 manual/camel-jbang-tui.md                          |     4 +-
 .../jaxrs/camel-cxf-spring-rest-4.22.1-spring.xsd  |   144 +
 .../jaxws/camel-cxf-spring-soap-4.22.1-spring.xsd  |   104 +
 .../camel-spring-security-4.22.1.xsd               |    44 +
 schema/spring-xml/camel-spring-xml-4.22.1.xsd      | 17519 +++++++++++++++++++
 schema/xml-io/camel-xml-io-4.22.1.xsd              | 16329 +++++++++++++++++
 site-manifest.json                                 |     2 +-
 sitemap-camel-core.md                              |    16 +-
 sitemap-camel-core.xml                             |    16 +-
 sitemap-camel-k.md                                 |   744 +-
 sitemap-camel-k.xml                                |   744 +-
 sitemap-camel-kafka-connector.md                   |   436 +-
 sitemap-camel-kafka-connector.xml                  |   436 +-
 sitemap-camel-kamelets.md                          |  1542 +-
 sitemap-camel-kamelets.xml                         |  1542 +-
 sitemap-camel-karaf.md                             |     6 +-
 sitemap-camel-karaf.xml                            |     6 +-
 sitemap-camel-quarkus.md                           |  1580 +-
 sitemap-camel-quarkus.xml                          |  1580 +-
 sitemap-camel-spring-boot.md                       |  1764 +-
 sitemap-camel-spring-boot.xml                      |  1764 +-
 sitemap-components.md                              |  4196 ++---
 sitemap-components.xml                             |  4196 ++---
 sitemap-manual.md                                  |   694 +-
 sitemap-manual.xml                                 |   694 +-
 55 files changed, 45212 insertions(+), 11017 deletions(-)

diff --git a/.well-known/security.txt b/.well-known/security.txt
index 9e4d1918b9..bb755bba3d 100644
--- a/.well-known/security.txt
+++ b/.well-known/security.txt
@@ -2,4 +2,4 @@ Canonical: https://camel.apache.com/.well-known/security.txt
 Contact: mailto:security@apache.org
 Encryption: https://www.apache.org/security/KEYS.txt
 Policy: https://www.apache.org/security/
-Expires: 2027-09-16T19:37:43Z
+Expires: 2027-09-17T08:34:37Z
diff --git a/camel-k/2.10.x/concepts/dependencies.html b/camel-k/2.10.x/concepts/dependencies.html
index 7d3c0b7ba9..90c0338927 100644
--- a/camel-k/2.10.x/concepts/dependencies.html
+++ b/camel-k/2.10.x/concepts/dependencies.html
@@ -1 +1 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
diff --git a/camel-k/2.10.x/concepts/dependencies.md b/camel-k/2.10.x/concepts/dependencies.md
index e2f3c80595..056e6666a6 100644
--- a/camel-k/2.10.x/concepts/dependencies.md
+++ b/camel-k/2.10.x/concepts/dependencies.md
@@ -21,6 +21,6 @@ Below you can find a list of the main dependencies and APIs used by Camel K and
 Kubernetes and other dependencies      
 | Camel K Version | Kubernetes API | Operator Framework API | Knative API | Prometheus Operator | Kustomize version |
 | --- | --- | --- | --- | --- | --- |
-| [Next (Pre-release)](../../next/index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
+| [Next (Pre-release)](../../next/index.md) | 0.37.0 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.11.x](../../2.11.x/index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.10.x](../index.md) | 0.35.3 | 0.42.0 | 0.48.1 | 0.90.1 | 5.7.1 |
\ No newline at end of file
diff --git a/camel-k/2.11.x/concepts/dependencies.html b/camel-k/2.11.x/concepts/dependencies.html
index 9b534fe37e..6ee2dae0ec 100644
--- a/camel-k/2.11.x/concepts/dependencies.html
+++ b/camel-k/2.11.x/concepts/dependencies.html
@@ -1 +1 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
diff --git a/camel-k/2.11.x/concepts/dependencies.md b/camel-k/2.11.x/concepts/dependencies.md
index 06dde6a34d..db7adfe8fc 100644
--- a/camel-k/2.11.x/concepts/dependencies.md
+++ b/camel-k/2.11.x/concepts/dependencies.md
@@ -18,6 +18,6 @@ Below you can find a list of the main dependencies and APIs used by Camel K and
 Kubernetes and other dependencies      
 | Camel K Version | Kubernetes API | Operator Framework API | Knative API | Prometheus Operator | Kustomize version |
 | --- | --- | --- | --- | --- | --- |
-| [Next (Pre-release)](../../next/index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
+| [Next (Pre-release)](../../next/index.md) | 0.37.0 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.11.x](../index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.10.x](../../2.10.x/index.md) | 0.35.3 | 0.42.0 | 0.48.1 | 0.90.1 | 5.7.1 |
\ No newline at end of file
diff --git a/camel-k/next/concepts/dependencies.html b/camel-k/next/concepts/dependencies.html
index 61fbccae81..1d4edf80c7 100644
--- a/camel-k/next/concepts/dependencies.html
+++ b/camel-k/next/concepts/dependencies.html
@@ -1 +1 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel dependencies matrix :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-k/2.11.x/concepts/dependencies.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="appl [...]
\ No newline at end of file
diff --git a/camel-k/next/concepts/dependencies.md b/camel-k/next/concepts/dependencies.md
index 43034a261b..9d2577b349 100644
--- a/camel-k/next/concepts/dependencies.md
+++ b/camel-k/next/concepts/dependencies.md
@@ -18,6 +18,6 @@ Below you can find a list of the main dependencies and APIs used by Camel K and
 Kubernetes and other dependencies      
 | Camel K Version | Kubernetes API | Operator Framework API | Knative API | Prometheus Operator | Kustomize version |
 | --- | --- | --- | --- | --- | --- |
-| [Next (Pre-release)](../index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
+| [Next (Pre-release)](../index.md) | 0.37.0 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.11.x](../../2.11.x/index.md) | 0.36.3 | 0.45.0 | 0.50.0 | 0.93.1 | 5.7.1 |
 | [2.10.x](../../2.10.x/index.md) | 0.35.3 | 0.42.0 | 0.48.1 | 0.90.1 | 5.7.1 |
\ No newline at end of file
diff --git a/camel-kamelets/next/kafka-sink.html b/camel-kamelets/next/kafka-sink.html
index a0a1a05f33..4a85e9a7a6 100644
--- a/camel-kamelets/next/kafka-sink.html
+++ b/camel-kamelets/next/kafka-sink.html
@@ -6,4 +6,4 @@
         message: 'test'
       steps:
         - to:
-            uri: "kamelet:kafka-sink"</code></pre> </div> </div> <div class="paragraph"> <p>You can now run it directly through the following command</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-shell hljs" data-lang="shell">camel run route.yaml</code></pre> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_kafka_sink_kamelet_description"><a class="anchor" href="#_kafka_sink_kamelet_description"></a>Kaf [...]
\ No newline at end of file
+            uri: "kamelet:kafka-sink"</code></pre> </div> </div> <div class="paragraph"> <p>You can now run it directly through the following command</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-shell hljs" data-lang="shell">camel run route.yaml</code></pre> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_kafka_sink_kamelet_description"><a class="anchor" href="#_kafka_sink_kamelet_description"></a>Kaf [...]
\ No newline at end of file
diff --git a/camel-kamelets/next/kafka-sink.md b/camel-kamelets/next/kafka-sink.md
index bfbd843e4b..c50a0484b0 100644
--- a/camel-kamelets/next/kafka-sink.md
+++ b/camel-kamelets/next/kafka-sink.md
@@ -80,7 +80,7 @@ camel run route.yaml
 
 The Kamelet is able to understand the following headers to be set:
 
--   `key` / `ce-key`: as message key
+-   `key` / `kafka-key` / `ce-key` / `ce-kafkakey`: as message key
     
 -   `partition-key` / `ce-partitionkey`: as message partition key
     
diff --git a/camel-spring-boot/next/starters/core.html b/camel-spring-boot/next/starters/core.html
index 52bf49f22f..be148840ca 100644
--- a/camel-spring-boot/next/starters/core.html
+++ b/camel-spring-boot/next/starters/core.html
@@ -1,4 +1,4 @@
 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Core :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-spring-boot/4.22.x/starters/core.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application-name" conte [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-core-starter&lt;/artifactId&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 123 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class [...]
\ No newline at end of file
+&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 123 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class [...]
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/core.md b/camel-spring-boot/next/starters/core.md
index 9339e14b48..b57abfd961 100644
--- a/camel-spring-boot/next/starters/core.md
+++ b/camel-spring-boot/next/starters/core.md
@@ -120,7 +120,7 @@ The starter supports 123 options, which are listed below.
 | camel.rest.binding-package-scan | Package name to use as base (offset) for classpath scanning of POJO classes are located when using binding mode is enabled for JSon or XML. Multiple package names can be separated by comma. |  | String |
 | camel.rest.client-request-validation | Whether to enable validation of the client request to check whether Content-Type/Accept headers, required parameters, and message body are valid. | false | Boolean |
 | camel.rest.client-response-validation | Whether to validate what Camel is returning as response to the client, such as checking status-code, Content-Type, and headers match the Rest DSL response definition. | false | Boolean |
-| camel.rest.component | The Camel Rest component to use for the REST transport (consumer), such as netty-http, jetty, servlet, undertow. |  | String |
+| camel.rest.component | The Camel Rest component to use for the REST transport (consumer), such as platform-http, netty-http, jetty, servlet, undertow. |  | String |
 | camel.rest.component-property | Allows to configure as many additional properties for the rest component in use. |  | Object> |
 | camel.rest.consumer-property | Allows to configure as many additional properties for the rest consumer in use. |  | Object> |
 | camel.rest.context-path | Sets a leading context-path the REST services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path. |  | String |
diff --git a/camel-spring-boot/next/starters/jt400.html b/camel-spring-boot/next/starters/jt400.html
index d61252a285..1c7e831be8 100644
--- a/camel-spring-boot/next/starters/jt400.html
+++ b/camel-spring-boot/next/starters/jt400.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JT400 :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-spring-boot/4.22.x/starters/jt400.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application-name" con [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JT400 :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-spring-boot/4.22.x/starters/jt400.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application-name" con [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-jt400-starter&lt;/artifactId&gt;
 &lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 7 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class=" [...]
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/jt400.md b/camel-spring-boot/next/starters/jt400.md
index 1bc3e71700..950cd53468 100644
--- a/camel-spring-boot/next/starters/jt400.md
+++ b/camel-spring-boot/next/starters/jt400.md
@@ -6,7 +6,7 @@ Exchanges messages with an IBM i system using data queues, message queues, or pr
 
 ## What’s inside
 
--   [JT400 component](../../../components/next/jt400-component.md), URI syntax: `jt400:userID:password@systemName/QSYS.LIB/objectPath.type`
+-   [JT400 component](../../../components/next/jt400-component.md), URI syntax: `jt400:userID:password@systemName/objectPath`
     
 
 Please refer to the above links for usage and configuration details.
diff --git a/camel-spring-boot/next/starters/opa.html b/camel-spring-boot/next/starters/opa.html
index e836aa5f68..36ea6890c5 100644
--- a/camel-spring-boot/next/starters/opa.html
+++ b/camel-spring-boot/next/starters/opa.html
@@ -1,4 +1,4 @@
 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>OPA :: Apache Camel</title> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application-name" content="Apache Camel"> <meta property="og:title" content="OPA"> <meta property="og:site_name" content="A [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-opa-starter&lt;/artifactId&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 14 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class= [...]
\ No newline at end of file
+&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 19 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class= [...]
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/opa.md b/camel-spring-boot/next/starters/opa.md
index d6f8b30a81..355ebd6bda 100644
--- a/camel-spring-boot/next/starters/opa.md
+++ b/camel-spring-boot/next/starters/opa.md
@@ -22,16 +22,19 @@ Please refer to the above links for usage and configuration details.
 
 ## Spring Boot Auto-Configuration
 
-The starter supports 14 options, which are listed below.
+The starter supports 19 options, which are listed below.
 
    
 | Name | Description | Default | Type |
 | --- | --- | --- | --- |
-| camel.component.opa.allow-key | The key to read the allow/deny verdict from when the policy returns an object rather than a plain boolean. For a policy returning \\{allow: true, reasons: } the default value of allow is what you want. | allow | String |
+| camel.component.opa.allow-key | The key to read the allow/deny verdict from when the policy returns an object rather than a plain boolean. For a policy returning \\{allow: true, reasons: } the default value of allow is what you want. A dotted path reaches a verdict nested inside the document: \\{code allowKey=result.allow} reads \\{result: \\{allow: true}}. A key with no dot is looked up directly at the top level. | allow | String |
 | camel.component.opa.autowired-enabled | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean |
 | camel.component.opa.bearer-token | Bearer token sent to the OPA server in the Authorization header, for an OPA instance that has its API authentication enabled. |  | String |
+| camel.component.opa.borrow-timeout | How long an exchange waits for a free WebAssembly policy instance in wasm mode before the evaluation fails. An exchange that cannot get an instance is not denied by a policy, so it is reported as an evaluation failure and handled like any other: failing closed, or proceeding if failOpen is set. Raise it, or poolSize, for a route whose concurrency exceeds the pool. The option is a long type. | 30000 | Long |
 | camel.component.opa.configuration | The component configuration. The option is a org.apache.camel.component.opa.OpaConfiguration type. |  | OpaConfiguration |
 | camel.component.opa.enabled | Whether to enable auto configuration of the opa component. This is enabled by default. |  | Boolean |
+| camel.component.opa.entrypoint | The compiled entrypoint to evaluate in wasm mode. This is not the same thing as the policy path: an entrypoint is fixed when the bundle is built, with \\{code opa build -e}. Defaults to the endpoint’s policy path, which is the name \\{code opa build} gives it. |  | String |
+| camel.component.opa.evaluation-mode | How the policy is evaluated. rest (the default) calls a running OPA server over its Data API. wasm evaluates a WebAssembly bundle in-process, with no server involved - so there is no network hop and no unreachable decision point, at the cost of the policy being a build-time artefact rather than something a server distributes and updates. serverUrl, bearerToken and failOpen do not apply in wasm mode. | rest | String |
 | camel.component.opa.fail-open | Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production. | false | Boolean |
 | camel.component.opa.health-check-consumer-enabled | Used for enabling or disabling all consumer based health checks from this component | true | Boolean |
 | camel.component.opa.health-check-producer-enabled | Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true. | true | Boolean |
@@ -40,4 +43,6 @@ The starter supports 14 options, which are listed below.
 | camel.component.opa.include-properties | Comma-separated list of exchange property names to send to OPA in the input document, or \\{code } for all of them. Empty by default, so no properties are sent unless asked for. This is where the authentication components put the identity they verified: \\{code camel-keycloak} stores the access token and its subject as exchange properties and prefers them over the equivalent headers, precisely because headers can be set by the caller. List those [...]
 | camel.component.opa.lazy-start-producer | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then cre [...]
 | camel.component.opa.opa-client | An existing OPAClient to use. When set, serverUrl and bearerToken are ignored. The option is a com.styra.opa.OPAClient type. |  | OPAClient |
+| camel.component.opa.policy-bundle | The WebAssembly policy to evaluate in wasm mode, as produced by \\{code opa build -t wasm}. Accepts a \\{code file:}, \\{code classpath:} or \\{code http:} location holding either the bundle.tar.gz that \\{code opa build} emits or a bare .wasm module. Required when \\{code evaluationMode=wasm}. Prefer the bundle: it also carries the data document the policy reads as \\{code data.}, which a bare module does not. |  | String |
+| camel.component.opa.pool-size | How many WebAssembly policy instances to pool in wasm mode. An instance carries mutable state and is not thread-safe, so each exchange borrows one; this bounds how many exchanges evaluate at once. | 8 | Integer |
 | camel.component.opa.server-url | The base URL of the OPA server, without the \\{code /v1/data} suffix. The default assumes OPA running as a sidecar on the standard port. | [http://localhost:8181](http://localhost:8181) | String |
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/salesforce.html b/camel-spring-boot/next/starters/salesforce.html
index 9aa8313e99..53d338b8cd 100644
--- a/camel-spring-boot/next/starters/salesforce.html
+++ b/camel-spring-boot/next/starters/salesforce.html
@@ -1,4 +1,4 @@
 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Salesforce :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-spring-boot/4.22.x/starters/salesforce.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-salesforce-starter&lt;/artifactId&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 109 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class [...]
\ No newline at end of file
+&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 110 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class [...]
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/salesforce.md b/camel-spring-boot/next/starters/salesforce.md
index db955264a3..7eda0246b9 100644
--- a/camel-spring-boot/next/starters/salesforce.md
+++ b/camel-spring-boot/next/starters/salesforce.md
@@ -22,7 +22,7 @@ Please refer to the above links for usage and configuration details.
 
 ## Spring Boot Auto-Configuration
 
-The starter supports 109 options, which are listed below.
+The starter supports 110 options, which are listed below.
 
    
 | Name | Description | Default | Type |
@@ -32,6 +32,7 @@ The starter supports 109 options, which are listed below.
 | camel.component.salesforce.apex-query-params | Query params for APEX method |  | Object> |
 | camel.component.salesforce.apex-url | Path of the Apex REST resource to invoke, appended to /services/apexrest/ on the instance URL, for example MyApexClass/. The apexCall operation needs this value, which can be given as this option, in the endpoint path as apexCall/MyApexClass/, or in the CamelSalesforceApexUrl header. Placeholders written in curly braces are resolved from message headers of the same name. |  | String |
 | camel.component.salesforce.api-version | Salesforce API version. | 56.0 | String |
+| camel.component.salesforce.approval | The approval request for the Salesforce Approval API. Options approval.actionType, approval.comments, approval.contextActorId, approval.contextId, approval.nextApproverIds, approval.processDefinitionNameOrId, approval.skipEntryCriteria are bound as nested properties. The option is a org.apache.camel.component.salesforce.api.dto.approval.ApprovalRequest type. |  | ApprovalRequest |
 | camel.component.salesforce.authentication-type | Explicit authentication method to be used, one of USERNAME\_PASSWORD, REFRESH\_TOKEN, CLIENT\_CREDENTIALS, or JWT. Salesforce component can auto-determine the authentication method to use from the properties set, set this property to eliminate any ambiguity. |  | AuthenticationType |
 | camel.component.salesforce.autowired-enabled | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean |
 | camel.component.salesforce.backoff-increment | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. The option is a long type. | 1000 | Long |
diff --git a/camel-spring-boot/next/starters/spiffe.html b/camel-spring-boot/next/starters/spiffe.html
index 6760a7cd3c..405f434482 100644
--- a/camel-spring-boot/next/starters/spiffe.html
+++ b/camel-spring-boot/next/starters/spiffe.html
@@ -1,4 +1,4 @@
 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>SPIFFE :: Apache Camel</title> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../../../_/css/site-8b1f35b7a5.css"> <meta name="application-name" content="Apache Camel"> <meta property="og:title" content="SPIFFE"> <meta property="og:site_name" cont [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-spiffe-starter&lt;/artifactId&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 9 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class=" [...]
\ No newline at end of file
+&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spring_boot_auto_configuration"><a class="anchor" href="#_spring_boot_auto_configuration"></a>Spring Boot Auto-Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>The starter supports 9 options, which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class=" [...]
\ No newline at end of file
diff --git a/camel-spring-boot/next/starters/spiffe.md b/camel-spring-boot/next/starters/spiffe.md
index c48c1adcdf..a2336b0d65 100644
--- a/camel-spring-boot/next/starters/spiffe.md
+++ b/camel-spring-boot/next/starters/spiffe.md
@@ -28,7 +28,7 @@ The starter supports 9 options, which are listed below.
 | Name | Description | Default | Type |
 | --- | --- | --- | --- |
 | camel.component.spiffe.allow-operation-header | Whether the CamelSpiffeOperation header may override the configured operation. Disabled by default: the operation decides whether this endpoint validates a token or mints one, so a message that can set it can turn a validator into an endpoint that hands out this workload’s own JWT-SVID. Enable it only on routes whose input is trusted. | false | Boolean |
-| camel.component.spiffe.audience | The comma-separated audience(s) to request for a JWT-SVID (fetchJwtSvid) or to validate against (validateJwtSvid). Can be overridden per-message with the CamelSpiffeAudience header. Note that validateJwtSvid validates against a single audience, so when several comma-separated audiences are given only the first one is used for validation; fetchJwtSvid requests all of them. |  | String |
+| camel.component.spiffe.audience | The comma-separated audience(s) to request for a JWT-SVID (fetchJwtSvid) or to validate against (validateJwtSvid). fetchJwtSvid requests all of them and can be overridden per-message with the CamelSpiffeAudience header; validateJwtSvid ignores that header and uses this configuration only, accepting the token if it matches any of the configured audiences, trying each in turn. |  | String |
 | camel.component.spiffe.autowired-enabled | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean |
 | camel.component.spiffe.configuration | The component configuration. The option is a org.apache.camel.component.spiffe.SpiffeConfiguration type. |  | SpiffeConfiguration |
 | camel.component.spiffe.enabled | Whether to enable auto configuration of the spiffe component. This is enabled by default. |  | Boolean |
diff --git a/components/next/languages/ognl-language.html b/components/next/languages/ognl-language.html
index bf5613cbb3..5a13fe7d19 100644
--- a/components/next/languages/ognl-language.html
+++ b/components/next/languages/ognl-language.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>OGNL :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/components/4.22.x/languages/ognl-language.html"> <meta name="description" content="Evaluates an OGNL expression (Apache Commons OGNL)"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel=" [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>OGNL :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/components/4.22.x/languages/ognl-language.html"> <meta name="description" content="Evaluates an OGNL expression (Apache Commons OGNL)"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../../../_/css/vendor/docsearch-5db8a73adb.css"> <link rel=" [...]
   .filter().ognl("request.headers.foo == 'bar'")
     .to("seda:bar");</code></pre> </div> </div> </div> <div id="_tabs_1_xml--panel" class="tabpanel" aria-labelledby="_tabs_1_xml"> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;route&gt;
   &lt;from uri="seda:foo"/&gt;
diff --git a/components/next/languages/ognl-language.md b/components/next/languages/ognl-language.md
index 9c7b238f45..b898cc6e17 100644
--- a/components/next/languages/ognl-language.md
+++ b/components/next/languages/ognl-language.md
@@ -7,7 +7,7 @@ Camel Components
 
 **Since Camel 1.1**
 
-Camel allows [OGNL](https://en.wikipedia.org/wiki/OGNL), supported by [(Apache Commons OGNL)](http://commons.apache.org/proper/commons-ognl/), to be used as an [Expression](../../../manual/expression.md) or [Predicate](../../../manual/predicate.md) in Camel routes.
+Camel allows [OGNL](https://en.wikipedia.org/wiki/OGNL), supported by [(Apache Commons OGNL)](https://commons.apache.org/dormant/commons-ognl/), to be used as an [Expression](../../../manual/expression.md) or [Predicate](../../../manual/predicate.md) in Camel routes.
 
 For example, you can use MVEL in a [Predicate](../../../manual/predicate.md) with the [Content-Based Router](../eips/choice-eip.md) EIP.
 
diff --git a/components/next/opa-component.html b/components/next/opa-component.html
index de17eeb0e3..41fd297dd6 100644
--- a/components/next/opa-component.html
+++ b/components/next/opa-component.html
@@ -3,7 +3,7 @@
     &lt;artifactId&gt;camel-opa&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_uri_format"><a class="anchor" href="#_uri_format"></a>URI Format</h2> <div class="sectionbody"> <div class="listingblock"> <div class="content"> <pre>opa:policyPath[?options]</pre> </div> </div> <div class="paragraph"> <p>Where <code>policyPath</code> is the path of the Rego rule head to evaluate, relative to the OPA data document. For a rule named <code>allow</code> in a policy declaring <code>pack [...]
+&lt;/dependency&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_uri_format"><a class="anchor" href="#_uri_format"></a>URI Format</h2> <div class="sectionbody"> <div class="listingblock"> <div class="content"> <pre>opa:policyPath[?options]</pre> </div> </div> <div class="paragraph"> <p>Where <code>policyPath</code> is the path of the Rego rule head to evaluate, relative to the OPA data document. For a rule named <code>allow</code> in a policy declaring <code>pack [...]
     .to("opa:authz/orders/allow")
     .filter(header(OpaConstants.DECISION_ALLOW).isEqualTo(true))
         .to("direct:handleOrder");</code></pre> </div> </div> <div class="paragraph"> <p>This is the right shape when a denied message is simply not routed further, or when the route wants to inspect the full decision document — a policy that returns obligations, row filters or deny reasons rather than a plain boolean puts them in the <code>CamelOpaDecision</code> header.</p> </div> </div> <div class="sect2"> <h3 id="_as_a_security_policy_enforcing_on_a_route_segment"><a class="anchor" h [...]
@@ -30,4 +30,7 @@ allow if {
     input.properties.CamelKeycloakTokenSubject == "alice"
 }</code></pre> </div> </div> <div class="paragraph"> <p><code>includeProperties</code> takes a comma-separated list, or <code>*</code> for all of them, and matches names case-insensitively. Unlike <code>includeHeaders</code> it is <strong>empty by default</strong>: exchange properties are mostly used to carry state between processors, so sending them all would be noise the policy has to wade through. Only custom properties are sent — Camel&#8217;s own internal exchange properties are nev [...]
     .to("opa:authz/orders/allow?evaluationMode=wasm&amp;policyBundle=classpath:bundle.tar.gz")</code></pre> </div> </div> <div class="paragraph"> <p>Build the bundle with OPA&#8217;s compiler — note that <code>-e</code> names an <strong>entrypoint</strong>, which is fixed at build time and is not the same thing as a data path:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-sh hljs" data-lang="sh">opa build -t wasm -e a [...]
-opa build -t wasm -e authz/orders/allow roles.rego data.json</code></pre> </div> </div> <div class="paragraph"> <p>Data that is <strong>not</strong> part of the bundle — what a server would receive through its Data API at runtime — has no equivalent in <code>wasm</code> mode. A policy depending on it needs <code>evaluationMode=rest</code>.</p> </div> <div class="paragraph"> <p>Prefer <code>classpath:</code> or <code>file:</code> for a bundle shipped with the application, which is what a  [...]
\ No newline at end of file
+opa build -t wasm -e authz/orders/allow roles.rego data.json</code></pre> </div> </div> <div class="paragraph"> <p>Data that is <strong>not</strong> part of the bundle — what a server would receive through its Data API at runtime — has no equivalent in <code>wasm</code> mode. A policy depending on it needs <code>evaluationMode=rest</code>.</p> </div> <div class="paragraph"> <p>Prefer <code>classpath:</code> or <code>file:</code> for a bundle shipped with the application, which is what a  [...]
+    .to("opa:authz/orders/allow?serverUrl=https://opa:8181&amp;sslContextParameters=#opaTls")</code></pre> </div> </div> <div class="paragraph"> <p>Set <code>useGlobalSslContextParameters=true</code> on the component to pick up the context-wide configuration instead.</p> </div> <div class="paragraph"> <p>That is what lets a workload present a client certificate to an OPA server requiring mutual TLS — a SPIFFE X.509-SVID, for example, so the application authenticates to the policy decisio [...]
+spiffe.setCamelContext(context);
+context.getRegistry().bind("opaTls", spiffe);</code></pre> </div> </div> <div class="paragraph"> <p>None of this applies in <code>wasm</code> mode, where there is no server to reach.</p> </div> </div> </div> <div class="sect1"> <h2 id="_failure_handling"><a class="anchor" href="#_failure_handling"></a>Failure handling</h2> <div class="sectionbody"> <div class="paragraph"> <p>The component fails closed. If the policy cannot be evaluated at all — the OPA server is unreachable, times out, o [...]
\ No newline at end of file
diff --git a/components/next/opa-component.md b/components/next/opa-component.md
index 318cd8d205..93032b3d01 100644
--- a/components/next/opa-component.md
+++ b/components/next/opa-component.md
@@ -105,12 +105,16 @@ Enum values:
 | **serverUrl** (producer) | The base URL of the OPA server, without the \\{code /v1/data} suffix. The default assumes OPA running as a sidecar on the standard port. | [http://localhost:8181](http://localhost:8181) | String |
 | **autowiredEnabled** (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean |
 | **borrowTimeout** (advanced) | How long an exchange waits for a free WebAssembly policy instance in wasm mode before the evaluation fails. An exchange that cannot get an instance is not denied by a policy, so it is reported as an evaluation failure and handled like any other: failing closed, or proceeding if failOpen is set. Raise it, or poolSize, for a route whose concurrency exceeds the pool. | 30000 | long |
+| **connectionTimeout** (advanced) | How long to wait for the connection to the OPA server to be established, in rest mode. The SDK’s own transport applies no timeout at all, so a server that never answers would otherwise park the calling thread indefinitely rather than letting the component fail closed. | 10000 | long |
 | **opaClient** (advanced) | **Autowired** An existing OPAClient to use. When set, serverUrl and bearerToken are ignored. |  | OPAClient |
 | **poolSize** (advanced) | How many WebAssembly policy instances to pool in wasm mode. An instance carries mutable state and is not thread-safe, so each exchange borrows one; this bounds how many exchanges evaluate at once. | 8 | int |
+| **requestTimeout** (advanced) | How long to wait for the decision once connected, in rest mode. A request that times out is an evaluation failure rather than a deny, so it fails closed - or proceeds when failOpen is set - like any other failure to reach a verdict. | 30000 | long |
 | **healthCheckConsumerEnabled** (health) | Used for enabling or disabling all consumer based health checks from this component. | true | boolean |
 | **healthCheckProducerEnabled** (health) | Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true. | true | boolean |
 | **bearerToken** (security) | Bearer token sent to the OPA server in the Authorization header, for an OPA instance that has its API authentication enabled. |  | String |
 | **failOpen** (security) | Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production. | false | boolean |
+| **sslContextParameters** (security) | TLS configuration for the connection to the OPA server in rest mode. Needed to trust a server whose certificate comes from a private CA, and to present a client certificate to a server that requires mutual TLS - a SPIFFE X.509-SVID, for instance, so the workload authenticates to the policy decision point as itself. |  | SSLContextParameters |
+| **useGlobalSslContextParameters** (security) | Enable usage of global SSL context parameters. | false | boolean |
 
 ## Endpoint Options
 
@@ -156,10 +160,13 @@ Enum values:
 | **serverUrl** (producer) | The base URL of the OPA server, without the \\{code /v1/data} suffix. The default assumes OPA running as a sidecar on the standard port. | [http://localhost:8181](http://localhost:8181) | String |
 | **lazyStartProducer** (producer (advanced)) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then [...]
 | **borrowTimeout** (advanced) | How long an exchange waits for a free WebAssembly policy instance in wasm mode before the evaluation fails. An exchange that cannot get an instance is not denied by a policy, so it is reported as an evaluation failure and handled like any other: failing closed, or proceeding if failOpen is set. Raise it, or poolSize, for a route whose concurrency exceeds the pool. | 30000 | long |
+| **connectionTimeout** (advanced) | How long to wait for the connection to the OPA server to be established, in rest mode. The SDK’s own transport applies no timeout at all, so a server that never answers would otherwise park the calling thread indefinitely rather than letting the component fail closed. | 10000 | long |
 | **opaClient** (advanced) | **Autowired** An existing OPAClient to use. When set, serverUrl and bearerToken are ignored. |  | OPAClient |
 | **poolSize** (advanced) | How many WebAssembly policy instances to pool in wasm mode. An instance carries mutable state and is not thread-safe, so each exchange borrows one; this bounds how many exchanges evaluate at once. | 8 | int |
+| **requestTimeout** (advanced) | How long to wait for the decision once connected, in rest mode. A request that times out is an evaluation failure rather than a deny, so it fails closed - or proceeds when failOpen is set - like any other failure to reach a verdict. | 30000 | long |
 | **bearerToken** (security) | Bearer token sent to the OPA server in the Authorization header, for an OPA instance that has its API authentication enabled. |  | String |
 | **failOpen** (security) | Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production. | false | boolean |
+| **sslContextParameters** (security) | TLS configuration for the connection to the OPA server in rest mode. Needed to trust a server whose certificate comes from a private CA, and to present a client certificate to a server that requires mutual TLS - a SPIFFE X.509-SVID, for instance, so the workload authenticates to the policy decision point as itself. |  | SSLContextParameters |
 
 ## Message Headers
 
@@ -333,6 +340,36 @@ Evaluation instances carry mutable state and are not thread-safe, so `wasm` mode
 
 Size `poolSize` for the concurrency the route actually sees. A policy that takes a long time to evaluate holds its instance for that whole time, so the two options trade against each other: raise `poolSize` when many exchanges evaluate at once, and `borrowTimeout` when a single evaluation is legitimately slow. A policy that can run long enough to matter is usually better served by `evaluationMode=rest`, where the decision point is a separate process that a timeout can abandon.
 
+## Connecting to the server
+
+In `rest` mode the component talks to OPA over HTTP, and both waits are bounded:
+
+-   `connectionTimeout` (default 10s) — establishing the connection.
+    
+-   `requestTimeout` (default 30s) — waiting for the decision once connected.
+    
+
+Neither is optional in practice. A refused connection fails immediately, but a server that **accepts** and then stops answering — wedged, mid-restart, or behind a load balancer holding the socket — would otherwise park the routing thread indefinitely. For a component that fails closed that is worse than a denial: it never reaches the point of deciding. A timeout is treated as a failure to reach a verdict, so it denies, or proceeds if `failOpen` is set, like any other such failure.
+
+TLS is configured with `sslContextParameters`, the usual [JSSE utility](../../manual/camel-configuration-utilities.md):
+
+```java
+from("platform-http:/orders")
+    .to("opa:authz/orders/allow?serverUrl=https://opa:8181&sslContextParameters=#opaTls")
+```
+
+Set `useGlobalSslContextParameters=true` on the component to pick up the context-wide configuration instead.
+
+That is what lets a workload present a client certificate to an OPA server requiring mutual TLS — a SPIFFE X.509-SVID, for example, so the application authenticates to the policy decision point as itself rather than relying on network position:
+
+```java
+SpiffeSSLContextParameters spiffe = new SpiffeSSLContextParameters();
+spiffe.setCamelContext(context);
+context.getRegistry().bind("opaTls", spiffe);
+```
+
+None of this applies in `wasm` mode, where there is no server to reach.
+
 ## Failure handling
 
 The component fails closed. If the policy cannot be evaluated at all — the OPA server is unreachable, times out, or answers with an error — the producer throws an `OpaPolicyEvaluationException` and `OpaSecurityPolicy` throws a `CamelAuthorizationException`; in neither case does the message proceed as allowed. This is deliberately different from a deny, which is a decision rather than a failure, so a route can tell "denied" from "no policy decision point available".
diff --git a/manual/camel-4x-upgrade-guide-4_23.html b/manual/camel-4x-upgrade-guide-4_23.html
index 4511bf7a41..4e736b9b5c 100644
--- a/manual/camel-4x-upgrade-guide-4_23.html
+++ b/manual/camel-4x-upgrade-guide-4_23.html
@@ -78,4 +78,4 @@ camel.debug.jmx-connector-port = 1099</code></pre> </div> </div> <div class="par
             inheritErrorHandler: "{{myInheritFlag}}"
             steps:
               - to:
-                  uri: mock:a</code></pre> </div> </div> <div class="paragraph"> <p>Before this change the value was converted to a <code>Boolean</code> while the route was being loaded, so <code>inheritErrorHandler: "{{myInheritFlag}}"</code> silently evaluated to <code>false</code> instead of resolving the placeholder.</p> </div> <div class="paragraph"> <p>The accessors changed accordingly:</p> </div> <div class="ulist"> <ul> <li> <p><code>ProcessorDefinition.getInheritErrorHandler()</ [...]
\ No newline at end of file
+                  uri: mock:a</code></pre> </div> </div> <div class="paragraph"> <p>Before this change the value was converted to a <code>Boolean</code> while the route was being loaded, so <code>inheritErrorHandler: "{{myInheritFlag}}"</code> silently evaluated to <code>false</code> instead of resolving the placeholder.</p> </div> <div class="paragraph"> <p>The accessors changed accordingly:</p> </div> <div class="ulist"> <ul> <li> <p><code>ProcessorDefinition.getInheritErrorHandler()</ [...]
\ No newline at end of file
diff --git a/manual/camel-4x-upgrade-guide-4_23.md b/manual/camel-4x-upgrade-guide-4_23.md
index 0882f82159..6ca9586e37 100644
--- a/manual/camel-4x-upgrade-guide-4_23.md
+++ b/manual/camel-4x-upgrade-guide-4_23.md
@@ -1341,4 +1341,12 @@ The fluent builder `CircuitBreakerDefinition.inheritErrorHandler(boolean)` and t
 
 ### camel-weaviate - removed the unused vector field name header
 
-The `CamelweaviateVectorFieldName` header (`WeaviateVectorDbHeaders.VECTOR_FIELD_NAME`) has been removed. It was read by the Weaviate embeddings data-type transformer but its value was never used — the embedding vector is always sent as the object vector, so a "vector field name" had no effect (Weaviate has no named vector-field concept in this producer). Routes that set this header can simply drop it; behaviour is unchanged.
\ No newline at end of file
+The `CamelweaviateVectorFieldName` header (`WeaviateVectorDbHeaders.VECTOR_FIELD_NAME`) has been removed. It was read by the Weaviate embeddings data-type transformer but its value was never used — the embedding vector is always sent as the object vector, so a "vector field name" had no effect (Weaviate has no named vector-field concept in this producer). Routes that set this header can simply drop it; behaviour is unchanged.
+
+### toD now passes the raw URI to useRawUri() components
+
+Components that override `useRawUri()` to return `true` (such as `kamelet`, `master`, and `webhook`) now receive the original, un-encoded URI when the endpoint is resolved dynamically via `toD`, exactly as they already did via the static `to` DSL.
+
+Before this change, `toD` passed the URL-encoded (normalised) form to such components, causing parameter values containing special characters (`%`, `+`, `?`, `=`, `@`, `|`) to arrive double-encoded at the component.
+
+This is a bug fix (CAMEL-24747). Routes that relied on `toD` passing the encoded form to a `useRawUri()` component will now see the original raw value instead. For all other components (`useRawUri()` returns `false`), behaviour is unchanged.
\ No newline at end of file
diff --git a/manual/camel-jbang-running.html b/manual/camel-jbang-running.html
index 4a16c6f5ea..29f02ee235 100644
--- a/manual/camel-jbang-running.html
+++ b/manual/camel-jbang-running.html
@@ -8,8 +8,8 @@ camel run foo.yaml --properties=/var/my-app/config.properties</code></pre> </div
               constant: "Hello World"</code></pre> </div> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">camel run server.yaml</code></pre> </div> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ curl http://localhost:8080/hello
 Hello World%</code></pre> </div> </div> <div class="admonitionblock note"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> Camel CLI only supports <code>platform-http</code> for HTTP serving and REST DSL. It does not support <code>camel-servlet</code> or <code>camel-jetty</code>. </td> </tr> </table></div> </div> </div> </div> <div class="sect1"> <h2 id="_adding_custom_jars"><a class="anchor" href="#_adding_cu [...]
 camel run foo.camel.yaml --runtime=spring-boot
-camel run foo.camel.yaml --runtime=quarkus</code></pre> </div> </div> <div class="paragraph"> <p>This does an export to a temporary folder (the same as <code>camel export</code>), builds the project with Maven, and runs it in a new JVM. Camel Main runs the packaged runner JAR with plain <code>java</code>, Spring Boot runs via <code>spring-boot:run</code>, and Quarkus via <code>quarkus:dev</code> (or <code>quarkus:run</code>). This is the same JVM you would get from <code>camel export</co [...]
-camel run foo.camel.yaml --runtime=quarkus --quarkus-version=3.9.4</code></pre> </div> </div> <div class="paragraph"> <p>When running an existing Maven project (<code>camel run pom.xml</code>) the runtime is detected from the <code>pom.xml</code>, as such a project cannot run in-process.</p> </div> </div> </div> <div class="sect1"> <h2 id="_running_local_kamelets"><a class="anchor" href="#_running_local_kamelets"></a>Running local Kamelets</h2> <div class="sectionbody"> <div class="parag [...]
+camel run foo.camel.yaml --runtime=quarkus</code></pre> </div> </div> <div class="paragraph"> <p>This does an export to a temporary folder (the same as <code>camel export</code>), builds the project with Maven, and runs it in a new JVM. Camel Main runs the packaged runner JAR with plain <code>java</code>, Spring Boot runs via <code>spring-boot:run</code>, and Quarkus via <code>quarkus:dev</code> (or <code>quarkus:run</code>). This is the same JVM you would get from <code>camel export</co [...]
+camel run foo.camel.yaml --runtime=quarkus --quarkus-version=3.9.4</code></pre> </div> </div> <div class="paragraph"> <p>When running an existing Maven project (<code>camel run pom.xml</code>) the runtime is detected from the <code>pom.xml</code>, as such a project cannot run in-process. The application logs to a file in <code>~/.camel</code> so <code>camel log</code> and the TUI can read the logs; see <a href="camel-jbang-tips.html#_running_a_maven_based_project" class="xref page">Runni [...]
 camel init wine-sink.kamelet.yaml        # creates a sink kamelet</code></pre> </div> </div> <div class="paragraph"> <p>Use the new Kamelet in a route:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-yaml hljs" data-lang="yaml">- route:
     from:
       uri: kamelet:cheese-source
diff --git a/manual/camel-jbang-running.md b/manual/camel-jbang-running.md
index 5a2629d1aa..b7ab4e1320 100644
--- a/manual/camel-jbang-running.md
+++ b/manual/camel-jbang-running.md
@@ -231,6 +231,8 @@ camel run foo.camel.yaml --runtime=quarkus
 
 This does an export to a temporary folder (the same as `camel export`), builds the project with Maven, and runs it in a new JVM. Camel Main runs the packaged runner JAR with plain `java`, Spring Boot runs via `spring-boot:run`, and Quarkus via `quarkus:dev` (or `quarkus:run`). This is the same JVM you would get from `camel export`, and is what the Camel TUI uses when launching examples and folders.
 
+The options `--profile`, `--port`, `--prop`, `--max-seconds`, `--max-messages`, `--max-idle-seconds`, `--jvm-args` and `--jfr` are passed to the application on all three runtimes. The application logs to a file in `~/.camel` so `camel log` and the TUI can read the logs: `<pid>.log` for Spring Boot, and `<name>.log` for Quarkus and Camel Main (`<name>` is the name the application reports, from `--name` or else the first route file).
+
 Limitations compared to the `jbang` runtime:
 
 -   Startup is slower, as the project must be built with Maven first (the first run also downloads the Maven wrapper and plugins).
@@ -253,7 +255,7 @@ camel run foo.camel.yaml --runtime=spring-boot --spring-boot-version=3.2.3 --cam
 camel run foo.camel.yaml --runtime=quarkus --quarkus-version=3.9.4
 ```
 
-When running an existing Maven project (`camel run pom.xml`) the runtime is detected from the `pom.xml`, as such a project cannot run in-process.
+When running an existing Maven project (`camel run pom.xml`) the runtime is detected from the `pom.xml`, as such a project cannot run in-process. The application logs to a file in `~/.camel` so `camel log` and the TUI can read the logs; see [Running a Maven based project](camel-jbang-tips.html#_running_a_maven_based_project).
 
 ## Running local Kamelets
 
diff --git a/manual/camel-jbang-tips.html b/manual/camel-jbang-tips.html
index ed78fedcb8..d2f460fce0 100644
--- a/manual/camel-jbang-tips.html
+++ b/manual/camel-jbang-tips.html
@@ -8,4 +8,4 @@ camel run myroute.java --stub=all          # stub everything</code></pre> </div>
 camel run *</code></pre> </div> </div> <div class="paragraph"> <p>Use <code>--directory</code> to download into a specific folder:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">camel init https://github.com/apache/camel-kamelets-examples/tree/main/jbang/dependency-injection --directory=myproject</code></pre> </div> </div> <div class="paragraph"> <p>Single files and gists work the same way:< [...]
 camel init https://gist.github.com/davsclaus/477ddff5cdeb1ae03619aa544ce47e92</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_upload_files_via_http"><a class="anchor" href="#_upload_files_via_http"></a>Upload files via HTTP</h2> <div class="sectionbody"> <div class="paragraph"> <p>When running with <code>--source-dir</code>, <code>--console</code>, and <code>--dev</code>, you can upload, modify, or delete source files over HTTP:</p> </div> <div class="listingblock"> [...]
 curl -X DELETE http://0.0.0.0:8080/q/upload/*.java
-curl -X DELETE http://0.0.0.0:8080/q/upload/*</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_maven_configuration"><a class="anchor" href="#_maven_configuration"></a>Maven configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>By default, Camel CLI loads <code>~/.m2/settings.xml</code> for Maven mirrors, credentials, and repositories.</p> </div> <div class="paragraph"> <p>You can override the settings file location:</p> </div> <div class="listingblo [...]
\ No newline at end of file
+curl -X DELETE http://0.0.0.0:8080/q/upload/*</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_maven_configuration"><a class="anchor" href="#_maven_configuration"></a>Maven configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>By default, Camel CLI loads <code>~/.m2/settings.xml</code> for Maven mirrors, credentials, and repositories.</p> </div> <div class="paragraph"> <p>You can override the settings file location:</p> </div> <div class="listingblo [...]
\ No newline at end of file
diff --git a/manual/camel-jbang-tips.md b/manual/camel-jbang-tips.md
index c6532ee56a..81ecfa88cd 100644
--- a/manual/camel-jbang-tips.md
+++ b/manual/camel-jbang-tips.md
@@ -187,13 +187,12 @@ For encrypted passwords in Maven settings, configure a master password with `mvn
 
 ## Running a Maven based project
 
-Camel CLI can do a _best effort_ run of an existing Maven-based project for migration purposes:
+Camel CLI can run an existing Maven-based project:
 
 ```bash
 camel run pom.xml
 ```
 
-Camel CLI scans `src/main/java` and `src/main/resources` for files to include.
+The runtime is detected from the `pom.xml` (Spring Boot, Quarkus, or Camel Main), and the project is built and run with Maven (`spring-boot:run`, `quarkus:dev` with `--dev` or `quarkus:run`, and `camel:run`). The project itself is not modified: the `camel-cli-connector` dependency is injected into a temporary `camel-jbang-run-pom.xml`, so the application shows up in `camel ps`, and the application logs to a file in `~/.camel` so `camel log`, the TUI and the MCP server can read the logs t [...]
 
-> **Note**
-> This is not a fully compatible way to run Maven projects. It cannot start Spring Boot or Quarkus applications — use the proper plugins for those. This command is mainly useful for migrating from old projects.
\ No newline at end of file
+The options `--profile`, `--port`, `--prop`, `--max-seconds`, `--max-messages`, `--max-idle-seconds`, `--jvm-args` and `--jfr` are passed to the application (Camel Main runs inside the Maven JVM, so `--jvm-args` and `--jfr` are set via `MAVEN_OPTS`). A Camel Main project is expected to use log4j2 for logging (the same as `camel export --runtime=main` generates).
\ No newline at end of file
diff --git a/manual/camel-jbang-tui.html b/manual/camel-jbang-tui.html
index f35003924e..1e64f7e515 100644
--- a/manual/camel-jbang-tui.html
+++ b/manual/camel-jbang-tui.html
@@ -1,11 +1,11 @@
 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Camel TUI :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/manual/camel-jbang-tui.html"> <meta name="generator" content="Antora 3.2.0"> <link rel="stylesheet" href="../_/css/vendor/docsearch-5db8a73adb.css"> <link rel="stylesheet" href="../_/css/site-8b1f35b7a5.css"> <meta name="application-name" content="Apache Camel"> <met [...]
-camel tui /path/to/my-project</code></pre> </div> </div> <div class="paragraph"> <p>The TUI opens the directory in the Source tab so you can browse the project files immediately. When a <code>pom.xml</code> is present, the runtime is auto-detected (Spring Boot, Quarkus, or Camel Main). Press <strong>F10</strong> to run the project&#8201;&#8212;&#8201;Maven projects are launched with the appropriate goal (<code>spring-boot:run</code>, <code>quarkus:dev</code>, or <code>camel:run</code>),  [...]
+camel tui /path/to/my-project</code></pre> </div> </div> <div class="paragraph"> <p>The TUI opens the directory in the Source tab so you can browse the project files immediately. When a <code>pom.xml</code> is present, the runtime is auto-detected (Spring Boot, Quarkus, or Camel Main). Press <strong>F10</strong> to run the project&#8201;&#8212;&#8201;Maven projects are run with <code>camel run pom.xml</code>, which launches them with the appropriate goal (<code>spring-boot:run</code>, <c [...]
     &lt;groupId&gt;org.apache.camel.springboot&lt;/groupId&gt;
     &lt;artifactId&gt;camel-cli-connector-starter&lt;/artifactId&gt;
 &lt;/dependency&gt;</code></pre> </div> </div> <div class="paragraph"> <p>Quarkus:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel.quarkus&lt;/groupId&gt;
     &lt;artifactId&gt;camel-quarkus-cli-connector&lt;/artifactId&gt;
-&lt;/dependency&gt;</code></pre> </div> </div> <div class="paragraph"> <p>Once added, start your application normally and the TUI will discover it automatically. No additional configuration is needed&#8201;&#8212;&#8201;the connector auto-detects on the classpath and registers the application with the local Camel CLI.</p> </div> <div class="admonitionblock tip"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> Wh [...]
+&lt;/dependency&gt;</code></pre> </div> </div> <div class="paragraph"> <p>Once added, start your application normally and the TUI will discover it automatically. No additional configuration is needed&#8201;&#8212;&#8201;the connector auto-detects on the classpath and registers the application with the local Camel CLI.</p> </div> <div class="admonitionblock tip"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> Wh [...]
 brew install ollama
 
 # Linux
diff --git a/manual/camel-jbang-tui.md b/manual/camel-jbang-tui.md
index 42023133a6..63208417f3 100644
--- a/manual/camel-jbang-tui.md
+++ b/manual/camel-jbang-tui.md
@@ -65,7 +65,7 @@ camel tui .
 camel tui /path/to/my-project
 ```
 
-The TUI opens the directory in the Source tab so you can browse the project files immediately. When a `pom.xml` is present, the runtime is auto-detected (Spring Boot, Quarkus, or Camel Main). Press **F10** to run the project — Maven projects are launched with the appropriate goal (`spring-boot:run`, `quarkus:dev`, or `camel:run`), and plain directories are run with `camel run`.
+The TUI opens the directory in the Source tab so you can browse the project files immediately. When a `pom.xml` is present, the runtime is auto-detected (Spring Boot, Quarkus, or Camel Main). Press **F10** to run the project — Maven projects are run with `camel run pom.xml`, which launches them with the appropriate goal (`spring-boot:run`, `quarkus:dev`, or `camel:run`), and plain directories are run with `camel run`. Either way the application logs to `~/.camel` so the Log tab shows its logs.
 
 This is a quick way to explore and run any Camel project without starting it separately first.
 
@@ -94,7 +94,7 @@ Quarkus:
 Once added, start your application normally and the TUI will discover it automatically. No additional configuration is needed — the connector auto-detects on the classpath and registers the application with the local Camel CLI.
 
 > **Tip**
-> When you open a Spring Boot project via **F2 > Open Project** and run it with **F10**, the TUI automatically injects the `camel-cli-connector-starter` dependency if it’s not already in your `pom.xml`. This means the TUI can monitor the application without modifying your project.
+> When you open a Spring Boot, Quarkus or Camel Main project via **F2 > Open Project** and run it with **F10**, the CLI connector dependency is automatically injected if it’s not already in your `pom.xml`. This means the TUI can monitor the application without modifying your project.
 
 See [Managing Integrations](camel-jbang-managing.md) for more details.
 
diff --git a/schema/cxf/jaxrs/camel-cxf-spring-rest-4.22.1-spring.xsd b/schema/cxf/jaxrs/camel-cxf-spring-rest-4.22.1-spring.xsd
new file mode 100644
index 0000000000..8a99bf769e
--- /dev/null
+++ b/schema/cxf/jaxrs/camel-cxf-spring-rest-4.22.1-spring.xsd
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<xsd:schema xmlns="http://camel.apache.org/schema/cxf/jaxrs"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:beans="http://www.springframework.org/schema/beans"
+  xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  targetNamespace="http://camel.apache.org/schema/cxf/jaxrs" 
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified">
+
+  <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+  <xsd:import namespace="http://cxf.apache.org/configuration/beans" schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
+    
+  <xsd:element name="rsServer">
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0" />  
+            <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="invoker" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
+            <xsd:element name="serviceBeans" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="model" type="model" minOccurs="0"/>
+            <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="extensionMappings" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="languageMappings" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string" />
+          <xsd:attribute name="bus" type="xsd:string" />
+          <xsd:attribute name="serviceClass" type="xsd:string"/>                    
+          <xsd:attribute name="transportId" type="xsd:string"/>
+          <xsd:attribute name="modelRef" type="xsd:string" />
+          <xsd:attribute name="bindingId" type="xsd:string" />          
+          <xsd:attribute name="staticSubresourceResolution" type="xsd:boolean" />
+          <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
+          <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+          <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
+          <xsd:attribute name="publishedEndpointUrl" type="xsd:string" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:element name="rsClient">
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0" />
+            <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
+            <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="model" type="model" minOccurs="0"/>
+            <xsd:element name="headers" type="xsd:anyType" minOccurs="0"/> 
+            <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string" />
+          <xsd:attribute name="serviceClass" type="xsd:string"/>
+          <xsd:attribute name="inheritHeaders" type="xsd:boolean"/>
+          <xsd:attribute name="bus" type="xsd:string" />
+          <xsd:attribute name="transportId" type="xsd:string"/>
+          <xsd:attribute name="bindingId" type="xsd:string" />
+          <xsd:attribute name="modelRef" type="xsd:string" />
+          <xsd:attribute name="username" type="xsd:string"/>
+          <xsd:attribute name="password" type="xsd:string"/>
+          <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
+          <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+          <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:complexType name="schemasType">
+    <xsd:sequence>
+      <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+  
+  <xsd:complexType name="model">
+    <xsd:sequence>
+      <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
+         <xsd:complexType>
+             <xsd:sequence>
+                 <xsd:element name="operation" minOccurs="0" maxOccurs="unbounded">
+                    <xsd:complexType>
+                      <xsd:sequence>
+                         <xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
+                           <xsd:complexType>
+                              <xsd:attribute name="name" type="xsd:string"/>
+                              <xsd:attribute name="type" type="xsd:string"/>
+                           </xsd:complexType>
+                         </xsd:element>
+                      </xsd:sequence>
+                      <xsd:attribute name="name" type="xsd:string"/>
+                      <xsd:attribute name="path" type="xsd:string"/>
+                      <xsd:attribute name="verb" type="xsd:string"/>
+                      <xsd:attribute name="consumes" type="xsd:string"/>
+                      <xsd:attribute name="produces" type="xsd:string"/>
+                    </xsd:complexType>
+                 </xsd:element>
+             </xsd:sequence>
+             <xsd:attribute name="name" type="xsd:string"/>
+             <xsd:attribute name="path" type="xsd:string"/>
+         </xsd:complexType>
+      </xsd:element>   
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string"/>
+  </xsd:complexType>  
+</xsd:schema>
diff --git a/schema/cxf/jaxws/camel-cxf-spring-soap-4.22.1-spring.xsd b/schema/cxf/jaxws/camel-cxf-spring-soap-4.22.1-spring.xsd
new file mode 100644
index 0000000000..ea7ac07a00
--- /dev/null
+++ b/schema/cxf/jaxws/camel-cxf-spring-soap-4.22.1-spring.xsd
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<xsd:schema xmlns="http://camel.apache.org/schema/cxf/jaxws"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:beans="http://www.springframework.org/schema/beans"
+  xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  targetNamespace="http://camel.apache.org/schema/cxf/jaxws" 
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified">
+
+  <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+  <xsd:import namespace="http://cxf.apache.org/configuration/beans" schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
+    
+  <xsd:element name="cxfEndpoint">
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>            
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>            
+            <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
+            <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
+            <xsd:element name="serviceFactory" type="xsd:anyType" minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string" />
+          <xsd:attribute name="bindingId" type="xsd:string" />
+          <xsd:attribute name="bus" type="xsd:string" />
+          <xsd:attribute name="serviceClass" type="xsd:string"/>
+          <xsd:attribute name="transportId" type="xsd:string"/>
+          <xsd:attribute name="wsdlURL" type="xsd:string" />
+          <xsd:attribute name="endpointName" type="xsd:string" />
+          <xsd:attribute name="serviceName" type="xsd:string" />
+          <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
+          <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
+          <xsd:attribute name="skipFaultLogging" type="xsd:boolean" />
+          <xsd:attribute name="continuationTimeout" type="xsd:long" />
+          <xsd:attribute name="publishedEndpointUrl" type="xsd:string" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:complexType name="schemasType">
+    <xsd:sequence>
+      <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+  
+  <xsd:complexType name="model">
+    <xsd:sequence>
+      <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
+         <xsd:complexType>
+             <xsd:sequence>
+                 <xsd:element name="operation" minOccurs="0" maxOccurs="unbounded">
+                    <xsd:complexType>
+                      <xsd:sequence>
+                         <xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
+                           <xsd:complexType>
+                              <xsd:attribute name="name" type="xsd:string"/>
+                              <xsd:attribute name="type" type="xsd:string"/>
+                           </xsd:complexType>
+                         </xsd:element>
+                      </xsd:sequence>
+                      <xsd:attribute name="name" type="xsd:string"/>
+                      <xsd:attribute name="path" type="xsd:string"/>
+                      <xsd:attribute name="verb" type="xsd:string"/>
+                      <xsd:attribute name="consumes" type="xsd:string"/>
+                      <xsd:attribute name="produces" type="xsd:string"/>
+                    </xsd:complexType>
+                 </xsd:element>
+             </xsd:sequence>
+             <xsd:attribute name="name" type="xsd:string"/>
+             <xsd:attribute name="path" type="xsd:string"/>
+         </xsd:complexType>
+      </xsd:element>   
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string"/>
+  </xsd:complexType>  
+</xsd:schema>
diff --git a/schema/spring-security/camel-spring-security-4.22.1.xsd b/schema/spring-security/camel-spring-security-4.22.1.xsd
new file mode 100644
index 0000000000..f5725057bf
--- /dev/null
+++ b/schema/spring-security/camel-spring-security-4.22.1.xsd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<xsd:schema xmlns="http://camel.apache.org/schema/spring-security"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:beans="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:camel-spring="http://camel.apache.org/schema/spring"
+  targetNamespace="http://camel.apache.org/schema/spring-security"
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified">
+
+  <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+  <xsd:import namespace="http://camel.apache.org/schema/spring" schemaLocation="http://camel.apache.org/schema/spring/camel-spring.xsd"/>
+
+  <xsd:element name="authorizationPolicy">
+	  <xsd:complexType>
+	  	<xsd:attribute name="id" type="xsd:ID" use="required" />
+	  	<xsd:attribute name="access" type="xsd:string" />	  	
+	  	<xsd:attribute name="authenticationAdapter" type="xsd:string" />
+		  <xsd:attribute name="authenticationManager" type="xsd:string" />
+		  <xsd:attribute name="authorizationManager" type="xsd:string" />
+		  <xsd:attribute name="useThreadSecurityContext" type="xsd:boolean" default="true"/>
+	  	<xsd:attribute name="alwaysReauthenticate" type="xsd:boolean" default="false"/>
+	  </xsd:complexType>
+  </xsd:element>
+  
+</xsd:schema>
diff --git a/schema/spring-xml/camel-spring-xml-4.22.1.xsd b/schema/spring-xml/camel-spring-xml-4.22.1.xsd
new file mode 100644
index 0000000000..c1b2dfa842
--- /dev/null
+++ b/schema/spring-xml/camel-spring-xml-4.22.1.xsd
@@ -0,0 +1,17519 @@
+<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://camel.apache.org/schema/spring" elementFormDefault="qualified" targetNamespace="http://camel.apache.org/schema/spring" version="1.0">
+  <xs:element name="a2aSubTask" type="tns:a2ASubTaskDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Groups route steps and emits A2A (Agent-to-Agent) protocol progress events before, after, or when the grouped work fails
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="aggregate" type="tns:aggregateDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Collects and combines related messages into a single message using a correlation expression and an aggregation strategy.
+Messages are grouped into buckets by correlation key and released when a completion condition is met.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="apiKey" type="tns:apiKeyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures API key authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="asn1" type="tns:asn1DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encode and decode data structures using Abstract Syntax Notation One (ASN.1)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="avro" type="tns:avroDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Serialize and deserialize messages using Apache Avro binary data format
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="barcode" type="tns:barcodeDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transform strings to various 1D/2D barcode bitmap formats and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="base64" type="tns:base64DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encode and decode data using Base64
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="basicAuth" type="tns:basicAuthDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures HTTP Basic authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="batchConfig" type="tns:batchResequencerConfig">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the batch-processing mode of the Resequence EIP, which collects messages into a batch and sorts them before
+releasing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="bean" type="tns:beanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Invokes a method on a Java bean, with automatic parameter binding from the message body, headers, and exchange
+properties
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="beanFactory" type="tns:beanFactoryDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a custom bean that can be used in Camel routes and other beans. The bean is created by a factory class or
+method.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="beanPostProcessor" type="tns:camelBeanPostProcessor">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Spring specific DefaultCamelBeanPostProcessor which uses Spring BeanPostProcessor to post process beans.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="beanio" type="tns:beanioDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="beans" type="tns:beansDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container element for defining beans, routes, and other elements using XML DSL with camel-xml-io-dsl
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="bearerToken" type="tns:bearerTokenDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures Bearer token authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="bindy" type="tns:bindyDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java beans from and to flat payloads (such as CSV, delimited, fixed length formats, or FIX
+messages)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="camel" type="tns:applicationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Root element for a Camel application defined using XML DSL with camel-xml-io-dsl, containing beans, routes, and
+configuration
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="camelContext" type="tns:camelContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+CamelContext using XML configuration.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="cbor" type="tns:cborDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Unmarshal a CBOR payload to POJO and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="choice" type="tns:choiceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Routes messages to different steps based on a series of conditions (predicates), similar to if-elseif-else in Java. Each
+condition is evaluated in order until one matches.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="circuitBreaker" type="tns:circuitBreakerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Wraps message processing with a circuit breaker for fault tolerance. Prevents cascading failures by short-circuiting
+calls to an unhealthy service and routing to a fallback
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="claimCheck" type="tns:claimCheckDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Temporarily stores the message content and replaces it with a claim check key, allowing the content to be retrieved
+later in the route. Useful for reducing memory when large payloads pass through processing steps that don't need them.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="constant" type="tns:constantExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+A fixed value set only once during the route startup
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a ConsumerTemplate
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="contextScan" type="tns:contextScanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Scans for RouteBuilder instances in the Camel registry to auto-discover and register routes
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="convertBodyTo" type="tns:convertBodyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Converts the message body to a specified Java type using Camel's built-in type converters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="convertHeaderTo" type="tns:convertHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Converts a message header value to a specified Java type using Camel's built-in type converters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="convertVariableTo" type="tns:convertVariableDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Converts a variable value to a specified Java type using Camel's built-in type converters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="crypto" type="tns:cryptoDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encrypt and decrypt messages using Java Cryptography Extension (JCE)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="csimple" type="tns:cSimpleExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Deprecated: Evaluate a compiled simple expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="csv" type="tns:csvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Handle CSV (Comma Separated Values) payloads
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="custom" type="tns:customDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Delegates to a custom DataFormat implementation looked up from the Camel registry by name
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="customLoadBalancer" type="tns:customLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References a custom load balancer implementation from the registry
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="customTransformer" type="tns:customTransformerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References a custom data type transformer implementation from the registry for route-level transformations
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="customValidator" type="tns:customValidatorDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References a custom data type validator implementation from the registry for route-level validation
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="dataFormatTransformer" type="tns:dataFormatTransformerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Uses a Camel data format to perform data type transformation between input and output types
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="dataFormats" type="tns:dataFormatsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for defining data format configurations
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="datasonnet" type="tns:datasonnetExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+To use DataSonnet scripts for message transformations
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="deadLetterChannel" type="tns:deadLetterChannelDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Error handler that moves failed messages to a dead letter endpoint after exhausting redelivery attempts
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="defaultErrorHandler" type="tns:defaultErrorHandlerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+The default error handler that supports redelivery with configurable retry policies and delay patterns
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="delay" type="tns:delayDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Delays message processing for a specified duration, which can be a fixed value or computed dynamically per message
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="delete" type="tns:deleteDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP DELETE operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="dfdl" type="tns:dfdlDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transforms fixed format data such as EDI message from/to XML using a Data Format Description Language (DFDL)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="doCatch" type="tns:catchDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Catches specific exceptions within a doTry block, allowing fine-grained exception handling within the route
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="doFinally" type="tns:finallyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines steps to always execute after a doTry block completes, regardless of whether an exception was thrown or caught
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="doTry" type="tns:tryDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Wraps route steps in a try-catch-finally block for fine-grained exception handling within the route
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="dynamicRouter" type="tns:dynamicRouterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Routes a message step-by-step through a series of endpoints, determined dynamically by calling an expression repeatedly.
+The expression is called after each hop and returns the next endpoint, or null to stop.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="endpoint" type="tns:camelEndpointFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Camel endpoint configuration
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="endpointTransformer" type="tns:endpointTransformerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Uses a Camel endpoint to perform data type transformation by sending the message through the endpoint
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="endpointValidator" type="tns:endpointValidatorDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Uses a Camel endpoint to perform data type validation by sending the message through the endpoint
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="enrich" type="tns:enrichDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Enriches the message with additional data obtained by sending to another endpoint using request-reply. The reply is
+merged into the original message using an aggregation strategy.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="errorHandler" nillable="true" type="xs:anyType">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures error handling strategy for routes, controlling how failed exchanges are handled and redelivered
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="exchangeProperty" type="tns:exchangePropertyExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Gets a property from the Exchange
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="expression" type="tns:expressionSubElementDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+A useful base class for an expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="expressionDefinition" type="tns:expression"/>
+  <xs:element name="failoverLoadBalancer" type="tns:failoverLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that tries the next endpoint in case of failure, cycling through available endpoints until one succeeds
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="faultToleranceConfiguration" type="tns:faultToleranceConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures MicroProfile Fault Tolerance settings for the Circuit Breaker EIP, such as timeout, bulkhead, and retry
+parameters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="fhirJson" type="tns:fhirJsonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshall and unmarshall FHIR objects to/from JSON
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="fhirXml" type="tns:fhirXmlDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshall and unmarshall FHIR objects to/from XML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="filter" type="tns:filterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Filters messages using a predicate expression. Messages matching the predicate continue processing; non-matching
+messages are skipped.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="flatpack" type="tns:flatpackDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using
+Flatpack library
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="fluentTemplate" type="tns:camelFluentProducerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a org.apache.camel.FluentProducerTemplate
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="fory" type="tns:foryDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Serialize and deserialize messages using Apache Fory
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="from" type="tns:fromDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines the consumer endpoint that acts as the input source for a route
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="get" type="tns:getDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP GET operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="globalOption" type="tns:globalOptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a single global configuration option as a key/value pair for the CamelContext
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="globalOptions" type="tns:globalOptionsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a collection of global configuration options for the CamelContext
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="grok" type="tns:grokDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Unmarshal unstructured data to objects using Logstash based Grok patterns
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="groovy" type="tns:groovyExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Groovy script
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="groovyJson" type="tns:groovyJSonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transform between JSon and java.util.Map or java.util.List objects
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="groovyXml" type="tns:groovyXmlDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transform between XML and Groovy Node (Map structure) objects
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="gzipDeflater" type="tns:gzipDeflaterDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Compress and decompress messages using java.util.zip.GZIP*Stream
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="head" type="tns:headDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP HEAD operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="header" type="tns:headerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Gets a header from the Exchange
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="hl7" type="tns:hl7DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="hl7terser" type="tns:hl7TerserExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Get the value of a HL7 message field specified by terse location specification syntax
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ical" type="tns:icalDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal iCal (*.ics) documents to/from model objects
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="idempotentConsumer" type="tns:idempotentConsumerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Filters out duplicate messages based on a unique message identifier and an idempotent repository that tracks previously
+seen IDs
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="inputType" type="tns:inputTypeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Declares the expected input data type for a route. Camel will apply a data type transformer if the actual message type
+differs at runtime.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="intercept" type="tns:interceptDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Intercepts each message at every processing step in the route, allowing cross-cutting logic such as logging or auditing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="interceptFrom" type="tns:interceptFromDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Intercepts incoming messages arriving from consumer endpoints, optionally filtering by endpoint URI pattern
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="interceptSendToEndpoint" type="tns:interceptSendToEndpointDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Intercepts messages being sent to a specific endpoint, allowing the message to be modified or the send to be skipped
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="iso8583" type="tns:iso8583DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Create, edit and read ISO-8583 messages
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jacksonXml" type="tns:jacksonXMLDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jactl" type="tns:jactlExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Jactl script
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="java" type="tns:javaExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Java (Java compiled once at runtime) expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jaxb" type="tns:jaxbDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jmxAgent" type="tns:camelJMXAgentDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+JMX configuration.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="joor" type="tns:joorExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Deprecated: Evaluates a jOOR (Java compiled once at runtime) expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jq" type="tns:jqExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a JQ expression against a JSON message body
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="js" type="tns:javaScriptExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a JavaScript expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="json" type="tns:jsonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal POJOs to JSON and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jsonApi" type="tns:jsonApiDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal JSON:API resources using JSONAPI-Converter library
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jsonpath" type="tns:jsonPathExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a JSONPath expression against a JSON message body
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="jtaTransactionErrorHandler" type="tns:jtaTransactionErrorHandlerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transactional error handler using JTA (Java Transaction API) that marks the transaction for rollback on failure
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="kamelet" type="tns:kameletDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Calls a Kamelet (reusable route template) as a step in the route. Normally Kamelets are invoked via kamelet: endpoint
+URIs; this EIP is for special cases where direct invocation is needed.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="keyStoreParameters" type="tns:keyStoreParametersFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Key store facility for cryptographic keys and certificates
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="langChain4jCharacterTokenizer" type="tns:langChain4JCharacterTokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits text into chunks by character count, using LangChain4j's character tokenizer for AI text processing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="langChain4jLineTokenizer" type="tns:langChain4JLineTokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits text into chunks line by line, using LangChain4j's line tokenizer for AI text processing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="langChain4jParagraphTokenizer" type="tns:langChain4JParagraphTokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits text into chunks by paragraph boundaries, using LangChain4j's paragraph tokenizer for AI text processing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="langChain4jSentenceTokenizer" type="tns:langChain4JSentenceTokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits text into chunks by sentence boundaries, using LangChain4j's sentence tokenizer for AI text processing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="langChain4jWordTokenizer" type="tns:langChain4JWordTokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits text into chunks by word boundaries, using LangChain4j's word tokenizer for AI text processing
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="language" type="tns:languageExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a custom language
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="loadBalance" type="tns:loadBalanceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Distributes messages across multiple endpoints using a load balancing strategy such as round-robin, random, failover, or
+weighted
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="loadTransformer" type="tns:loadTransformerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Auto-discovers and loads data type transformers from the classpath via scanning
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="log" type="tns:logDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Logs a message using an expression that can include message body, headers, and other exchange data
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="loop" type="tns:loopDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Processes the message body repeatedly for a specified number of iterations, or until a condition is met
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="lzf" type="tns:lzfDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Compress and decompress streams using LZF deflate algorithm
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="marshal" type="tns:marshalDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Serializes the message body into a specific data format such as JSON, XML, CSV, or Protobuf for transmission or storage
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="method" type="tns:methodCallExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Calls a Java bean method
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="mimeMultipart" type="tns:mimeMultipartDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal Camel messages with attachments into MIME-Multipart messages and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="multicast" type="tns:multicastDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sends a copy of the message to multiple fixed endpoints, processing them sequentially or in parallel, and optionally
+aggregating their replies
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="mutualTLS" type="tns:mutualTLSDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures mutual TLS (mTLS) client certificate authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="mvel" type="tns:mvelExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a MVEL template
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="noErrorHandler" type="tns:noErrorHandlerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Disables error handling for a route, causing exceptions to propagate immediately to the caller
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="oauth2" type="tns:oAuth2Definition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures OAuth2 authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ocsf" type="tns:ocsfDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal OCSF (Open Cybersecurity Schema Framework) security events to/from JSON
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ognl" type="tns:ognlExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Deprecated: Evaluates an OGNL expression (Apache Commons OGNL)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="onCompletion" type="tns:onCompletionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines steps to execute when route processing completes, either on success, failure, or both
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="onException" type="tns:onExceptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines exception handling for specific exception types, with options for redelivery, logging, and routing to error
+endpoints
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="onFallback" type="tns:onFallbackDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines the fallback route that executes when the Circuit Breaker trips or the primary route fails
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="onWhen" type="tns:onWhenDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Applies a predicate condition to filter when a parent definition (such as onException or onCompletion) should be
+triggered
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="openApi" type="tns:openApiDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a contract-first REST service using an OpenAPI specification, where Camel auto-generates routes for each
+operation
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="openIdConnect" type="tns:openIdConnectDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures OpenID Connect authentication for a REST service
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="optimisticLockRetryPolicy" type="tns:optimisticLockRetryPolicyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the retry policy for optimistic locking in the Aggregate EIP, controlling retry attempts and delays on
+version conflicts
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="otherwise" type="tns:otherwiseDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines the default branch within a Choice EIP that executes when no When condition matches
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="outputType" type="tns:outputTypeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Declares the expected output data type for a route. Camel will apply a data type transformer if the actual message type
+differs at runtime.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="packageScan" type="tns:packageScanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Scans Java packages on the classpath for RouteBuilder classes to auto-discover and register routes
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="param" type="tns:paramDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a parameter for a REST operation, specifying its type, name, data type, and whether it is required
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="parquetAvro" type="tns:parquetAvroDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Parquet Avro serialization and de-serialization
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="patch" type="tns:patchDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP PATCH operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="pausable" type="tns:pausableDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Pauses a consumer based on a condition, allowing it to be resumed later from the last known offset. Useful for
+controlling ingestion rate on polling consumers.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="pgp" type="tns:pgpDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="pipeline" type="tns:pipelineDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Processes the message through a sequence of steps where the output of each step becomes the input of the next
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="policy" type="tns:policyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Applies a policy to the route, such as a transactional policy or a custom policy for cross-cutting concerns
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="poll" type="tns:pollDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Polls a single message from a consumer endpoint and sets it as the message body. Useful for fetching data on-demand from
+file, database, or messaging endpoints.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="pollEnrich" type="tns:pollEnrichDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Enriches the message with additional data obtained by polling a consumer endpoint (such as a file or message queue). The
+polled data is merged using an aggregation strategy.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="post" type="tns:postDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP POST operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="pqc" type="tns:pqcDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encrypt and decrypt messages using Post-Quantum Cryptography Key Encapsulation Mechanisms (KEM)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="predicateValidator" type="tns:predicateValidatorDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Uses a predicate expression to validate message data types at the route level
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="process" type="tns:processDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Invokes a custom Camel Processor for programmatic message processing in Java
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="propertiesFunction" type="tns:camelPropertyPlaceholderFunctionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Function to use with properties placeholder
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="propertiesLocation" type="tns:camelPropertyPlaceholderLocationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Properties to use with properties placeholder
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="property" type="tns:propertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a key/value pair with a literal value, used for passing parameters in route templates and other configurations
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="propertyExpression" type="tns:propertyExpressionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a key/value pair where the value is computed by an expression, used for passing dynamic parameters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="propertyPlaceholder" type="tns:camelPropertyPlaceholderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Properties placeholder
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="protobuf" type="tns:protobufDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Serialize and deserialize Java objects using Google's Protocol buffers
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="put" type="tns:putDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines an HTTP PUT operation in the REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="python" type="tns:pythonExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Python expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="randomLoadBalancer" type="tns:randomLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that randomly selects a destination endpoint for each message
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="recipientList" type="tns:recipientListDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Routes a message to a list of dynamically calculated endpoints, determined at runtime from an expression. Each recipient
+receives a copy of the message.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="redeliveryPolicy" type="tns:redeliveryPolicyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures message redelivery for error handling, including maximum retries, delay patterns, and backoff settings
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="redeliveryPolicyProfile" type="tns:camelRedeliveryPolicyFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of redelivery policy.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ref" type="tns:refExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Uses an existing expression from the registry
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="refErrorHandler" type="tns:refErrorHandlerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References a custom error handler bean from the registry by its name
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="removeHeader" type="tns:removeHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Removes a specific header from the message by name
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="removeHeaders" type="tns:removeHeadersDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Removes all message headers whose names match a given pattern. Useful for stripping internal Camel headers before
+sending to external systems.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="removeProperties" type="tns:removePropertiesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Removes all exchange properties whose names match a given pattern
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="removeProperty" type="tns:removePropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Removes a specific exchange property by name
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="removeVariable" type="tns:removeVariableDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Removes a specific variable by name
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="resequence" type="tns:resequenceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Reorders messages based on a sequence expression, either in batch mode (collect and sort) or stream mode (continuous
+reordering with a timeout)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="resilience4jConfiguration" type="tns:resilience4JConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures Resilience4j settings for the Circuit Breaker EIP, such as failure rate threshold, wait duration, and sliding
+window parameters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="responseHeader" type="tns:responseHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a response header for a REST operation, used for API documentation and OpenAPI spec generation
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="responseMessage" type="tns:responseMessageDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a response message for a REST operation, including HTTP status code and description for API documentation
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="rest" type="tns:restDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a REST service with HTTP operations (GET, POST, PUT, DELETE, etc.) using the Camel REST DSL
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="restBinding" type="tns:restBindingDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures data binding for a REST service, controlling how request and response bodies are marshalled and unmarshalled
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="restConfiguration" type="tns:restConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures global settings for the REST DSL, such as host, port, context path, binding mode, and the underlying HTTP
+component to use
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="restContext" type="tns:camelRestContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of REST services using rest-dsl using XML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="restContextRef" type="tns:restContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References an external XML file containing REST service definitions for inclusion in the current context
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="restProperty" type="tns:restPropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a key/value property for REST configuration, used to pass component-specific settings
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="rests" type="tns:restsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for a collection of REST service definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="resumable" type="tns:resumableDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Enables resuming processing from the last known offset after a restart, using a resume strategy to track and restore
+position
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="rollback" type="tns:rollbackDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Forces a rollback of the current transaction and stops routing the message. Can set a custom message on the exception.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="roundRobinLoadBalancer" type="tns:roundRobinLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that cycles through destination endpoints in sequential order, distributing the load evenly
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="route" type="tns:routeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a Camel route that specifies the processing steps a message goes through from a consumer endpoint to one or more
+producer endpoints
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeBuilder" type="tns:routeBuilderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References a Java RouteBuilder class to include its routes in the current CamelContext
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeConfiguration" type="tns:routeConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines reusable configuration that is automatically applied to matching routes, such as shared error handling or
+interceptors
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeConfigurationContext" type="tns:camelRouteConfigurationContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of route configurations using XML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeConfigurationContextRef" type="tns:routeConfigurationContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References an external XML file containing route configuration definitions for inclusion in the current context
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeConfigurations" type="tns:routeConfigurationsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for a collection of route configuration definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeContext" type="tns:camelRouteContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of routes using XML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeContextRef" type="tns:routeContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References an external XML file containing route definitions for inclusion in the current context
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeController" type="tns:camelRouteControllerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Route controller configuration.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeTemplate" type="tns:routeTemplateDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a parameterized route template that can be instantiated multiple times with different parameter values
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeTemplateContext" type="tns:camelRouteTemplateContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of route templates using XML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeTemplateContextRef" type="tns:routeTemplateContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+References an external XML file containing route template definitions for inclusion in the current context
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routeTemplates" type="tns:routeTemplatesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for a collection of route template definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routes" type="tns:routesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for a collection of route definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="routingSlip" type="tns:routingSlipDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Routes a message through a pre-determined sequence of endpoints defined in a header or expression (the routing slip).
+The list of endpoints is evaluated once upfront.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="rss" type="tns:rssDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transform from ROME SyndFeed Java Objects to XML and vice-versa
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="saga" type="tns:sagaDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a Saga (long-running action) that coordinates distributed services toward a consistent outcome. Unlike XA
+transactions, Sagas use compensating actions for rollback and work across heterogeneous services.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="sample" type="tns:samplingDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Samples a subset of messages passing through the route, either by frequency count or time interval, and discards the
+rest
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="script" type="tns:scriptDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Executes an expression or script in a chosen language for side effects without modifying the message body
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="secureRandomParameters" type="tns:secureRandomParametersFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Cryptographically strong random number generator
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="security" type="tns:securityDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Applies a security requirement to a REST operation, referencing a security scheme defined at the service level
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="securityDefinitions" type="tns:restSecuritiesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for security scheme definitions used by REST services
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setBody" type="tns:setBodyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the message body to a value computed by an expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setExchangePattern" type="tns:setExchangePatternDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the message exchange pattern (MEP) on the exchange, such as InOnly for one-way or InOut for request-reply
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setHeader" type="tns:setHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a message header to a value computed by an expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setHeaders" type="tns:setHeadersDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets multiple message headers at once, each computed by its own expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setProperty" type="tns:setPropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets an exchange property to a value computed by an expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setVariable" type="tns:setVariableDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a variable to a value computed by an expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="setVariables" type="tns:setVariablesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets multiple variables at once, each computed by its own expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="simple" type="tns:simpleExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Camel simple expression
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="smooks" type="tns:smooksDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transform and bind XML as well as non-XML data, including EDI, CSV, JSON, and YAML using Smooks
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="soap" type="tns:soapDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal Java objects to SOAP messages and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="sort" type="tns:sortDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sorts the items in a message body that is a List, using a specified comparator or the default ordering
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="spel" type="tns:spELExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Spring expression (SpEL)
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="split" type="tns:splitDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Splits a message into multiple sub-messages using an expression, and processes each one individually. Supports parallel
+processing and result aggregation.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="springTransactionErrorHandler" type="tns:springTransactionErrorHandlerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transactional error handler using Spring Transaction Manager that marks the transaction for rollback on failure
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="sslContextParameters" type="tns:sslContextParametersFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Secure socket protocol configuration
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="step" type="tns:stepDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Groups a sequence of processing steps under a single logical name for improved monitoring, management, and tracing
+visibility
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="stickyLoadBalancer" type="tns:stickyLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that routes messages to the same endpoint based on a correlation expression, ensuring session affinity
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="stop" type="tns:stopDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Stops processing of the current message and marks the exchange as completed without sending it to any further steps
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="streamCaching" type="tns:camelStreamCachingStrategyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Stream caching configuration.
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="streamConfig" type="tns:streamResequencerConfig">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the stream-processing mode of the Resequence EIP, which continuously reorders messages as they arrive using a
+timeout
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="swiftMt" type="tns:swiftMtDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encode and decode SWIFT MT messages
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="swiftMx" type="tns:swiftMxDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encode and decode SWIFT MX messages
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="syslog" type="tns:syslogDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshall SyslogMessages to RFC3164 and RFC5424 messages and back
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="tarFile" type="tns:tarFileDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Archive files into tarballs or extract files from tarballs
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="template" type="tns:camelProducerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a ProducerTemplate
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="templateParameter" type="tns:routeTemplateParameterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a parameter for a route template, with an optional default value and description
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="templatedRoute" type="tns:templatedRouteDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Creates a route instance from a route template, binding specific parameter values to the template's parameters
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="templatedRouteParameter" type="tns:templatedRouteParameterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Provides a parameter value for a templated route, binding a value to a route template parameter
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="templatedRoutes" type="tns:templatedRoutesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for a collection of templated route definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="threadPool" type="tns:camelThreadPoolFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Configuration of thread pools
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="threadPoolProfile" type="tns:threadPoolProfileDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a named thread pool profile with pool size, queue size, and thread keep-alive settings for use by EIPs and
+components
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="threads" type="tns:threadsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Offloads processing of subsequent steps in the route to a thread pool, enabling asynchronous and concurrent message
+handling
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="thrift" type="tns:thriftDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Serialize and deserialize messages using Apache Thrift binary data format
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="throttle" type="tns:throttleDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Limits the message throughput to a maximum number of messages per time period to avoid overloading downstream systems
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="throwException" type="tns:throwExceptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Throws an exception during route processing, either creating a new exception instance or re-throwing an existing one
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="to" type="tns:toDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sends the message to a fixed endpoint URI
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="toD" type="tns:toDynamicDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sends the message to an endpoint URI computed dynamically from an expression, allowing the destination to vary per
+message
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="tokenize" type="tns:tokenizerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Tokenize text payloads using delimiter patterns
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="tokenizer" type="tns:tokenizerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Tokenizes the message body for AI processing, splitting text into chunks suitable for embedding or LLM input
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="topicLoadBalancer" type="tns:topicLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that sends every message to all destination endpoints, similar to a publish-subscribe pattern
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="transacted" type="tns:transactedDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Wraps the route in a transaction, ensuring that all steps within the transacted block either complete together or roll
+back on failure
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="transform" type="tns:transformDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the message body using an expression. Unlike setBody, transform also sets the OUT message body in InOut exchanges
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="transformDataType" type="tns:transformDataTypeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Transforms the message body between known data types (such as XML, JSON, Java objects) using registered data type
+transformers
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="transformers" type="tns:transformersDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for defining data type transformer definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="univocityCsv" type="tns:uniVocityCsvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="univocityFixed" type="tns:uniVocityFixedDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java objects from and to fixed length records using UniVocity Parsers
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="univocityHeader" type="tns:uniVocityHeader">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a column header for UniVocity data format configuration
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="univocityTsv" type="tns:uniVocityTsvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java objects from and to TSV (Tab-Separated Values) records using UniVocity Parsers
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="unmarshal" type="tns:unmarshalDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Deserializes the message body from a specific data format such as JSON, XML, CSV, or Protobuf into a Java object
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="validate" type="tns:validateDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Validates the message against a predicate expression and throws a PredicateValidationException if the validation fails
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="validators" type="tns:validatorsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Container for defining data type validator definitions
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="value" type="tns:valueDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Holds a single value, typically used as a child element in collection-based configurations
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="variable" type="tns:variableExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Gets a variable
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="wasm" type="tns:wasmExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Call a wasm (web assembly) function
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="weightedLoadBalancer" type="tns:weightedLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Load balancer that distributes messages across endpoints according to configured weight ratios
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="when" type="tns:whenDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Defines a conditional branch within a Choice EIP that executes when its predicate evaluates to true
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="wireTap" type="tns:wireTapDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Sends a copy of the message to a secondary endpoint without affecting the original route flow. The tapped message is
+sent asynchronously in a separate thread
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="xmlSecurity" type="tns:xmlSecurityDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Encrypt and decrypt XML payloads using Apache Santuario
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="xpath" type="tns:xPathExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates an XPath expression against an XML payload
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="xquery" type="tns:xQueryExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates an XQuery expressions against an XML payload
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="xtokenize" type="tns:xmlTokenizerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Tokenize XML payloads
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="yaml" type="tns:yamlDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Marshal and unmarshal Java objects to and from YAML
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="zipDeflater" type="tns:zipDeflaterDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Compress and decompress streams using java.util.zip.Deflater and java.util.zip.Inflater
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="zipFile" type="tns:zipFileDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">
+<![CDATA[
+Compression and decompress streams using java.util.zip.Zip*Stream
+]]>
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType abstract="true" name="abstractCamelConsumerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="camelContextId" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Id of CamelContext to use if there are multiple CamelContexts in the same JVM.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="identifiedType">
+    <xs:sequence/>
+    <xs:attribute name="id" type="xs:ID">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The id of this node.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelContextFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelEndpointFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/>
+        </xs:sequence>
+        <xs:attribute name="uri" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the URI to use to resolve the endpoint. Notice that additional options can be configured using a series of
+property.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="propertyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the property.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The property value.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelFluentProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="defaultEndpoint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the default endpoint URI used by default for sending message exchanges.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="defaultEndpoint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the default endpoint URI used by default for sending message exchanges.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelRedeliveryPolicyFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="maximumRedeliveries" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of times a message exchange will be redelivered. Setting a negative value will retry forever.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="redeliveryDelay" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum redelivery delay. Use -1 if you wish to have no maximum. Default value: 1000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether asynchronous delayed redelivery is allowed. This is disabled by default. When enabled it allows Camel to
+schedule a future task for delayed redelivery which prevents current thread from blocking while waiting. Exchange which
+is transacted will however always use synchronous delayed redelivery because the transaction must execute in the same
+thread context. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="backOffMultiplier" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the multiplier used to increase the delay between redeliveries if useExponentialBackOff is enabled. Default value:
+2
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useExponentialBackOff" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables/disables exponential backoff using the backOffMultiplier to increase the time between retries. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the factor used for collision avoidance if enabled via useCollisionAvoidance. Default value: 0.15
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useCollisionAvoidance" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables/disables collision avoidance which adds some randomization to the backoff timings to reduce contention
+probability. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum redelivery delay. Use -1 if you wish to have no maximum. Default value: 60000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retriesExhaustedLogLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the logging level to use for log messages when retries have been exhausted. Default value: ERROR
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retryAttemptedLogLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the logging level to use for log messages when retries are attempted. Default value: DEBUG
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the interval for log messages when retries are attempted. Default value: 0
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logRetryAttempted" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to log retry attempts. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logStackTrace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether stack traces should be logged or not. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logRetryStackTrace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether stack traces should be logged or not. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logHandled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether errors should be logged even if its handled. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logNewException" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether errors should be logged when a new exception occurred during handling a previous exception. Default value:
+true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logContinued" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether errors should be logged even if its continued. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhausted" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether exhausted exceptions should be logged or not. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to log exhausted errors including message history. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhaustedMessageBody" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether exhausted message body/headers should be logged with message history included. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableRedelivery" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Disables redelivery by setting maximum redeliveries to 0. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delayPattern" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets an optional delay pattern to use instead of fixed delay.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Controls whether to allow redelivery while stopping/shutting down a route that uses error handling. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="exchangeFormatterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractCamelThreadPoolFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="poolSize" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the core pool size (threads to keep minimum in pool).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxPoolSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum pool size.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="keepAliveTime" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the keep alive time for inactive threads.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeUnit" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the time unit used for keep alive time. Default value: SECONDS
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxQueueSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of tasks in the work queue. Use -1 for an unbounded queue.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowCoreThreadTimeOut" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to allow core threads to timeout. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="rejectedPolicy" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the handler for tasks which cannot be executed by the thread pool. Default value: CallerRuns
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadName" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom thread name / pattern.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="scheduled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use a scheduled thread pool. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelJMXAgentDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="disabled" type="xs:string"/>
+        <xs:attribute name="onlyRegisterProcessorWithCustomId" type="xs:string"/>
+        <xs:attribute name="mbeanServerDefaultDomain" type="xs:string"/>
+        <xs:attribute name="mbeanObjectDomainName" type="xs:string"/>
+        <xs:attribute name="usePlatformMBeanServer" type="xs:string"/>
+        <xs:attribute name="registerAlways" type="xs:string"/>
+        <xs:attribute name="registerNewRoutes" type="xs:string"/>
+        <xs:attribute name="statisticsLevel" type="xs:string"/>
+        <xs:attribute name="mbeansLevel" type="xs:string"/>
+        <xs:attribute name="loadStatisticsEnabled" type="xs:string"/>
+        <xs:attribute name="endpointRuntimeStatisticsEnabled" type="xs:string"/>
+        <xs:attribute name="includeHostName" type="xs:string"/>
+        <xs:attribute name="useHostIPAddress" type="xs:string"/>
+        <xs:attribute name="mask" type="xs:string"/>
+        <xs:attribute name="updateRouteEnabled" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelPropertyPlaceholderDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:propertiesFunction"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:propertiesLocation"/>
+        </xs:sequence>
+        <xs:attribute name="location" type="xs:string"/>
+        <xs:attribute name="encoding" type="xs:string"/>
+        <xs:attribute name="ignoreMissingLocation" type="xs:boolean"/>
+        <xs:attribute name="nestedPlaceholder" type="xs:boolean"/>
+        <xs:attribute name="propertiesParserRef" type="xs:string"/>
+        <xs:attribute name="defaultFallbackEnabled" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelPropertyPlaceholderFunctionDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelPropertyPlaceholderLocationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="resolver" type="xs:string"/>
+        <xs:attribute name="path" type="xs:string" use="required"/>
+        <xs:attribute name="optional" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelRouteControllerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="supervising" type="xs:string"/>
+        <xs:attribute name="includeRoutes" type="xs:string"/>
+        <xs:attribute name="excludeRoutes" type="xs:string"/>
+        <xs:attribute name="threadPoolSize" type="xs:string"/>
+        <xs:attribute name="initialDelay" type="xs:string"/>
+        <xs:attribute name="backOffDelay" type="xs:string"/>
+        <xs:attribute name="backOffMaxDelay" type="xs:string"/>
+        <xs:attribute name="backOffMaxElapsedTime" type="xs:string"/>
+        <xs:attribute name="backOffMaxAttempts" type="xs:string"/>
+        <xs:attribute name="backOffMultiplier" type="xs:string"/>
+        <xs:attribute name="unhealthyOnExhausted" type="xs:string"/>
+        <xs:attribute name="unhealthyOnRestarting" type="xs:string"/>
+        <xs:attribute name="loggingLevel" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="camelStreamCachingStrategyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="enabled" type="xs:string"/>
+        <xs:attribute name="spoolEnabled" type="xs:string"/>
+        <xs:attribute name="allowClasses" type="xs:string"/>
+        <xs:attribute name="denyClasses" type="xs:string"/>
+        <xs:attribute name="spoolDirectory" type="xs:string"/>
+        <xs:attribute name="spoolCipher" type="xs:string"/>
+        <xs:attribute name="spoolThreshold" type="xs:string"/>
+        <xs:attribute name="spoolUsedHeapMemoryThreshold" type="xs:string"/>
+        <xs:attribute name="spoolUsedHeapMemoryLimit" type="xs:string"/>
+        <xs:attribute name="spoolRules" type="xs:string"/>
+        <xs:attribute name="bufferSize" type="xs:string"/>
+        <xs:attribute name="removeSpoolDirectoryWhenStopping" type="xs:string"/>
+        <xs:attribute name="statisticsEnabled" type="xs:string"/>
+        <xs:attribute name="anySpoolRules" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="patternBasedPackageScanFilter">
+    <xs:sequence/>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractJsseUtilFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractKeyManagersParametersFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractJsseUtilFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="keyPassword" type="xs:string"/>
+        <xs:attribute name="provider" type="xs:string"/>
+        <xs:attribute name="algorithm" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractKeyStoreParametersFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractJsseUtilFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="resource" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The keystore to load. The keystore is by default loaded from classpath. If you must load from file system, then use
+file: as prefix. file:nameOfFile (to refer to the file system) classpath:nameOfFile (to refer to the classpath; default)
+http:uri (to load the resource using HTTP) ref:nameOfBean (to lookup an existing KeyStore instance from the registry,
+for example for testing and development).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="password" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The password for reading/opening/verifying the key store.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The type of the key store to create and load. See
+https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="provider" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The provider identifier for instantiating the key store.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="keyStore" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To lookup an existing KeyStore instance from the registry, for example for testing and development.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractSecureRandomParametersFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractJsseUtilFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="algorithm" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The Random Number Generator algorithm identifier for the SecureRandom factory method used to create the SecureRandom
+represented by this object's configuration. See
+https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="provider" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The provider identifier for the SecureRandom factory method used to create the SecureRandom represented by this object's
+configuration.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="abstractTrustManagersParametersFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractJsseUtilFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="provider" type="xs:string"/>
+        <xs:attribute name="algorithm" type="xs:string"/>
+        <xs:attribute name="trustManager" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="cipherSuitesParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="cipherSuite" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="filterParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="include" nillable="true" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="namedGroupsParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="namedGroup" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="sniHostNames">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="sniHostName" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="secureSocketProtocolsParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="secureSocketProtocol" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="signatureSchemesParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="signatureScheme" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="a2ASubTaskDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="emitBefore" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Simple expression template to emit before the nested steps run.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="emitAfter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Simple expression template to emit after the nested steps complete successfully.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="emitOnError" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Simple expression template to emit when the nested steps fail.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="failIfNoTaskContext" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to fail if the current Exchange does not have an active A2A task context. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="output">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="processorDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence/>
+        <xs:attribute name="disabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled
+later at runtime. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="optionalIdentifiedDefinition">
+    <xs:sequence/>
+    <xs:attribute name="customId" type="xs:boolean"/>
+    <xs:attribute name="description" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The description for this node.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="id" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The id of this node.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="note" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The note for this node.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="aggregateDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:element name="correlationExpression" type="tns:expressionSubElementDefinition">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+The expression used to calculate the correlation key to use for aggregation. Exchanges with the same correlation key are
+aggregated together. If the correlation key cannot be evaluated an Exception is thrown.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element minOccurs="0" name="completionPredicate" type="tns:expressionSubElementDefinition">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+A predicate to indicate when an aggregated exchange is complete. If not specified and the AggregationStrategy implements
+Predicate, it will be used as the completionPredicate.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element minOccurs="0" name="completionTimeoutExpression" type="tns:expressionSubElementDefinition">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+Time in millis that an aggregated exchange should be inactive before its complete (timeout), evaluated as an expression
+allowing dynamic timeout values.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element minOccurs="0" name="completionSizeExpression" type="tns:expressionSubElementDefinition">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+Number of messages aggregated before the aggregation is complete, evaluated as an expression allowing dynamic size
+values.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element minOccurs="0" ref="tns:optimisticLockRetryPolicy"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="parallelProcessing" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When completed exchanges are sent out of the aggregator, this option indicates whether Camel should use a thread pool
+with multiple threads for concurrency. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="optimisticLocking" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Turns on optimistic locking, which requires the aggregation repository to implement
+OptimisticLockingAggregationRepository. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="optimisticLockingSyncRetry" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When optimistic locking is enabled, retries happen synchronously in the same thread instead of being scheduled on a
+background thread. This preserves transaction context for repositories that require single-thread transactional
+guarantees. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executorService" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to a custom thread pool to use for parallel processing and sending out aggregated exchanges.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutCheckerExecutorService" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to a custom thread pool for the background completion timeout checker.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregateController" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to an AggregateController to allow external sources to control this aggregator.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationRepository" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to the AggregationRepository to use. By default uses MemoryAggregationRepository.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategy" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The AggregationStrategy to use. Required. Merges each incoming exchange with the existing already merged exchanges. At
+first call the oldExchange parameter is null.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The method name to use when using a POJO as the AggregationStrategy.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategyMethodAllowNull" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If true then null is used as the oldExchange at the very first aggregation, when using POJOs as the AggregationStrategy.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Number of messages aggregated before the aggregation is complete. Can also be set as an expression via
+completionSizeExpression.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionInterval" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+A repeating period by which the aggregator will complete all current aggregated exchanges. Cannot be used together with
+completionTimeout.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionTimeout" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Time that an aggregated exchange should be inactive before its complete (timeout). Cannot be used together with
+completionInterval.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionTimeoutCheckerInterval" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Interval in millis for the background task that checks for completion timeouts. Default is 1000 (1 second). Default
+value: 1000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionFromBatchConsumer" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables batch completion mode where aggregation completes based on the total number of exchanges reported by a batch
+consumer. Cannot be used together with discardOnAggregationFailure. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionOnNewCorrelationGroup" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables completion on all previous groups when a new incoming correlation group starts. Only one correlation group can
+be in progress at a time. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="eagerCheckCompletion" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then the completion predicate evaluates against the incoming exchange. Otherwise it evaluates against the
+aggregated exchange. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidCorrelationKeys" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then a correlation key that cannot be evaluated is logged and ignored, instead of throwing an exception.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="closeCorrelationKeyOnCompletion" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Closes a correlation key when its complete. Late arriving exchanges with a closed correlation key will throw a
+ClosedCorrelationKeyException. The value is the maximum cache size of closed keys. Use 0 for unbounded.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="discardOnCompletionTimeout" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then the aggregated message is discarded (dropped) on completion timeout instead of being sent out of the
+aggregator. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="discardOnAggregationFailure" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then the partly aggregated message is discarded when aggregation failed (an exception was thrown from
+AggregationStrategy). Cannot be used together with completionFromBatchConsumer. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="forceCompletionOnStop" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then all current aggregated exchanges are completed when the context is stopped. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completeAllOnStop" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then waits to complete all current and partial (pending) aggregated exchanges when the context is stopped,
+ensuring the aggregation repository is empty before shutdown. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="expressionSubElementDefinition">
+    <xs:choice>
+      <xs:element ref="tns:expressionDefinition"/>
+      <xs:element ref="tns:csimple"/>
+      <xs:element ref="tns:constant"/>
+      <xs:element ref="tns:datasonnet"/>
+      <xs:element ref="tns:exchangeProperty"/>
+      <xs:element ref="tns:groovy"/>
+      <xs:element ref="tns:header"/>
+      <xs:element ref="tns:hl7terser"/>
+      <xs:element ref="tns:jactl"/>
+      <xs:element ref="tns:java"/>
+      <xs:element ref="tns:js"/>
+      <xs:element ref="tns:joor"/>
+      <xs:element ref="tns:jq"/>
+      <xs:element ref="tns:jsonpath"/>
+      <xs:element ref="tns:language"/>
+      <xs:element ref="tns:method"/>
+      <xs:element ref="tns:mvel"/>
+      <xs:element ref="tns:ognl"/>
+      <xs:element ref="tns:python"/>
+      <xs:element ref="tns:ref"/>
+      <xs:element ref="tns:simple"/>
+      <xs:element ref="tns:spel"/>
+      <xs:element ref="tns:tokenize"/>
+      <xs:element ref="tns:variable"/>
+      <xs:element ref="tns:wasm"/>
+      <xs:element ref="tns:xtokenize"/>
+      <xs:element ref="tns:xpath"/>
+      <xs:element ref="tns:xquery"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="expression">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="id" type="xs:ID">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The id of this node.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trim" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to trim the source code to remove leading and trailing whitespaces and line breaks. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="optimisticLockRetryPolicyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="maximumRetries" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of retries before giving up on acquiring the optimistic lock.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the delay in milliseconds between retry attempts when the optimistic lock fails. Default value: 50
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="maximumRetryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the upper bound on retry delay in milliseconds to prevent delays from growing unbounded when using exponential or
+random backoff. Default value: 1000
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="exponentialBackOff" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable exponential backoff, so each subsequent retry delay is doubled until the maximum retry delay is
+reached. Default value: true
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="randomBackOff" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable random backoff, which uses a random delay between 0 and the computed retry delay to avoid thundering
+herd problems. Default value: false
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="beanDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+A reference to an existing bean to use, which is looked up from the registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="method" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The method name on the bean to invoke.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="beanType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The class name (fully qualified) of the bean to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="scope" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the
+lifetime of the endpoint. Default value: Singleton
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="noOutputDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="beanFactoryDefinition">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="constructors" type="tns:beanConstructorsDefinition">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+Optional constructor arguments for creating the bean. Arguments correspond to specific index of the constructor argument
+list, starting from zero.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="properties" type="tns:beanPropertiesDefinition">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+Optional properties to set on the created bean.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="script" type="xs:string">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+The script to execute that creates the bean when using scripting languages.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the bean (bean id).
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="type" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The class name (fully qualified) of the bean.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="initMethod" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the custom initialization method to invoke after setting bean properties. The method must have no arguments,
+but may throw any exception.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="destroyMethod" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the custom destroy method to invoke on bean shutdown, such as when Camel is shutting down. The method must
+have no arguments, but may throw any exception.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="factoryMethod" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Name of method to invoke when creating the bean via a factory bean.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="factoryBean" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Name of factory bean (bean id) to use for creating the bean.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="builderClass" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Fully qualified class name of builder class to use for creating and configuring the bean. The builder will use the
+properties values to configure the bean.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="builderMethod" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Name of method when using builder class. This method is invoked after configuring to create the actual bean. This method
+is often named build (used by default). Default value: build
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="scriptLanguage" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="scriptPropertyPlaceholders" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the script should support using Camel property placeholder syntax {{ }}. Default value: true
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="beanConstructorsDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="constructor" type="tns:beanConstructorDefinition"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="beanConstructorDefinition">
+    <xs:sequence/>
+    <xs:attribute name="index" type="xs:int"/>
+    <xs:attribute name="value" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="beanPropertiesDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="tns:beanPropertyDefinition"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="beanPropertyDefinition">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="properties" type="tns:beanPropertiesDefinition"/>
+    </xs:sequence>
+    <xs:attribute name="key" type="xs:string"/>
+    <xs:attribute name="value" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="catchDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="exception" type="xs:string">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+The exception class names (fully qualified) to catch.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element minOccurs="0" ref="tns:onWhen"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="onWhenDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:choice>
+          <xs:element ref="tns:expressionDefinition"/>
+          <xs:element ref="tns:csimple"/>
+          <xs:element ref="tns:constant"/>
+          <xs:element ref="tns:datasonnet"/>
+          <xs:element ref="tns:exchangeProperty"/>
+          <xs:element ref="tns:groovy"/>
+          <xs:element ref="tns:header"/>
+          <xs:element ref="tns:hl7terser"/>
+          <xs:element ref="tns:jactl"/>
+          <xs:element ref="tns:java"/>
+          <xs:element ref="tns:js"/>
+          <xs:element ref="tns:joor"/>
+          <xs:element ref="tns:jq"/>
+          <xs:element ref="tns:jsonpath"/>
+          <xs:element ref="tns:language"/>
+          <xs:element ref="tns:method"/>
+          <xs:element ref="tns:mvel"/>
+          <xs:element ref="tns:ognl"/>
+          <xs:element ref="tns:python"/>
+          <xs:element ref="tns:ref"/>
+          <xs:element ref="tns:simple"/>
+          <xs:element ref="tns:spel"/>
+          <xs:element ref="tns:tokenize"/>
+          <xs:element ref="tns:variable"/>
+          <xs:element ref="tns:wasm"/>
+          <xs:element ref="tns:xtokenize"/>
+          <xs:element ref="tns:xpath"/>
+          <xs:element ref="tns:xquery"/>
+        </xs:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="choiceDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:when"/>
+          <xs:element minOccurs="0" ref="tns:otherwise"/>
+        </xs:sequence>
+        <xs:attribute name="precondition" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then the choice is evaluated at route initialization time (precondition). Only when predicates with property
+placeholders or simple expressions using only property placeholders are supported. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="whenDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:csimple"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:datasonnet"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:hl7terser"/>
+            <xs:element ref="tns:jactl"/>
+            <xs:element ref="tns:java"/>
+            <xs:element ref="tns:js"/>
+            <xs:element ref="tns:joor"/>
+            <xs:element ref="tns:jq"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:variable"/>
+            <xs:element ref="tns:wasm"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="disabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Disables this EIP from the route. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="otherwiseDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="disabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Disables this EIP from the route. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="circuitBreakerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:resilience4jConfiguration"/>
+          <xs:element minOccurs="0" ref="tns:faultToleranceConfiguration"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="tns:onFallback"/>
+        </xs:sequence>
+        <xs:attribute name="configuration" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a circuit breaker configuration to use for configuring the circuit breaker EIP.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inheritErrorHandler" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to inherit Camel error handling during circuit breaker. By default, Camel error handler is turned off. Default
+value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="resilience4JConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:resilience4JConfigurationCommon">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="resilience4JConfigurationCommon">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="recordException" type="xs:string">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+Configure a list of exceptions that are recorded as a failure and thus increase the failure rate. Any exception matching
+or inheriting from one of the list counts as a failure, unless explicitly ignored via ignoreExceptions.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="ignoreException" type="xs:string">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+Configure a list of exceptions that are ignored and neither count as a failure nor success. Any exception matching or
+inheriting from one of the list will not count as a failure nor success, even if the exception is part of
+recordExceptions.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="circuitBreaker" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use from the registry.
+When using this, then any other circuit breaker options are not in use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="config" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup and use from the
+registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="failureRateThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the
+CircuitBreaker transitions to open and starts short-circuiting calls. Default value: 50
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="permittedNumberOfCallsInHalfOpenState" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the number of permitted calls when the CircuitBreaker is half open. Default value: 10
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="throwExceptionWhenHalfOpenOrOpenState" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the call is rejected because the
+circuit breaker is half open or open. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="slidingWindowSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is
+closed. Sliding window can either be count-based or time-based. Default value: 100
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="slidingWindowType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is
+closed. Sliding window can either be count-based or time-based. Default value: COUNT_BASED
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="slidingWindowSynchronizationStrategy" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the synchronization strategy for the sliding window. LOCK_FREE uses a CAS-based lock-free algorithm for
+better performance under high concurrency. SYNCHRONIZED uses blocking locks with lower memory allocation. Default value:
+SYNCHRONIZED
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="minimumNumberOfCalls" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can
+calculate the error rate. Default value: 100
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="writableStackTraceEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables writable stack traces. When set to false, Exception.getStackTrace returns a zero length array. This may be used
+to reduce log spam when the circuit breaker is open. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="waitDurationInOpenState" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the wait duration which specifies how long the CircuitBreaker should stay open, before it switches to half
+open. The default is 60 seconds. Default value: 60000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="automaticTransitionFromOpenToHalfOpenEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables automatic transition from OPEN to HALF_OPEN state once the waitDurationInOpenState has passed. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxWaitDurationInHalfOpenState" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the maximum wait duration which controls how long the CircuitBreaker should stay in Half Open state, before
+it switches to open. Value 0 means circuit breaker will wait in half open state until all permitted calls have been
+completed. Default value: 0
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="slowCallRateThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a threshold in percentage. The CircuitBreaker considers a call as slow when the call duration is greater than
+slowCallDurationThreshold. When the percentage of slow calls is equal or greater the threshold, the CircuitBreaker
+transitions to open and starts short-circuiting calls. Default value: 100
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="slowCallDurationThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the duration threshold above which calls are considered as slow and increase the slow calls percentage. The
+default is 60 seconds. Default value: 60000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether bulkhead is enabled or not on the circuit breaker. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadMaxConcurrentCalls" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the max amount of concurrent calls the bulkhead will support. Default value: 25
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadMaxWaitDuration" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures a maximum amount of time which the calling thread will wait to enter the bulkhead. The default is 0 (no
+waiting). Default value: 0
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadFairCallHandlingEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures whether the bulkhead uses a fair calling strategy. When enabled (default), a fair strategy guarantees the
+order of incoming requests (FIFO). When disabled, no ordering is guaranteed and may improve throughput. Default value:
+true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="asynchronous" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use asynchronous (non-blocking) processing with CompletionStage-based circuit breaker decorators. When
+enabled, the circuit breaker releases the caller thread immediately and completes processing asynchronously. This is
+most valuable when the downstream processor supports asynchronous processing (e.g. Netty HTTP, Kafka). When used with
+timeout, the timeoutExecutorService must be a ScheduledExecutorService. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether timeout is enabled or not on the circuit breaker. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutExecutorService" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+References to a custom thread pool to use when timeout is enabled (uses ForkJoinPool.commonPool() by default).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutDuration" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the thread execution timeout. Default value is 1 second. Default value: 1000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutCancelRunningFuture" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures whether cancel is called on the running future. Defaults to true. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="micrometerEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable collecting statistics using Micrometer for all circuit breaker instances. This is a global setting
+(configure via camel.resilience4j.micrometerEnabled=true) and requires adding camel-resilience4j-micrometer JAR to the
+classpath. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="faultToleranceConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:faultToleranceConfigurationCommon">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="faultToleranceConfigurationCommon">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="typedGuard" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to an existing io.smallrye.faulttolerance.api.TypedGuard instance to lookup and use from the registry. When using
+this, then any other TypedGuard circuit breaker options are not in use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delay" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Control how long the circuit breaker stays open. The default is 5 seconds. Default value: 5000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="successThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Controls the number of trial calls which are allowed when the circuit breaker is half-open. Default value: 1
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="requestVolumeThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Controls the size of the rolling window used when the circuit breaker is closed. Default value: 20
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="failureRatio" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the
+CircuitBreaker transitions to open and starts short-circuiting calls. Default value: 50
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether timeout is enabled or not on the circuit breaker. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutDuration" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the thread execution timeout. Default value is 1 second. Default value: 1000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether bulkhead is enabled or not on the circuit breaker. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadMaxConcurrentCalls" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the max amount of concurrent calls the bulkhead will support. Default value: 10
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bulkheadWaitingTaskQueue" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the task queue size for holding waiting tasks to be processed by the bulkhead. Default value: 10
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadOffloadExecutorService" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+References a custom thread pool to use when offloading a guarded action to another thread.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="onFallbackDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="fallbackViaNetwork" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Deprecated: Whether the fallback goes over the network. If so, the fallback is executed on a separate thread-pool to
+avoid exhausting the main thread-pool. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="claimCheckDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="operation" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The claim check operation to use. Get=retrieve, GetAndRemove=retrieve and remove, Set=store with key, Push=store on
+stack, Pop=retrieve from stack.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="key" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The unique claim check key to use for Get, GetAndRemove, and Set operations.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="filter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Specifies a filter to control what data gets merged back when using Get or Pop operations. Use body, headers,
+header:pattern to include only matching data.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategy" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to a custom AggregationStrategy to use for merging data back from the claim check repository.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The method name to use when using a POJO as the AggregationStrategy.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType final="extension restriction" name="constants">
+    <xs:sequence/>
+  </xs:complexType>
+  <xs:complexType name="contextScanDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+Exclude finding route builder from these java package names.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+Include finding route builder from these java package names.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="includeNonSingletons" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to include non-singleton beans (prototypes). By default only singleton beans are included in the context scan.
+Default value: false
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="convertBodyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="type" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The java type to convert to.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mandatory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the conversion is mandatory. If mandatory and conversion is not possible, a NoTypeConversionAvailableException
+is thrown. Setting this to false means null may be returned if conversion is not possible. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="charset" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a specific charset when converting.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="convertHeaderDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="name" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of message header to convert its value. The simple language can be used to define a dynamic evaluated header name.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The java type to convert to.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="toName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use another header to store the result. By default, the result is stored in the same header.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mandatory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the conversion is mandatory. If mandatory and conversion is not possible, a NoTypeConversionAvailableException
+is thrown. Setting this to false means null may be returned if conversion is not possible. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="charset" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a specific charset when converting.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="convertVariableDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="name" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of variable to convert its value. The simple language can be used to define a dynamic evaluated variable name.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The java type to convert to.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="toName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use another variable to store the result. By default, the result is stored in the same variable.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mandatory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the conversion is mandatory. If mandatory and conversion is not possible, a NoTypeConversionAvailableException
+is thrown. Setting this to false means null may be returned if conversion is not possible. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="charset" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a specific charset when converting.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="dataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="delayDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:choice>
+          <xs:element ref="tns:expressionDefinition"/>
+          <xs:element ref="tns:csimple"/>
+          <xs:element ref="tns:constant"/>
+          <xs:element ref="tns:datasonnet"/>
+          <xs:element ref="tns:exchangeProperty"/>
+          <xs:element ref="tns:groovy"/>
+          <xs:element ref="tns:header"/>
+          <xs:element ref="tns:hl7terser"/>
+          <xs:element ref="tns:jactl"/>
+          <xs:element ref="tns:java"/>
+          <xs:element ref="tns:js"/>
+          <xs:element ref="tns:joor"/>
+          <xs:element ref="tns:jq"/>
+          <xs:element ref="tns:jsonpath"/>
+          <xs:element ref="tns:language"/>
+          <xs:element ref="tns:method"/>
+          <xs:element ref="tns:mvel"/>
+          <xs:element ref="tns:ognl"/>
+          <xs:element ref="tns:python"/>
+          <xs:element ref="tns:ref"/>
+          <xs:element ref="tns:simple"/>
+          <xs:element ref="tns:spel"/>
+          <xs:element ref="tns:tokenize"/>
+          <xs:element ref="tns:variable"/>
+          <xs:element ref="tns:wasm"/>
+          <xs:element ref="tns:xtokenize"/>
+          <xs:element ref="tns:xpath"/>
+          <xs:element ref="tns:xquery"/>
+        </xs:choice>
+        <xs:attribute name="asyncDelayed" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables asynchronous delay which means the thread will not block while delaying. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="callerRunsWhenRejected" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether or not the caller should run the task when it was rejected by the thread pool. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executorService" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom thread pool if asyncDelay has been enabled.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="dynamicRouterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:choice>
+          <xs:element ref="tns:expressionDefinition"/>
+          <xs:element ref="tns:csimple"/>
+          <xs:element ref="tns:constant"/>
+          <xs:element ref="tns:datasonnet"/>
+          <xs:element ref="tns:exchangeProperty"/>
+          <xs:element ref="tns:groovy"/>
+          <xs:element ref="tns:header"/>
+          <xs:element ref="tns:hl7terser"/>
+          <xs:element ref="tns:jactl"/>
+          <xs:element ref="tns:java"/>
+          <xs:element ref="tns:js"/>
+          <xs:element ref="tns:joor"/>
+          <xs:element ref="tns:jq"/>
+          <xs:element ref="tns:jsonpath"/>
+          <xs:element ref="tns:language"/>
+          <xs:element ref="tns:method"/>
+          <xs:element ref="tns:mvel"/>
+          <xs:element ref="tns:ognl"/>
+          <xs:element ref="tns:python"/>
+          <xs:element ref="tns:ref"/>
+          <xs:element ref="tns:simple"/>
+          <xs:element ref="tns:spel"/>
+          <xs:element ref="tns:tokenize"/>
+          <xs:element ref="tns:variable"/>
+          <xs:element ref="tns:wasm"/>
+          <xs:element ref="tns:xtokenize"/>
+          <xs:element ref="tns:xpath"/>
+          <xs:element ref="tns:xquery"/>
+        </xs:choice>
+        <xs:attribute name="uriDelimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The delimiter used to separate endpoint URIs when the expression returns multiple endpoints. Default is comma. Default
+value: ,
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidEndpoints" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then invalid endpoint URIs are ignored and logged instead of throwing an exception. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cacheSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Configures the cache size for ProducerCache which caches producers for reuse. The default cache size is 1000. Set to -1
+to turn off caching.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowedSchemes" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets an optional comma-separated allow-list of component schemes that the dynamic recipient may resolve to (e.g.
+http,https). When set, a dynamic endpoint whose scheme is not in the list is rejected. This is a defence-in-depth
+restriction, useful for low-code / Kamelet deployments; by default (unset) any scheme is allowed.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="enrichDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:choice>
+          <xs:element ref="tns:expressionDefinition"/>
+          <xs:element ref="tns:csimple"/>
+          <xs:element ref="tns:constant"/>
+          <xs:element ref="tns:datasonnet"/>
+          <xs:element ref="tns:exchangeProperty"/>
+          <xs:element ref="tns:groovy"/>
+          <xs:element ref="tns:header"/>
+          <xs:element ref="tns:hl7terser"/>
+          <xs:element ref="tns:jactl"/>
+          <xs:element ref="tns:java"/>
+          <xs:element ref="tns:js"/>
+          <xs:element ref="tns:joor"/>
+          <xs:element ref="tns:jq"/>
+          <xs:element ref="tns:jsonpath"/>
+          <xs:element ref="tns:language"/>
+          <xs:element ref="tns:method"/>
+          <xs:element ref="tns:mvel"/>
+          <xs:element ref="tns:ognl"/>
+          <xs:element ref="tns:python"/>
+          <xs:element ref="tns:ref"/>
+          <xs:element ref="tns:simple"/>
+          <xs:element ref="tns:spel"/>
+          <xs:element ref="tns:tokenize"/>
+          <xs:element ref="tns:variable"/>
+          <xs:element ref="tns:wasm"/>
+          <xs:element ref="tns:xtokenize"/>
+          <xs:element ref="tns:xpath"/>
+          <xs:element ref="tns:xquery"/>
+        </xs:choice>
+        <xs:attribute name="variableSend" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a variable as the source for the message body to send. When using send variable then the message body is taken
+from this variable instead of the current message, however the headers from the message will still be used as well.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="variableReceive" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a variable to store the received message body (only body, not headers). This makes it handy to use variables for
+user data and to easily control what data to use for sending and receiving.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategy" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the AggregationStrategy to be used to merge the reply from the external service, into a single outgoing message. By
+default Camel will use the reply from the external service as outgoing message.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+This option can be used to explicitly declare the method name to use, when using POJOs as the AggregationStrategy.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationStrategyMethodAllowNull" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true
+then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregateOnException" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If this option is false then the aggregate method is not used if there was an exception thrown while trying to retrieve
+the data to enrich from the resource. Setting this option to true allows end users to control what to do if there was an
+exception in the aggregate method. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="shareUnitOfWork" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Shares the UnitOfWork with the parent and the resource exchange. Enrich will by default not share unit of work between
+the parent exchange and the resource exchange. This means the resource exchange has its own individual unit of work.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cacheSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum size used by the ProducerCache which is used to cache and reuse producers when uris are reused. Use 0
+for default cache size, or -1 to turn cache off.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidEndpoint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore an invalid endpoint URI when trying to create a producer with that endpoint. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowOptimisedComponents" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow components to optimise enricher if they are SendDynamicAware. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="autoStartComponents" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to auto startup components when enricher is starting up. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowedSchemes" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets an optional comma-separated allow-list of component schemes that the dynamic recipient may resolve to (e.g.
+http,https). When set, a dynamic endpoint whose scheme is not in the list is rejected. This is a defence-in-depth
+restriction, useful for low-code / Kamelet deployments; by default (unset) any scheme is allowed.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="errorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:deadLetterChannel"/>
+            <xs:element ref="tns:defaultErrorHandler"/>
+            <xs:element ref="tns:noErrorHandler"/>
+            <xs:element ref="tns:refErrorHandler"/>
+            <xs:element ref="tns:jtaTransactionErrorHandler"/>
+            <xs:element ref="tns:springTransactionErrorHandler"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="deadLetterChannelDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:defaultErrorHandlerDefinition">
+        <xs:sequence/>
+        <xs:attribute name="deadLetterUri" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The endpoint URI where failed exchanges are sent after all redelivery attempts have been exhausted (the dead letter
+queue).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="deadLetterHandleNewException" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the dead letter channel should handle (and ignore) any new exception thrown while sending the exchange to the
+dead letter endpoint. Set to false to propagate the new exception back, which is useful with transactions so the
+transaction can detect the failure and rollback. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="defaultErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:baseErrorHandlerDefinition">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:redeliveryPolicy"/>
+        </xs:sequence>
+        <xs:attribute name="useOriginalMessage" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled, uses the original input message (body and headers) when the exchange is moved to the dead letter queue after
+all redelivery attempts have been exhausted. Cannot be used together with useOriginalBody. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useOriginalBody" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled, uses the original input message body (but not headers) when the exchange is moved to the dead letter queue
+after all redelivery attempts have been exhausted. This allows enriching the message with custom headers while keeping
+the original body. Cannot be used together with useOriginalMessage. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="redeliveryPolicyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a redelivery policy to lookup in the registry to be used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="loggerRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a logger to use for logging error handler activity.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="level" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The logging level to use when logging caught exceptions. Default value: ERROR
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of the logger to use by the error handler.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="onRedeliveryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a processor that is invoked before each redelivery attempt. Can be used to change the exchange
+before it is redelivered.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="onExceptionOccurredRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a processor that is invoked just after an exception occurred. Can be used to perform custom logging.
+Any exception thrown from this processor is ignored.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="onPrepareFailureRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a processor to prepare the exchange before handled by the failure processor or dead letter channel.
+This allows for example to enrich the message before sending to a dead letter queue.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retryWhileRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a retry while predicate. Redelivery continues as long as the predicate evaluates to true.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executorServiceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to a thread pool to be used for asynchronous redelivery.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="baseErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="redeliveryPolicyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="maximumRedeliveries" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of redeliveries. Use 0 for no redeliveries, or -1 to redeliver forever.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="redeliveryDelay" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the initial delay in milliseconds before the first redelivery attempt. Default value: 1000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Allow asynchronous delayed redelivery. The route, in particular the consumer's component, must support the Asynchronous
+Routing Engine (e.g. seda). Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="backOffMultiplier" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the multiplier applied to the previous redelivery delay to compute the next delay when using exponential backoff.
+Default value: 2.0
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useExponentialBackOff" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables exponential backoff, so each subsequent redelivery delay is multiplied by the backOffMultiplier. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the collision avoidance factor, which adds a random percentage of the delay to avoid thundering herd problems when
+multiple redeliveries happen simultaneously. Default value: 0.15
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useCollisionAvoidance" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables collision avoidance, which adds a random factor to redelivery delays to prevent multiple simultaneous
+redeliveries from colliding. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the upper bound on redelivery delay in milliseconds when using exponential backoff, to prevent delays from growing
+unbounded. Default value: 60000
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retriesExhaustedLogLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the logging level to use when all retries have been exhausted and the message is moved to the dead letter channel
+or failed. Default value: ERROR
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retryAttemptedLogLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the logging level to use when a redelivery attempt is made. Default value: DEBUG
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets how often to log redelivery attempts. For example, a value of 3 logs every 3rd redelivery attempt. Default value: 1
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logRetryAttempted" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether retry attempts should be logged or not. Can be used to include or reduce verbose logging. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logStackTrace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether stack traces should be logged. Can be used to include or reduce verbose logging. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logRetryStackTrace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether stack traces should be logged when a retry attempt failed. Can be used to include or reduce verbose logging.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logHandled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether handled exceptions should be logged or not. Can be used to include or reduce verbose logging. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logNewException" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether new exceptions should be logged or not. A new exception is an exception that was thrown while handling a
+previous exception. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logContinued" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether continued exceptions should be logged or not. Can be used to include or reduce verbose logging. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhausted" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether exhausted exceptions should be logged or not. Can be used to include or reduce verbose logging. Default value:
+true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether exhausted exceptions should be logged including message history. Can be used to include or reduce verbose
+logging. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhaustedMessageBody" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether exhausted message body should be logged including message history. Requires logExhaustedMessageHistory to be
+enabled. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableRedelivery" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Disables redelivery (same as setting maximum redeliveries to 0). Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delayPattern" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the delay pattern for redeliveries using a pattern such as '0:1000;5:5000;10:30000' where each entry maps a
+redelivery count to a delay in milliseconds (e.g. redeliveries 0-4 use 1s delay, 5-9 use 5s, 10 use 30s).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Controls whether to allow redelivery while stopping/shutting down a route that uses error handling. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="exchangeFormatterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="noErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:baseErrorHandlerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="refErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:baseErrorHandlerDefinition">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to an existing or custom error handler to lookup from the registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="jtaTransactionErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:transactionErrorHandlerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="transactionErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:defaultErrorHandlerDefinition">
+        <xs:sequence/>
+        <xs:attribute name="transactedPolicyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The transacted policy to use that is configured for either Spring or JTA based transactions. If no policy has been
+configured then Camel will attempt to auto-discover.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="rollbackLoggingLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The logging level to use for logging transactional rollback. Default is WARN. Default value: WARN
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="springTransactionErrorHandlerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:transactionErrorHandlerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="filterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:csimple"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:datasonnet"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:hl7terser"/>
+            <xs:element ref="tns:jactl"/>
+            <xs:element ref="tns:java"/>
+            <xs:element ref="tns:js"/>
+            <xs:element ref="tns:joor"/>
+            <xs:element ref="tns:jq"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:variable"/>
+            <xs:element ref="tns:wasm"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="statusPropertyName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of an exchange property to store whether the filter predicate matched or not. The value is stored as a boolean.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="finallyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="fromDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence/>
+        <xs:attribute name="uri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The endpoint URI to consume from.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="variableReceive" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a variable to store the received message body (only body, not headers). This makes it handy to use variables for
+user data and to easily control what data to use for sending and receiving.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="globalOptionDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Global option key.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Global option value.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="globalOptionsDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:globalOption"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="idempotentConsumerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:csimple"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:datasonnet"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:hl7terser"/>
+            <xs:element ref="tns:jactl"/>
+            <xs:element ref="tns:java"/>
+            <xs:element ref="tns:js"/>
+            <xs:element ref="tns:joor"/>
+            <xs:element ref="tns:jq"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:variable"/>
+            <xs:element ref="tns:wasm"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="idempotentRepository" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the reference name of the message id repository to use for storing processed message ids to detect duplicates.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="eager" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete. Eager is
+default enabled. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionEager" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to complete the idempotent consumer eager or when the exchange is done. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="skipDuplicate" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to skip duplicates or not. The default behavior is to skip duplicates. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="removeOnFailure" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure. Default value:
+true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="inputTypeDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence/>
+        <xs:attribute name="urn" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The input type URN in the format 'scheme:name' (e.g. 'java:com.example.MyClass' or 'json:JsonOrder'). Declares the
+expected data type for messages consumed by this route.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="validate" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether validation is required for this input type. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="interceptDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:onWhen"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="interceptFromDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:interceptDefinition">
+        <xs:sequence/>
+        <xs:attribute name="uri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Intercept incoming messages from the uri or uri pattern. If not configured, then all incoming messages are intercepted.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="interceptSendToEndpointDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:onWhen"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="uri" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Intercept sending to the uri or uri pattern.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="skipSendToOriginalEndpoint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to skip sending the message to the original endpoint. By default, the message is both intercepted and then sent
+to the original endpoint. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="afterUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+After sending to the endpoint then send the message to this uri which allows to process its result.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="kameletDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of the Kamelet (templateId/routeId) to call. Options for the kamelet can be specified using uri syntax, eg
+mynamecount=4&type=gold.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="loadBalanceDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:customLoadBalancer"/>
+            <xs:element ref="tns:failoverLoadBalancer"/>
+            <xs:element ref="tns:randomLoadBalancer"/>
+            <xs:element ref="tns:roundRobinLoadBalancer"/>
+            <xs:element ref="tns:stickyLoadBalancer"/>
+            <xs:element ref="tns:topicLoadBalancer"/>
+            <xs:element ref="tns:weightedLoadBalancer"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="customLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to the custom load balancer to lookup from the registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="loadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="failoverLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="exception" type="xs:string">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+A list of class names for specific exceptions to monitor. If no exceptions are configured then all exceptions are
+monitored.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="roundRobin" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use round robin mode. If enabled, the load balancer keeps state and continues with the next endpoint in a
+round robin fashion. If not, it always starts from the first endpoint for every message. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="sticky" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use sticky mode. If enabled, the load balancer keeps state and continues with the last known good endpoint.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumFailoverAttempts" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+A value to indicate after X failover attempts we should exhaust (give up). Use -1 to indicate never give up and
+continuously try to failover. Use 0 to never failover. Use e.g. 3 to failover at most 3 times before giving up. Default
+value: -1
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inheritErrorHandler" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to inherit the error handler. If turned off, the load balancer will fail over immediately on an error instead of
+waiting for Camel error handler to exhaust retries. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="randomLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="roundRobinLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="stickyLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence>
+          <xs:element name="correlationExpression" type="tns:expressionSubElementDefinition">
+            <xs:annotation>
+              <xs:documentation xml:lang="en">
+<![CDATA[
+The correlation expression to use to calculate the correlation key.
+]]>
+              </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="topicLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="weightedLoadBalancerDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:loadBalancerDefinition">
+        <xs:sequence/>
+        <xs:attribute name="distributionRatio" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The distribution ratio is a delimited String consisting of integer weights separated by delimiters for example 2,3,5.
+The distributionRatio must match the number of endpoints and/or processors specified in the load balancer list.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="distributionRatioDelimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Delimiter used to specify the distribution ratio. The default value is comma. Default value: ,
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="roundRobin" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable round robin mode. By default the weighted distribution mode is used. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="logDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="message" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The log message to output. Supports simple language expressions.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="loggingLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the logging level to use for the log message. Available levels: TRACE, DEBUG, INFO, WARN, ERROR, OFF. Default
+value: INFO
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The logger name to use. By default the route id is used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="marker" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+An optional SLF4J marker to use with the log statement.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logger" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to a custom SLF4J logger instance to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logLanguage" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The language to use for evaluating the log message, such as simple, groovy, or ognl.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="loopDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:csimple"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:datasonnet"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:hl7terser"/>
+            <xs:element ref="tns:jactl"/>
+            <xs:element ref="tns:java"/>
+            <xs:element ref="tns:js"/>
+            <xs:element ref="tns:joor"/>
+            <xs:element ref="tns:jq"/>
+            <xs:element ref="tns:jsonpath"/>
+            <xs:element ref="tns:language"/>
+            <xs:element ref="tns:method"/>
+            <xs:element ref="tns:mvel"/>
+            <xs:element ref="tns:ognl"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:variable"/>
+            <xs:element ref="tns:wasm"/>
+            <xs:element ref="tns:xtokenize"/>
+            <xs:element ref="tns:xpath"/>
+            <xs:element ref="tns:xquery"/>
+          </xs:choice>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:a2aSubTask"/>
+            <xs:element ref="tns:aggregate"/>
+            <xs:element ref="tns:bean"/>
+            <xs:element ref="tns:doCatch"/>
+            <xs:element ref="tns:choice"/>
+            <xs:element ref="tns:circuitBreaker"/>
+            <xs:element ref="tns:claimCheck"/>
+            <xs:element ref="tns:convertBodyTo"/>
+            <xs:element ref="tns:convertHeaderTo"/>
+            <xs:element ref="tns:convertVariableTo"/>
+            <xs:element ref="tns:delay"/>
+            <xs:element ref="tns:dynamicRouter"/>
+            <xs:element ref="tns:enrich"/>
+            <xs:element ref="tns:filter"/>
+            <xs:element ref="tns:doFinally"/>
+            <xs:element ref="tns:idempotentConsumer"/>
+            <xs:element ref="tns:intercept"/>
+            <xs:element ref="tns:interceptFrom"/>
+            <xs:element ref="tns:interceptSendToEndpoint"/>
+            <xs:element ref="tns:kamelet"/>
+            <xs:element ref="tns:loadBalance"/>
+            <xs:element ref="tns:log"/>
+            <xs:element ref="tns:loop"/>
+            <xs:element ref="tns:marshal"/>
+            <xs:element ref="tns:multicast"/>
+            <xs:element ref="tns:onCompletion"/>
+            <xs:element ref="tns:onException"/>
+            <xs:element ref="tns:pausable"/>
+            <xs:element ref="tns:pipeline"/>
+            <xs:element ref="tns:policy"/>
+            <xs:element ref="tns:poll"/>
+            <xs:element ref="tns:pollEnrich"/>
+            <xs:element ref="tns:process"/>
+            <xs:element ref="tns:recipientList"/>
+            <xs:element ref="tns:removeHeader"/>
+            <xs:element ref="tns:removeHeaders"/>
+            <xs:element ref="tns:removeProperties"/>
+            <xs:element ref="tns:removeProperty"/>
+            <xs:element ref="tns:removeVariable"/>
+            <xs:element ref="tns:resequence"/>
+            <xs:element ref="tns:resumable"/>
+            <xs:element ref="tns:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:saga"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:script"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setHeaders"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:setVariable"/>
+            <xs:element ref="tns:setVariables"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <xs:element ref="tns:step"/>
+            <xs:element ref="tns:stop"/>
+            <xs:element ref="tns:threads"/>
+            <xs:element ref="tns:throttle"/>
+            <xs:element ref="tns:throwException"/>
+            <xs:element ref="tns:to"/>
+            <xs:element ref="tns:toD"/>
+            <xs:element ref="tns:tokenizer"/>
+            <xs:element ref="tns:transacted"/>
+            <xs:element ref="tns:transformDataType"/>
+            <xs:element ref="tns:transform"/>
+            <xs:element ref="tns:doTry"/>
+            <xs:element ref="tns:unmarshal"/>
+            <xs:element ref="tns:validate"/>
+            <xs:element ref="tns:wireTap"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="copy" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of
+the same message. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="doWhile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Enables the while loop that loops until the predicate evaluates to false or null. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="breakOnShutdown" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled, the loop will not iterate until it reaches the end when Camel is shut down. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="onPrepare" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Uses a processor when preparing the exchange for each loop iteration. This can be used to deep-clone messages, or any
+custom logic needed before the looping executes.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="marshalDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:asn1"/>
+            <xs:element ref="tns:avro"/>
+            <xs:element ref="tns:barcode"/>
+            <xs:element ref="tns:base64"/>
+            <xs:element ref="tns:beanio"/>
+            <xs:element ref="tns:bindy"/>
+            <xs:element ref="tns:cbor"/>
+            <xs:element ref="tns:crypto"/>
+            <xs:element ref="tns:csv"/>
+            <xs:element ref="tns:custom"/>
+            <xs:element ref="tns:dfdl"/>
+            <xs:element ref="tns:fhirJson"/>
+            <xs:element ref="tns:fhirXml"/>
+            <xs:element ref="tns:flatpack"/>
+            <xs:element ref="tns:fory"/>
+            <xs:element ref="tns:grok"/>
+            <xs:element ref="tns:groovyJson"/>
+            <xs:element ref="tns:groovyXml"/>
+            <xs:element ref="tns:gzipDeflater"/>
+            <xs:element ref="tns:hl7"/>
+            <xs:element ref="tns:ical"/>
+            <xs:element ref="tns:iso8583"/>
+            <xs:element ref="tns:jacksonXml"/>
+            <xs:element ref="tns:jaxb"/>
+            <xs:element ref="tns:json"/>
+            <xs:element ref="tns:jsonApi"/>
+            <xs:element ref="tns:lzf"/>
+            <xs:element ref="tns:mimeMultipart"/>
+            <xs:element ref="tns:ocsf"/>
+            <xs:element ref="tns:parquetAvro"/>
+            <xs:element ref="tns:pgp"/>
+            <xs:element ref="tns:pqc"/>
+            <xs:element ref="tns:protobuf"/>
+            <xs:element ref="tns:rss"/>
+            <xs:element ref="tns:smooks"/>
+            <xs:element ref="tns:soap"/>
+            <xs:element ref="tns:swiftMt"/>
+            <xs:element ref="tns:swiftMx"/>
+            <xs:element ref="tns:syslog"/>
+            <xs:element ref="tns:tarFile"/>
+            <xs:element ref="tns:thrift"/>
+            <xs:element ref="tns:univocityCsv"/>
+            <xs:element ref="tns:univocityFixed"/>
+            <xs:element ref="tns:univocityTsv"/>
+            <xs:element ref="tns:xmlSecurity"/>
+            <xs:element ref="tns:yaml"/>
+            <xs:element ref="tns:zipDeflater"/>
+            <xs:element ref="tns:zipFile"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="variableSend" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to
+easily control what data to use for sending and receiving.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="variableReceive" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a variable to store the received message body (only body, not headers). This makes it handy to use variables for
+user data and to easily control what data to use for sending and receiving.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="asn1DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="usingIterator" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If the asn1 file has more than one entry, the setting this option to true allows working with the splitter EIP to split
+each entry individually. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="avroDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="instanceClassName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class name to use for marshal and unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="library" type="tns:avroLibrary">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Which Avro library to use. Default value: avroJackson
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="objectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Lookup and use the existing ObjectMapper with the given id when using Jackson.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useDefaultObjectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to lookup and use default Jackson ObjectMapper from the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class name of the java type to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="jsonView" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use
+JSON views to accomplish this. This option is to refer to the class which has JsonView annotations.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="include" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null
+values, you can set this option to NON_NULL.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowJmsType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collectionType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom collection type to lookup in the registry to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useList" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To unmarshal to a List of Map or a List of Pojo. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleClassNames" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple
+classes can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleRefs" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="enableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. Multiple features can be separated
+by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. Multiple features can be
+separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowUnmarshallType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timezone" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set then Jackson will use the Timezone when marshalling/unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="autoDiscoverObjectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true then Jackson will lookup for an objectMapper into the registry. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="contentTypeHeader" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the data format should set the Content-Type header with the type from the data format. For example
+application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schemaResolver" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Optional schema resolver used to lookup schemas for the data in transit.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="autoDiscoverSchemaResolver" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When not disabled, the SchemaResolver will be looked up into the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="barcodeDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="barcodeFormat" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Barcode format such as QR-Code. Default value: QR_CODE
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="imageType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Image type of the barcode such as png. Default value: PNG
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="width" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Width of the barcode. Default value: 100
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="height" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Height of the barcode. Default value: 100
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="base64DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="lineLength" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To specific a maximum line length for the encoded data. By default 76 is used. Default value: 76
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="lineSeparator" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The line separators to use. By default \r\n is used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="urlSafe" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Instead of emitting and / we emit - and _ respectively. urlSafe is only applied to encode operations. Decoding
+seamlessly handles both modes. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="beanioDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="mapping" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The BeanIO mapping file. Is by default loaded from the classpath. You can prefix with file:, http:, or classpath: to
+denote from where to load the mapping file.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="streamName" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the stream to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreUnidentifiedRecords" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore unidentified records. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreUnexpectedRecords" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore unexpected records. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidRecords" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore invalid records. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The charset to use. Is by default the JVM platform default charset.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="beanReaderErrorHandlerType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom org.apache.camel.dataformat.beanio.BeanIOErrorHandler as error handler while parsing. Configure the
+fully qualified class name of the error handler.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unmarshalSingleObject" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+This option controls whether to unmarshal as a list of objects or as a single object only. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="bindyDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="type" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use Csv, Fixed, or KeyValue.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="classType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of model class to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="defaultValueStringAsNull" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To change the default value for string types to be null instead of an empty string. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowEmptyStream" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body without
+records is provided. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unwrapSingleInstance" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When unmarshalling should a single instance be unwrapped and returned instead of wrapped in a java.util.List. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="locale" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To configure a default locale to use, such as us for united states. To use the JVM platform default locale then use the
+name default.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="cborDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="objectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Lookup and use the existing CBOR ObjectMapper with the given id when using Jackson.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useDefaultObjectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to lookup and use default Jackson CBOR ObjectMapper from the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class name of the java type to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collectionType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom collection type to lookup in the registry to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useList" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To unmarshal to a List of Map or a List of Pojo. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowUnmarshallType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then Jackson CBOR is allowed to attempt to use the CamelCBORUnmarshalType header during the unmarshalling.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To enable pretty printing output nicely formatted. Is by default false. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowJmsType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="enableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to enable on the Jackson ObjectMapper. Multiple features can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to disable on the Jackson ObjectMapper. Multiple features can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="cryptoDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="algorithm" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The JCE algorithm name indicating the cryptographic algorithm that will be used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="key" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to the secret key to lookup from the register to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cryptoProvider" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The name of the JCE Security Provider that should be used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="initVector" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a byte array containing the Initialization Vector that will be used to initialize the Cipher.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="algorithmParameterSpec" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+A JCE AlgorithmParameterSpec used to initialize the Cipher.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bufferSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The size of the buffer used in the signature process. Default value: 4096
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="macAlgorithm" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The JCE algorithm name indicating the Message Authentication algorithm. Default value: HmacSHA1
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="shouldAppendHMAC" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inline" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Flag indicating that the configured IV should be inlined into the encrypted data stream. Is by default false. Default
+value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="csvDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="format" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The format to use. Default value: DEFAULT
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="commentMarkerDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Disables the comment marker of the reference format. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="commentMarker" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the comment marker of the reference format.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The delimiter to use. The default value is , (comma).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="escapeDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable the escape character. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="escape" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the escape character to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="headerDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable headers. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="header" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To configure the CSV headers. Multiple headers can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowMissingColumnNames" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow missing column names. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreEmptyLines" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore empty lines. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreSurroundingSpaces" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore surrounding spaces. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="nullStringDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable null string handling. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="nullString" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the null string.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="quoteDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable quoting. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="quote" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The quote character to use. The default is double-quote character.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordSeparatorDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to disable the record separator. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordSeparator" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The record separator (aka new line) which by default is new line characters (CRLF).
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="skipHeaderRecord" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to skip the header record in the output. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="quoteMode" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the quote mode.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreHeaderCase" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore case when accessing header names. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trim" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to trim leading and trailing blanks. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trailingDelimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to add a trailing delimiter. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="marshallerFactoryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the implementation of the CsvMarshallerFactory interface which is able to customize marshalling/unmarshalling
+behavior.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="lazyLoad" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at
+one. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useMaps" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the unmarshalling should produce maps (HashMap) for the lines values instead of lists. It requires to have
+header (either defined or collected). Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useOrderedMaps" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists. It requires
+to have header (either defined or collected). Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordConverterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom CsvRecordConverter to lookup from the registry to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="captureHeaderRecord" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the unmarshalling should capture the header record and store it in the message header. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="customDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Reference to the custom DataFormat to lookup from the Camel registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="dfdlDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="schemaUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The path to the DFDL schema file.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="rootElement" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The root element name of the schema to use. If not specified, the first root element in the schema will be used.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="rootNamespace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The root namespace of the schema to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="fhirJsonDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:fhirDataformat">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType abstract="true" name="fhirDataformat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="fhirVersion" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The version of FHIR to use. Possible values are: DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4, R5. Default value: R4
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fhirContext" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom fhir context. Reference to object of type ca.uhn.fhir.context.FhirContext.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the pretty print flag, meaning that the parser will encode resources with human-readable spacing and newlines
+between elements. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="parserErrorHandler" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Registers an error handler which will be invoked when any parse errors are found. Reference to object of type
+ca.uhn.fhir.parser.IParserErrorHandler.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="parserOptions" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the parser options object which will be used to supply default options to newly created parsers. Reference to
+object of type ca.uhn.fhir.context.ParserOptions.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="preferTypes" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set (FQN class names), when parsing resources the parser will try to use the given types when possible. Multiple
+class names can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="forceResourceId" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When encoding, force this resource ID to be encoded as the resource ID. Reference to object of type
+org.hl7.fhir.instance.model.api.IIdType.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serverBaseUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the server's base URL used by this parser. If a value is set, resource references will be turned into relative
+references if they are provided as absolute URLs but have a base matching the given base.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="omitResourceId" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (default is false) the ID of any resources being encoded will not be included in the output. Default
+value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encodeElementsAppliesToChildResourcesOnly" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (default is false), the values supplied to setEncodeElements will not be applied to the root resource
+(typically a Bundle), but will be applied to any sub-resources contained within it. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encodeElements" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If provided, specifies the elements which should be encoded, to the exclusion of all others. Multiple elements can be
+separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="dontEncodeElements" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If provided, specifies the elements which should NOT be encoded. Multiple elements can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="stripVersionsFromReferences" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (which is the default), resource references containing a version will have the version removed when the
+resource is encoded. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="overrideResourceIdWithBundleEntryFullUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (which is the default), the Bundle.entry.fullUrl will override the Bundle.entry.resource's resource id if
+the fullUrl is defined. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="summaryMode" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be
+included. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="suppressNarratives" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true (default is false), narratives will not be included in the encoded values. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="dontStripVersionsFromReferencesAtPaths" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If supplied value(s), any resource references at the specified paths will have their resource versions encoded instead
+of being automatically stripped during the encoding process. Multiple elements can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="contentTypeHeader" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the data format should set the Content-Type header with the type from the data format. For example
+application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="fhirXmlDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:fhirDataformat">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="flatpackDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="definition" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fixed" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Delimited or fixed. Is by default false = delimited. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The delimiter char (could be ; , or similar). Default value: ,
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreFirstRecord" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the first line is ignored for delimited files (for the column headers). Is by default true. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowShortLines" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Allows for lines to be shorter than expected and ignores the extra characters. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreExtraColumns" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Allows for lines to be longer than expected and ignores the extra characters. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="textQualifier" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If the text is qualified with a character. Uses quote character by default.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="parserFactory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+References to a custom parser factory to lookup in the registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="foryDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class of the java type to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="requireClassRegistration" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to require register classes. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadSafe" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use the threadsafe Fory. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowAutoWiredFory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to auto-discover Fory from the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="grokDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="pattern" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The grok pattern to match lines of input.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="flattened" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to use flattened mode. In flattened mode an exception is thrown when there are multiple pattern matches with the
+same key. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowMultipleMatchesPerLine" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow multiple matches per line. If false, every line of input is matched for the pattern only once.
+Otherwise the line can be scanned multiple times when a non-terminal pattern is used. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="namedOnly" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP}). Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="groovyJSonDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to pretty print output nicely formatted. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="groovyXmlDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="attributeMapping" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable attribute mapping. When enabled, keys that start with _ or character will be mapped to an XML
+attribute, and vice versa. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="gzipDeflaterDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="hl7DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="parser" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom HL7 parser.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="validate" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to validate the HL7 message. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="targetFormat" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The target format for marshal output and unmarshal result type. By default, marshal encodes to HL7 ER7 and unmarshal
+returns a HAPI Message object. If set to XML, marshal encodes to HL7 XML and unmarshal returns an XML DOM Document.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="icalDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="validating" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to validate the iCal document. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="iso8583DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="configFile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The j8583 configuration file to load from classpath. Default value: j8583-config.xml
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="isoType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+The default ISO-Type to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowAutoWiredMessageFormat" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to auto-discover com.solab.iso8583.MessageFactory from the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="jacksonXMLDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="xmlMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Lookup and use the existing XmlMapper with the given id.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable pretty printing output nicely formatted. Is by default false. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class name of the java type to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowUnmarshallType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow Jackson to use the CamelJacksonUnmarshalType header during unmarshalling. Should only be enabled when
+desired. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="jsonView" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use
+JSON views to accomplish this. This option is to refer to the class which has JsonView annotations.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="include" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If you want to marshal a POJO to JSON, and the POJO has some fields with null values. And you want to skip these null
+values, you can set this option to NON_NULL.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowJmsType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collectionType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows using
+different collection types than java.util.Collection based as default.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useList" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to unmarshal to a List of Map or a List of Pojo. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timezone" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set then Jackson will use the Timezone when marshalling/unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="enableJaxbAnnotationModule" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to enable the JAXB annotations module when using Jackson. When enabled then JAXB annotations can be used by
+Jackson. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleClassNames" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple
+classes can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleRefs" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="enableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that
+matches a enum from SerializationFeature, DeserializationFeature, or MapperFeature. Multiple features can be separated
+by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name
+that matches a enum from SerializationFeature, DeserializationFeature, or MapperFeature. Multiple features can be
+separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="contentTypeHeader" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the data format should set the Content-Type header with the type from the data format. For example
+application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxStringLength" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Maximum allowed string length when deserializing (in chars or bytes, depending on input context). The default is
+20,000,000.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="jaxbDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="contextPath" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Package name where your JAXB classes are located.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="contextPathIsClassName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+This can be set to true to mark that the contextPath is referring to a classname and not a package name. Default value:
+false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schema" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To validate against an existing schema. You can use the prefix classpath:, file: or http: to specify how the resource
+should be resolved. You can separate multiple schema files by using the comma character.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schemaSeverityLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the schema severity level to use when validating against a schema. The default value of 0 (warning) means that any
+error will trigger JAXB to stop. There are the following three levels: 0=warning, 1=error, 2=fatal error. Default value:
+0
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To enable pretty printing output nicely formatted. Is by default false. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="objectFactory" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreJAXBElement" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mustBeJAXBElement" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether marshalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to
+false to relax that, such as when the data is already in XML format. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="filterNonXmlChars" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To ignore non xml characters and replace them with an empty space. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To overrule and use a specific encoding.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fragment" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To turn on marshalling XML fragment trees. This is useful when generated code does not have XmlRootElement annotation
+and you need to unmarshall only part of the tree. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="partClass" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Name of class used for fragment parsing.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="partNamespace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+XML namespace to use for fragment parsing.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="namespacePrefix" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When marshalling using JAXB or SOAP then the JAXB implementation will automatically assign namespace prefixes, such as
+ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="xmlStreamWriterWrapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use a custom xml stream writer.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schemaLocation" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To define the location of the schema.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="noNamespaceSchemaLocation" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To define the location of the namespaceless schema.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="jaxbProviderProperties" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom java.util.Map to lookup in the registry containing custom JAXB provider properties to be used with
+the JAXB marshaller.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="contentTypeHeader" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the data format should set the Content-Type header with the type from the data format. For example
+application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON. Default
+value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="accessExternalSchemaProtocols" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Only in use if schema validation has been enabled. Restrict access to the protocols specified for external reference set
+by the schemaLocation attribute, Import and Include element.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="jsonDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="objectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Lookup and use the existing ObjectMapper with the given id when using Jackson.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useDefaultObjectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Whether to lookup and use default Jackson ObjectMapper from the registry. Default value: true
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="autoDiscoverObjectMapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If set to true then Jackson will look for an objectMapper to use from the registry. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To enable pretty printing output nicely formatted. Is by default false. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="library" type="tns:jsonLibrary">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Which json library to use. Default value: Jackson
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="combineUnicodeSurrogates" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Force generator that outputs JSON content to combine surrogate pairs (if any) into 4-byte characters. This should be
+preferred when using 4-byte characters such as Japanese. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unmarshalType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Class name of the java type to use when unmarshalling.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="jsonView" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use
+JSON views to accomplish this. This option is to refer to the class which has JsonView annotations.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="include" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If you want to marshal a POJO to JSON, and the POJO has some fields with null values. And you want to skip these null
+values, you can set this option to NON_NULL.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowJmsType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.
+Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="collectionType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows using
+different collection types than java.util.Collection based as default.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useList" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To unmarshal to a List of Map or a List of Pojo. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleClassNames" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple
+classes can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="moduleRefs" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="enableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. Multiple features can be separated
+by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="disableFeatures" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. Multiple features can be
+separated by comma.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowUnmarshallType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This
+should only be enabled when desired to be used. Default value: false
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
... 63308 lines suppressed ...