You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/10/19 17:55:59 UTC

[camel] branch camel-3.18.x updated (6abc81a19cc -> b34a0eca353)

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

davsclaus pushed a change to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 6abc81a19cc CAMEL-18626: Java DSL to allow property placeholders in setExchangePattern
     new 298f1e0a1fe [CAMEL-18612] Inconsistency in JsonPath component causes problems with databinding (#8571)
     new b34a0eca353 Regen

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 camel-dependencies/pom.xml                         |     2 +-
 .../apache/camel/catalog/languages/jsonpath.json   |     1 +
 .../org/apache/camel/catalog/models/jsonpath.json  |     1 +
 .../apache/camel/catalog/schemas/camel-spring.xsd  | 14203 +++++++++++++++----
 .../org/apache/camel/jsonpath/jsonpath.json        |     1 +
 .../src/main/docs/jsonpath-language.adoc           |    13 +
 .../apache/camel/jsonpath/JsonPathExpression.java  |    28 +-
 .../apache/camel/jsonpath/JsonPathLanguage.java    |    19 +-
 .../camel/jsonpath/JsonPathLanguageTest.java       |    32 +
 .../org/apache/camel/model/language/jsonpath.json  |     1 +
 .../org/apache/camel/builder/ExpressionClause.java |    12 +
 .../camel/builder/ExpressionClauseSupport.java     |    15 +
 .../camel/model/language/JsonPathExpression.java   |    14 +
 .../language/JsonPathExpressionReifier.java        |     7 +-
 .../java/org/apache/camel/xml/in/ModelParser.java  |     1 +
 .../dsl/yaml/deserializers/ModelDeserializers.java |     6 +
 .../generated/resources/schema/camel-yaml-dsl.json |     3 +
 .../generated/resources/schema/camelYamlDsl.json   |     3 +
 18 files changed, 11310 insertions(+), 3052 deletions(-)


[camel] 01/02: [CAMEL-18612] Inconsistency in JsonPath component causes problems with databinding (#8571)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 298f1e0a1fe46832d563cb125e7b961bccf64b0f
Author: Radovan Netuka <rn...@redhat.com>
AuthorDate: Wed Oct 19 18:19:10 2022 +0200

    [CAMEL-18612] Inconsistency in JsonPath component causes problems with databinding (#8571)
---
 .../src/main/docs/jsonpath-language.adoc           | 13 +++++++++
 .../apache/camel/jsonpath/JsonPathExpression.java  | 28 ++++++++++++++-----
 .../apache/camel/jsonpath/JsonPathLanguage.java    | 19 +++++++++++--
 .../camel/jsonpath/JsonPathLanguageTest.java       | 32 ++++++++++++++++++++++
 .../org/apache/camel/builder/ExpressionClause.java | 12 ++++++++
 .../camel/builder/ExpressionClauseSupport.java     | 15 ++++++++++
 .../camel/model/language/JsonPathExpression.java   | 14 ++++++++++
 .../language/JsonPathExpressionReifier.java        |  7 +++--
 8 files changed, 128 insertions(+), 12 deletions(-)

diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index 9243f364659..1e52cc68582 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -272,6 +272,19 @@ from("direct:start")
 
 Then each book is logged as a String JSON value.
 
+== Unpack a single-element array into an object
+
+It is possible to unpack a single-element array into an object:
+
+[source,java]
+----
+from("direct:start")
+    .setBody().jsonpathUnpack("$.store.book", Book.class)
+    .to("log:book");
+----
+
+If book array contains only one book, it will be converted into a Book object.
+
 == Using header as input
 
 By default, JSONPath uses the message body as the input source. However, you can also use a header as input
diff --git a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathExpression.java b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathExpression.java
index c2cb7df322a..cb595abccc4 100644
--- a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathExpression.java
+++ b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathExpression.java
@@ -42,6 +42,7 @@ public class JsonPathExpression extends ExpressionAdapter {
     private boolean allowSimple = true;
     private boolean allowEasyPredicate = true;
     private boolean writeAsString;
+    private boolean unpackArray;
     private String headerName;
     private Option[] options;
 
@@ -116,6 +117,17 @@ public class JsonPathExpression extends ExpressionAdapter {
         this.writeAsString = writeAsString;
     }
 
+    public boolean isUnpackArray() {
+        return unpackArray;
+    }
+
+    /**
+     * Whether to unpack a single element json-array into an object.
+     */
+    public void setUnpackArray(boolean unpackArray) {
+        this.unpackArray = unpackArray;
+    }
+
     public String getHeaderName() {
         return headerName;
     }
@@ -143,13 +155,15 @@ public class JsonPathExpression extends ExpressionAdapter {
         try {
             Object result = evaluateJsonPath(exchange, engine);
             if (resultType != null) {
-                // in some cases we get a single element that is wrapped in a List, so unwrap that
-                // if we for example want to grab the single entity and convert that to a int/boolean/String etc
-                boolean resultIsCollection = Collection.class.isAssignableFrom(resultType);
-                boolean singleElement = result instanceof List && ((List) result).size() == 1;
-                if (singleElement && !resultIsCollection) {
-                    result = ((List) result).get(0);
-                    LOG.trace("Unwrapping result: {} from single element List before converting to: {}", result, resultType);
+                if (unpackArray) {
+                    // in some cases we get a single element that is wrapped in a List, so unwrap that
+                    // if we for example want to grab the single entity and convert that to a int/boolean/String etc
+                    boolean resultIsCollection = Collection.class.isAssignableFrom(resultType);
+                    boolean singleElement = result instanceof List && ((List) result).size() == 1;
+                    if (singleElement && !resultIsCollection) {
+                        result = ((List) result).get(0);
+                        LOG.trace("Unwrapping result: {} from single element List before converting to: {}", result, resultType);
+                    }
                 }
                 return exchange.getContext().getTypeConverter().convertTo(resultType, exchange, result);
             } else {
diff --git a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathLanguage.java b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathLanguage.java
index 5b79903c03e..650fd912ef6 100644
--- a/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathLanguage.java
+++ b/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathLanguage.java
@@ -38,6 +38,7 @@ public class JsonPathLanguage extends LanguageSupport implements PropertyConfigu
     private boolean allowSimple = true;
     private boolean allowEasyPredicate = true;
     private boolean writeAsString;
+    private boolean unpackArray;
     private String headerName;
     private Option[] options;
 
@@ -81,6 +82,14 @@ public class JsonPathLanguage extends LanguageSupport implements PropertyConfigu
         this.writeAsString = writeAsString;
     }
 
+    public boolean isUnpackArray() {
+        return unpackArray;
+    }
+
+    public void setUnpackArray(boolean unpackArray) {
+        this.unpackArray = unpackArray;
+    }
+
     public String getHeaderName() {
         return headerName;
     }
@@ -113,6 +122,7 @@ public class JsonPathLanguage extends LanguageSupport implements PropertyConfigu
         answer.setAllowEasyPredicate(allowEasyPredicate);
         answer.setHeaderName(headerName);
         answer.setWriteAsString(writeAsString);
+        answer.setUnpackArray(unpackArray);
         answer.setHeaderName(headerName);
         answer.setOptions(options);
         answer.init(getCamelContext());
@@ -134,8 +144,9 @@ public class JsonPathLanguage extends LanguageSupport implements PropertyConfigu
         answer.setAllowSimple(property(boolean.class, properties, 2, allowSimple));
         answer.setAllowEasyPredicate(property(boolean.class, properties, 3, allowEasyPredicate));
         answer.setWriteAsString(property(boolean.class, properties, 4, writeAsString));
-        answer.setHeaderName(property(String.class, properties, 5, headerName));
-        String option = (String) properties[6];
+        answer.setUnpackArray(property(boolean.class, properties, 5, unpackArray));
+        answer.setHeaderName(property(String.class, properties, 6, headerName));
+        String option = (String) properties[7];
         if (option != null) {
             List<Option> list = new ArrayList<>();
             for (String s : option.split(",")) {
@@ -192,6 +203,10 @@ public class JsonPathLanguage extends LanguageSupport implements PropertyConfigu
             case "writeAsString":
                 setWriteAsString(PropertyConfigurerSupport.property(camelContext, boolean.class, value));
                 return true;
+            case "unpackarray":
+            case "unpackArray":
+                setUnpackArray(PropertyConfigurerSupport.property(camelContext, boolean.class, value));
+                return true;
             case "options":
                 setOptions(PropertyConfigurerSupport.property(camelContext, Option[].class, value));
                 return true;
diff --git a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathLanguageTest.java b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathLanguageTest.java
index 8b9f068f64f..37cae41c8fa 100644
--- a/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathLanguageTest.java
+++ b/components/camel-jsonpath/src/test/java/org/apache/camel/jsonpath/JsonPathLanguageTest.java
@@ -137,4 +137,36 @@ public class JsonPathLanguageTest extends CamelTestSupport {
         assertNull(nofoo);
     }
 
+    @Test
+    public void testUnpackJsonArray() {
+        Exchange exchange = new DefaultExchange(context);
+        exchange.getIn().setBody(new File("src/test/resources/expensive.json"));
+
+        JsonPathLanguage language = (JsonPathLanguage) context.resolveLanguage("jsonpath");
+        language.setUnpackArray(true);
+        language.setResultType(String.class);
+
+        JsonPathExpression expression = (JsonPathExpression) language.createExpression("$.store.book");
+        String json = (String) expression.evaluate(exchange);
+
+        // check that a single json object is returned, not an array
+        assertTrue(json.startsWith("{") && json.endsWith("}"));
+    }
+
+    @Test
+    public void testDontUnpackJsonArray() {
+        Exchange exchange = new DefaultExchange(context);
+        exchange.getIn().setBody(new File("src/test/resources/expensive.json"));
+
+        JsonPathLanguage language = (JsonPathLanguage) context.resolveLanguage("jsonpath");
+        language.setUnpackArray(false);
+        language.setResultType(String.class);
+
+        JsonPathExpression expression = (JsonPathExpression) language.createExpression("$.store.book");
+        String json = (String) expression.evaluate(exchange);
+
+        // check that an array is returned, not a single object
+        assertTrue(json.startsWith("[") && json.endsWith("]"));
+    }
+
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
index d785fe9a27c..309c6b75233 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
@@ -570,6 +570,18 @@ public class ExpressionClause<T> implements Expression, Predicate {
         return delegate.jsonpathWriteAsString(text, suppressExceptions, true, headerName);
     }
 
+    /**
+     * Evaluates a <a href="http://camel.apache.org/jsonpath.html">Json Path expression</a> with unpacking a
+     * single-element array into an object enabled.
+     *
+     * @param  text               the expression to be evaluated
+     * @param  resultType         the return type expected by the expression
+     * @return                    the builder to continue processing the DSL
+     */
+    public T jsonpathUnpack(String text, Class<?> resultType) {
+        return delegate.jsonpathUnpack(text, resultType);
+    }
+
     /**
      * Evaluates an <a href="http://camel.apache.org/ognl.html">OGNL expression</a>
      *
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
index fba2d270aa6..8192c1d09f6 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
@@ -679,6 +679,21 @@ public class ExpressionClauseSupport<T> implements ExpressionFactoryAware, Predi
         return expression(expression);
     }
 
+    /**
+     * Evaluates a <a href="http://camel.apache.org/jsonpath.html">Json Path expression</a> with unpacking a
+     * single-element array into an object enabled.
+     *
+     * @param  text               the expression to be evaluated
+     * @param  resultType         the return type expected by the expression
+     * @return                    the builder to continue processing the DSL
+     */
+    public T jsonpathUnpack(String text, Class<?> resultType) {
+        JsonPathExpression expression = new JsonPathExpression(text);
+        expression.setUnpackArray(Boolean.toString(true));
+        expression.setResultType(resultType);
+        return expression(expression);
+    }
+
     /**
      * Evaluates an <a href="http://camel.apache.org/ognl.html">OGNL expression</a>
      *
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JsonPathExpression.java b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JsonPathExpression.java
index bae9b501d86..5a675b3b455 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JsonPathExpression.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JsonPathExpression.java
@@ -49,6 +49,9 @@ public class JsonPathExpression extends ExpressionDefinition {
     @Metadata(defaultValue = "false", javaType = "java.lang.Boolean")
     private String writeAsString;
     @XmlAttribute
+    @Metadata(defaultValue = "false", javaType = "java.lang.Boolean")
+    private String unpackArray;
+    @XmlAttribute
     @Metadata(label = "advanced")
     private String headerName;
     @XmlAttribute
@@ -129,6 +132,17 @@ public class JsonPathExpression extends ExpressionDefinition {
         this.writeAsString = writeAsString;
     }
 
+    public String getUnpackArray() {
+        return unpackArray;
+    }
+
+    /**
+     * Whether to unpack a single element json-array into an object.
+     */
+    public void setUnpackArray(String unpackArray) {
+        this.unpackArray = unpackArray;
+    }
+
     public String getHeaderName() {
         return headerName;
     }
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
index 5ef7d1eaec5..b3de1829766 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
@@ -43,14 +43,15 @@ public class JsonPathExpressionReifier extends ExpressionReifier<JsonPathExpress
     }
 
     private Object[] createProperties() {
-        Object[] properties = new Object[7];
+        Object[] properties = new Object[8];
         properties[0] = definition.getResultType();
         properties[1] = parseBoolean(definition.getSuppressExceptions());
         properties[2] = parseBoolean(definition.getAllowSimple());
         properties[3] = parseBoolean(definition.getAllowEasyPredicate());
         properties[4] = parseBoolean(definition.getWriteAsString());
-        properties[5] = parseString(definition.getHeaderName());
-        properties[6] = parseString(definition.getOption());
+        properties[5] = parseBoolean(definition.getUnpackArray());
+        properties[6] = parseString(definition.getHeaderName());
+        properties[7] = parseString(definition.getOption());
         return properties;
     }
 


[camel] 02/02: Regen

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b34a0eca353500afe2a562bdf5440afa298ef1ab
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Oct 19 19:55:44 2022 +0200

    Regen
---
 camel-dependencies/pom.xml                         |     2 +-
 .../apache/camel/catalog/languages/jsonpath.json   |     1 +
 .../org/apache/camel/catalog/models/jsonpath.json  |     1 +
 .../apache/camel/catalog/schemas/camel-spring.xsd  | 14203 +++++++++++++++----
 .../org/apache/camel/jsonpath/jsonpath.json        |     1 +
 .../org/apache/camel/model/language/jsonpath.json  |     1 +
 .../java/org/apache/camel/xml/in/ModelParser.java  |     1 +
 .../dsl/yaml/deserializers/ModelDeserializers.java |     6 +
 .../generated/resources/schema/camel-yaml-dsl.json |     3 +
 .../generated/resources/schema/camelYamlDsl.json   |     3 +
 10 files changed, 11182 insertions(+), 3040 deletions(-)

diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml
index 1210175d904..1bf8a66761e 100644
--- a/camel-dependencies/pom.xml
+++ b/camel-dependencies/pom.xml
@@ -149,7 +149,7 @@
     <commons-math3-version>3.6.1</commons-math3-version>
     <commons-net-version>3.8.0</commons-net-version>
     <commons-pool2-version>2.11.1</commons-pool2-version>
-    <commons-text-version>1.9</commons-text-version>
+    <commons-text-version>1.10.0</commons-text-version>
     <commons-validator-version>1.7</commons-validator-version>
     <compiler.fork>true</compiler.fork>
     <compress-lzf-version>1.1</compress-lzf-version>
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/jsonpath.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/jsonpath.json
index 53b10a731cf..6e7ecee6336 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/jsonpath.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/jsonpath.json
@@ -22,6 +22,7 @@
     "allowSimple": { "kind": "attribute", "displayName": "Allow Simple", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to allow in inlined Simple exceptions in the JSONPath expression" },
     "allowEasyPredicate": { "kind": "attribute", "displayName": "Allow Easy Predicate", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to allow using the easy predicate parser to pre-parse predicates." },
     "writeAsString": { "kind": "attribute", "displayName": "Write As String", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to write the output of each row\/element as a JSON String value instead of a Map\/POJO value." },
+    "unpackArray": { "kind": "attribute", "displayName": "Unpack Array", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to unpack a single element json-array into an object." },
     "headerName": { "kind": "attribute", "displayName": "Header Name", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of header to use as input, instead of the message body" },
     "option": { "kind": "attribute", "displayName": "Option", "label": "advanced", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "DEFAULT_PATH_LEAF_TO_NULL", "ALWAYS_RETURN_LIST", "AS_PATH_LIST", "SUPPRESS_EXCEPTIONS", "REQUIRE_PROPERTIES" ], "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional options on JSONPath. Multiple values can be separated by comma." },
     "trim": { "kind": "attribute", "displayName": "Trim", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to trim the value to remove leading and trailing whitespaces and line breaks" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jsonpath.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jsonpath.json
index 108923ff497..a20f08e33cc 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jsonpath.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/jsonpath.json
@@ -19,6 +19,7 @@
     "allowSimple": { "kind": "attribute", "displayName": "Allow Simple", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to allow in inlined Simple exceptions in the JSONPath expression" },
     "allowEasyPredicate": { "kind": "attribute", "displayName": "Allow Easy Predicate", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to allow using the easy predicate parser to pre-parse predicates." },
     "writeAsString": { "kind": "attribute", "displayName": "Write As String", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to write the output of each row\/element as a JSON String value instead of a Map\/POJO value." },
+    "unpackArray": { "kind": "attribute", "displayName": "Unpack Array", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to unpack a single element json-array into an object." },
     "headerName": { "kind": "attribute", "displayName": "Header Name", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of header to use as input, instead of the message body" },
     "option": { "kind": "attribute", "displayName": "Option", "label": "advanced", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "DEFAULT_PATH_LEAF_TO_NULL", "ALWAYS_RETURN_LIST", "AS_PATH_LIST", "SUPPRESS_EXCEPTIONS", "REQUIRE_PROPERTIES" ], "deprecated": false, "autowired": false, "secret": false, "description": "To configure additional options on JSONPath. Multiple values can be separated by comma." },
     "trim": { "kind": "attribute", "displayName": "Trim", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to trim the value to remove leading and trailing whitespaces and line breaks" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index a998e360463..6ac44681f37 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -1,619 +1,770 @@
 <?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="aggregate" type="tns:aggregateDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Aggregates many messages into a single message
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="any23" type="tns:any23DataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Extract RDF data from HTML documents.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="apiKey" type="tns:apiKeyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security basic auth definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="asn1" type="tns:asn1DataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Encode and decode data structures using Abstract Syntax Notation One (ASN.1).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="avro" type="tns:avroDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Serialize and deserialize messages using Apache Avro binary data format.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="barcode" type="tns:barcodeDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Transform strings to various 1D/2D barcode bitmap formats and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="base64" type="tns:base64DataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Encode and decode data using Base64.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="basicAuth" type="tns:basicAuthDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security basic auth definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="batch-config" type="tns:batchResequencerConfig">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configures batch-processing resequence eip.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="bean" type="tns:beanDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Calls a Java bean
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="beanPostProcessor" type="tns:camelBeanPostProcessor">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Spring specific DefaultCamelBeanPostProcessor which uses Spring
 BeanPostProcessor to post process beans.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="bearerToken" type="tns:bearerTokenDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security bearer token authentication definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="bindy" type="tns:bindyDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <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:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="blacklistServiceFilter" type="tns:blacklistServiceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="cachingServiceDiscovery" type="tns:cachingServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="camelContext" type="tns:camelContextFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 CamelContext using XML configuration.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="cbor" type="tns:cborDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Unmarshal a CBOR payload to POJO and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="choice" type="tns:choiceDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route messages based on a series of predicates
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="circuitBreaker" type="tns:circuitBreakerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route messages in a fault tolerance way using Circuit Breaker
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="claimCheck" type="tns:claimCheckDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 The Claim Check EIP allows you to replace message content with a claim check (a
 unique key), which can be used to retrieve the message content at a later time.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="combinedServiceDiscovery" type="tns:combinedServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="combinedServiceFilter" type="tns:combinedServiceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="constant" type="tns:constantExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A fixed value set only once during the route startup.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="consulServiceDiscovery" type="tns:consulServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configures a ConsumerTemplate
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="contextScan" type="tns:contextScanDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Scans for Java org.apache.camel.builder.RouteBuilder instances in the context
 org.apache.camel.spi.Registry .
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="convertBodyTo" type="tns:convertBodyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Converts the message body to another type
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="crypto" type="tns:cryptoDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Encrypt and decrypt messages using Java Cryptography Extension (JCE).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="csimple" type="tns:cSimpleExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluate a compiled simple expression.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="csv" type="tns:csvDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Handle CSV (Comma Separated Values) payloads.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="custom" type="tns:customDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Delegate to a custom org.apache.camel.spi.DataFormat implementation via Camel
 registry.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="customLoadBalancer" type="tns:customLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To use a custom load balancer implementation.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="customServiceFilter" type="tns:customServiceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="dataFormats" type="tns:dataFormatsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configure data formats.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="datasonnet" type="tns:datasonnetExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To use DataSonnet scripts for message transformations.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="deadLetterChannel" type="tns:deadLetterChannelDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Error handler with dead letter queue.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="defaultErrorHandler" type="tns:defaultErrorHandlerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 The default error handler.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="defaultLoadBalancer" type="tns:defaultServiceCallServiceLoadBalancerConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="delay" type="tns:delayDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Delays processing for a specified length of time
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="delete" type="tns:deleteDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest DELETE command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="description" type="tns:descriptionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To provide comments about the node.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="dnsServiceDiscovery" type="tns:dnsServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="doCatch" type="tns:catchDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Catches exceptions as part of a try, catch, finally block
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="doFinally" type="tns:finallyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Path traversed when a try, catch, finally block exits
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="doTry" type="tns:tryDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marks the beginning of a try, catch, finally block
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="dynamicRouter" type="tns:dynamicRouterDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route messages based on dynamic rules
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="endpoint" type="tns:camelEndpointFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Camel endpoint configuration
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="enrich" type="tns:enrichDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Enriches a message with data from a secondary resource
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="errorHandler" nillable="true" type="xs:anyType">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Camel error handling.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="errorHandlerRef" type="tns:errorHandlerRefDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Dead letter channel error handler.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="exchangeProperty" type="tns:exchangePropertyExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Gets a property from the Exchange.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="expression" type="tns:expressionSubElementDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A useful base class for an expression
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="expressionDefinition" type="tns:expression"/>
-
+    
   <xs:element name="failover" type="tns:failoverLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 In case of failures the exchange will be tried on the next endpoint.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="faultToleranceConfiguration" type="tns:faultToleranceConfigurationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 MicroProfile Fault Tolerance Circuit Breaker EIP configuration
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="fhirJson" type="tns:fhirJsonDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshall and unmarshall FHIR objects to/from JSON.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="fhirXml" type="tns:fhirXmlDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshall and unmarshall FHIR objects to/from XML.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="filter" type="tns:filterDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Filter out messages based using a predicate
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="flatpack" type="tns:flatpackDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <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:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="fluentTemplate" type="tns:camelFluentProducerTemplateFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configures a org.apache.camel.FluentProducerTemplate
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="from" type="tns:fromDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Act as a message source as input to a route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="get" type="tns:getDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest GET command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="globalOption" type="tns:globalOptionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Models a string key/value pair for configuring some global options on a Camel
 context such as max debug log length.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="globalOptions" type="tns:globalOptionsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Models a series of string key/value pairs for configuring some global options on
 a Camel context such as max debug log length.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="grok" type="tns:grokDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Unmarshal unstructured data to objects using Logstash based Grok patterns.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="groovy" type="tns:groovyExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a Groovy script.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="gzipDeflater" type="tns:gzipDeflaterDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Compress and decompress messages using java.util.zip.GZIPStream.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="head" type="tns:headDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest HEAD command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="header" type="tns:headerExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Gets a header from the Exchange.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="healthyServiceFilter" type="tns:healthyServiceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="hl7" type="tns:hl7DataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="hl7terser" type="tns:hl7TerserExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Get the value of a HL7 message field specified by terse location specification
 syntax.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="ical" type="tns:icalDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal iCal (.ics) documents to/from model objects.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="idempotentConsumer" type="tns:idempotentConsumerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Filters out duplicate messages
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="inOnly" type="tns:inOnlyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Deprecated: Marks the exchange pattern for the route to one way
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="inOut" type="tns:inOutDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Deprecated: Marks the exchange pattern for the route to request/reply
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="inputType" type="tns:inputTypeDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Set the expected data type of the input message. If the actual message type is
 different at runtime, camel look for a required Transformer and apply if exists.
 If validate attribute is true then camel applies Validator as well. Type name
@@ -623,303 +774,377 @@ consists of two parts, 'scheme' and 'name' connected with ':'. For Java type
 it works like a wildcard. If only 'xml' is specified, all the XML message
 matches. It's handy to add only one transformer/validator for all the
 transformation from/to XML.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="intercept" type="tns:interceptDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Intercepts a message at each step in the route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="interceptFrom" type="tns:interceptFromDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Intercepts incoming messages
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="interceptSendToEndpoint" type="tns:interceptSendToEndpointDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Intercepts messages being sent to an endpoint
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jacksonXml" type="tns:jacksonXMLDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Unmarshal an XML payloads to POJOs and back using XMLMapper extension of
 Jackson.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jaxb" type="tns:jaxbDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jmxAgent" type="tns:camelJMXAgentDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 JMX configuration.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="joor" type="tns:joorExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a jOOR (Java compiled once at runtime) expression.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jq" type="tns:jqExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a JQ expression against a JSON message body.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="json" type="tns:jsonDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal POJOs to JSON and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jsonApi" type="tns:jsonApiDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jsonpath" type="tns:jsonPathExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a JSONPath expression against a JSON message body.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="jtaTransactionErrorHandler" type="tns:jtaTransactionErrorHandlerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 JTA based transactional error handler (requires camel-jta).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="kamelet" type="tns:kameletDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To call Kamelets in special situations
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="keyStoreParameters" type="tns:keyStoreParametersFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Key store facility for cryptographic keys and certificates
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="kubernetesServiceDiscovery" type="tns:kubernetesServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="language" type="tns:languageExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a custom language.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="loadBalance" type="tns:loadBalanceDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Balances message processing among a number of nodes
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="loadBalancerConfiguration" type="tns:serviceCallServiceLoadBalancerConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="log" type="tns:logDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Logs the defined message to the logger
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="loop" type="tns:loopDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Processes a message multiple times
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="lzf" type="tns:lzfDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Compress and decompress streams using LZF deflate algorithm.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="marshal" type="tns:marshalDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshals data into a specified format for transmission over a transport or
 component
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="method" type="tns:methodCallExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Calls a Java bean method.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="mimeMultipart" type="tns:mimeMultipartDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal Camel messages with attachments into MIME-Multipart messages and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="multicast" type="tns:multicastDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Routes the same message to multiple paths either sequentially or in parallel.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="mutualTLS" type="tns:mutualTLSDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security mutual TLS authentication definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="mvel" type="tns:mvelExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a MVEL template.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="noErrorHandler" type="tns:noErrorHandlerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To not use an error handler.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="oauth2" type="tns:oAuth2Definition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security OAuth2 definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="ognl" type="tns:ognlExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates an OGNL expression (Apache Commons OGNL).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="onCompletion" type="tns:onCompletionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route to be executed when normal route processing completes
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="onException" type="tns:onExceptionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route to be executed when an exception is thrown
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="onFallback" type="tns:onFallbackDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route to be executed when Circuit Breaker EIP executes fallback
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="openIdConnect" type="tns:openIdConnectDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security OpenID Connect definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="optimisticLockRetryPolicy" type="tns:optimisticLockRetryPolicyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure optimistic locking
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="otherwise" type="tns:otherwiseDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route to be executed when all other choices evaluate to false
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="outputType" type="tns:outputTypeDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Set the expected data type of the output message. If the actual message type is
 different at runtime, camel look for a required Transformer and apply if exists.
 If validate attribute is true then camel applies Validator as well. Type name
@@ -929,1667 +1154,2210 @@ consists of two parts, 'scheme' and 'name' connected with ':'. For Java type
 it works like a wildcard. If only 'xml' is specified, all the XML message
 matches. It's handy to add only one transformer/validator for all the XML-Java
 transformation.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="packageScan" type="tns:packageScanDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Scans for Java org.apache.camel.builder.RouteBuilder classes in java packages
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="param" type="tns:paramDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To specify the rest operation parameters.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="passThroughServiceFilter" type="tns:passThroughServiceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="patch" type="tns:patchDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest PATCH command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="pausable" type="tns:pausableDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Pausable EIP to support resuming processing from last known offset.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="pgp" type="tns:pgpDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="pipeline" type="tns:pipelineDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Routes the message to a sequence of processors.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="policy" type="tns:policyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Defines a policy the route will use
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="pollEnrich" type="tns:pollEnrichDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Enriches messages with data polled from a secondary resource
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="post" type="tns:postDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest POST command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="process" type="tns:processDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Calls a Camel processor
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="propertiesFunction" type="tns:camelPropertyPlaceholderFunctionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Function to use with properties placeholder
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="propertiesLocation" type="tns:camelPropertyPlaceholderLocationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Properties to use with properties placeholder
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="property" type="tns:propertyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A key value pair where the value is a literal value
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="propertyExpression" type="tns:propertyExpressionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A key value pair where the value is an expression.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="propertyPlaceholder" type="tns:camelPropertyPlaceholderDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Properties placeholder
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="protobuf" type="tns:protobufDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Serialize and deserialize Java objects using Google's Protocol buffers.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="put" type="tns:putDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest PUT command
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="random" type="tns:randomLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 The destination endpoints are selected by random.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="recipientList" type="tns:recipientListDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route messages to a number of dynamically specified recipients
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="redeliveryPolicy" type="tns:redeliveryPolicyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure re-delivery for error handling
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="redeliveryPolicyProfile" type="tns:camelRedeliveryPolicyFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of redelivery policy.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="ref" type="tns:refExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Uses an existing expression from the registry.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="removeHeader" type="tns:removeHeaderDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Removes a named header from the message
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="removeHeaders" type="tns:removeHeadersDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Removes message headers whose name matches a specified pattern
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="removeProperties" type="tns:removePropertiesDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Removes message exchange properties whose name matches a specified pattern
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="removeProperty" type="tns:removePropertyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Removes a named property from the message exchange
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="resequence" type="tns:resequenceDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Resequences (re-order) messages based on an expression
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="resilience4jConfiguration" type="tns:resilience4JConfigurationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Resilience4j Circuit Breaker EIP configuration
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="responseHeader" type="tns:responseHeaderDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To specify the rest operation response headers.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="responseMessage" type="tns:responseMessageDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To specify the rest operation response messages.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="rest" type="tns:restDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Defines a rest service using the rest-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="restBinding" type="tns:restBindingDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure rest binding
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="restConfiguration" type="tns:restConfigurationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure rest
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="restContext" type="tns:camelRestContextFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of REST services using rest-dsl using XML
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="restContextRef" type="tns:restContextRefDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To refer to an XML file with rest services defined using the rest-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="restProperty" type="tns:restPropertyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A key value pair
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="rests" type="tns:restsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A series of rest services defined using the rest-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="resumable" type="tns:resumableDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Resume EIP to support resuming processing from last known offset.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="rollback" type="tns:rollbackDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Forces a rollback by stopping routing the message
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="roundRobin" type="tns:roundRobinLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 The destination endpoints are selected in a round-robin fashion. This is a well
 known and classic policy, which spreads the load evenly.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="route" type="tns:routeDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A Camel route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeBuilder" type="tns:routeBuilderDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To refer to a Java org.apache.camel.builder.RouteBuilder instance to use.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeConfiguration" type="tns:routeConfigurationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Reusable configuration for Camel route(s).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeConfigurationContext" type="tns:camelRouteConfigurationContextFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of route configurations using XML
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeConfigurationContextRef" type="tns:routeConfigurationContextRefDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To refer to an XML file with route configuration defined using the xml-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeConfigurations" type="tns:routeConfigurationsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A series of route configurations
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeContext" type="tns:camelRouteContextFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of routes using XML
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeContextRef" type="tns:routeContextRefDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To refer to an XML file with routes defined using the xml-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeController" type="tns:camelRouteControllerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Route controller configuration.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeTemplate" type="tns:routeTemplateDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Defines a route template (parameterized routes)
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeTemplateContext" type="tns:camelRouteTemplateContextFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of route templates using XML
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeTemplateContextRef" type="tns:routeTemplateContextRefDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To refer to an XML file with route templates defined using the xml-dsl
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routeTemplates" type="tns:routeTemplatesDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A series of route templates
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routes" type="tns:routesDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A series of Camel routes
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="routingSlip" type="tns:routingSlipDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Routes a message through a series of steps that are pre-determined (the slip)
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="rss" type="tns:rssDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Transform from ROME SyndFeed Java Objects to XML and vice-versa.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="saga" type="tns:sagaDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Enables Sagas on the route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="sample" type="tns:samplingDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Extract a sample of the messages passing through a route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="script" type="tns:scriptDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Executes a script from a language which does not change the message body.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="secureRandomParameters" type="tns:secureRandomParametersFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Cryptographically strong random number generator
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="security" type="tns:securityDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Rest security definition
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="securityDefinitions" type="tns:restSecuritiesDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure rest security definitions.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceCall" type="tns:serviceCallDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To call remote services
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceCallConfiguration" type="tns:serviceCallConfigurationDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Remote service call configuration
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceChooserConfiguration" type="tns:serviceCallServiceChooserConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceDiscoveryConfiguration" type="tns:serviceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceExpression" type="tns:serviceCallExpressionConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="serviceFilterConfiguration" type="tns:serviceCallServiceFilterConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="setBody" type="tns:setBodyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sets the contents of the message body
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="setExchangePattern" type="tns:setExchangePatternDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sets the exchange pattern on the message exchange
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="setHeader" type="tns:setHeaderDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sets the value of a message header
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="setProperty" type="tns:setPropertyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sets a named property on the message exchange
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="simple" type="tns:simpleExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a Camel simple expression.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="soap" type="tns:soapDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal Java objects to SOAP messages and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="sort" type="tns:sortDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sorts the contents of the message
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="spel" type="tns:spELExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates a Spring expression (SpEL).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="split" type="tns:splitDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Splits a single message into many sub-messages.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="springTransactionErrorHandler" type="tns:springTransactionErrorHandlerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Spring based transactional error handler (requires camel-spring).
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="sslContextParameters" type="tns:sslContextParametersFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Secure socket protocol configuration
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="staticServiceDiscovery" type="tns:staticServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="step" type="tns:stepDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Routes the message to a sequence of processors which is grouped together as one
 logical name
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="sticky" type="tns:stickyLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sticky load balancing using an expression to calculate a correlation key to
 perform the sticky load balancing.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="stop" type="tns:stopDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Stops the processing of the current message
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="stream-config" type="tns:streamResequencerConfig">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configures stream-processing resequence eip.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="streamCaching" type="tns:camelStreamCachingStrategyDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Stream caching configuration.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="syslog" type="tns:syslogDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="tarFile" type="tns:tarFileDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Archive files into tarballs or extract files from tarballs.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="template" type="tns:camelProducerTemplateFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configures a ProducerTemplate
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templateBean" type="tns:routeTemplateBeanDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A route template bean (local bean)
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templateParameter" type="tns:routeTemplateParameterDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A route template parameter
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templatedRoute" type="tns:templatedRouteDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Defines a templated route (a route built from a route template)
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templatedRouteBean" type="tns:templatedRouteBeanDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A bean as input of a route template (local bean)
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templatedRouteParameter" type="tns:templatedRouteParameterDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 An input parameter of a route template.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="templatedRoutes" type="tns:templatedRoutesDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 A series of templated routes
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="threadPool" type="tns:camelThreadPoolFactoryBean">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Configuration of thread pools
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="threadPoolProfile" type="tns:threadPoolProfileDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure thread pools
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="threads" type="tns:threadsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Specifies that all steps after this node are processed asynchronously
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="thrift" type="tns:thriftDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Serialize and deserialize messages using Apache Thrift binary data format.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="throttle" type="tns:throttleDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Controls the rate at which messages are passed to the next node in the route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="throwException" type="tns:throwExceptionDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Throws an exception
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="tidyMarkup" type="tns:tidyMarkupDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Parse (potentially invalid) HTML into valid HTML or DOM.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="to" type="tns:toDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sends the message to a static endpoint
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="toD" type="tns:toDynamicDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Sends the message to a dynamic endpoint
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="tokenize" type="tns:tokenizerExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Tokenize text payloads using delimiter patterns.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="topic" type="tns:topicLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Topic which sends to all destinations.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="transacted" type="tns:transactedDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Enables transaction on the route
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="transform" type="tns:transformDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Transforms the message body based on an expression
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="transformers" type="tns:transformersDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure transformers.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="typeFilter" type="tns:yamlTypeFilterDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="univocityCsv" type="tns:uniVocityCsvDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal Java objects from and to CSV (Comma Separated Values)
 using UniVocity Parsers.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="univocityFixed" type="tns:uniVocityFixedDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal Java objects from and to fixed length records using
 UniVocity Parsers.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="univocityHeader" type="tns:uniVocityHeader">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure headers for UniVocity data formats.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="univocityTsv" type="tns:uniVocityTsvDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <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:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="unmarshal" type="tns:unmarshalDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Converts the message data received from the wire into a format that Apache Camel
 processors can consume
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="validate" type="tns:validateDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Validates a message based on an expression
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="validators" type="tns:validatorsDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 To configure validators.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="weighted" type="tns:weightedLoadBalancerDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Uses a weighted load distribution ratio for each server with respect to others.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="when" type="tns:whenDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Triggers a route when the expression evaluates to true
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="wireTap" type="tns:wireTapDefinition">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Routes a copy of a message (or creates a new message) to a secondary destination
 while continue routing the original message.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="xmlSecurity" type="tns:xmlSecurityDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Encrypt and decrypt XML payloads using Apache Santuario.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="xpath" type="tns:xPathExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates an XPath expression against an XML payload.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="xquery" type="tns:xQueryExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Evaluates an XQuery expressions against an XML payload.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="xstream" type="tns:xStreamDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal POJOs to/from XML using XStream library.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="xtokenize" type="tns:xmlTokenizerExpression">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Tokenize XML payloads.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="yaml" type="tns:yamlDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Marshal and unmarshal Java objects to and from YAML.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="zipDeflater" type="tns:zipDeflaterDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Compress and decompress streams using java.util.zip.Deflater and
 java.util.zip.Inflater.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="zipFile" type="tns:zipFileDataFormat">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 Compression and decompress streams using java.util.zip.ZipStream.
-      ]]></xs:documentation>
+      ]]>
+      </xs:documentation>
     </xs:annotation>
   </xs:element>
-
+    
   <xs:element name="zookeeperServiceDiscovery" type="tns:zooKeeperServiceCallServiceDiscoveryConfiguration">
     <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
+      <xs:documentation xml:lang="en">
+        <![CDATA[
 null
-      ]]></xs:documentation>
+      ]]>
+      </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a custom maximum cache size to use in the backing cache pools.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Id of CamelContext to use if there are multiple CamelContexts in the same JVM.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 The id of this node.
-        ]]></xs:documentation>
+        ]]>
+        </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[
+            <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: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[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Property key.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="value" type="xs:string" use="required">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Property value.
-        ]]></xs:documentation>
+        ]]>
+        </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the default endpoint URI used by default for sending message exchanges.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maximumCacheSize" type="xs:int">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a custom maximum cache size to use in the backing cache pools.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the default endpoint URI used by default for sending message exchanges.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maximumCacheSize" type="xs:int">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a custom maximum cache size to use in the backing cache pools.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="redeliveryDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMultiplier" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useExponentialBackOff" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the factor used for collision avoidance if enabled via
 useCollisionAvoidance. Default value: 0.15
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useCollisionAvoidance" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retriesExhaustedLogLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retryAttemptedLogLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the interval for log messages when retries are attempted. Default value: 0
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logRetryAttempted" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether to log retry attempts. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logStackTrace" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether stack traces should be logged or not. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logRetryStackTrace" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether stack traces should be logged or not. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logHandled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether errors should be logged even if its handled. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logNewException" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logContinued" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether errors should be logged even if its continued. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhausted" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether exhausted exceptions should be logged or not. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether to log exhausted errors including message history. Default value:
 false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhaustedMessageBody" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="disableRedelivery" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Disables redelivery by setting maximum redeliveries to 0. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="delayPattern" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets an optional delay pattern to use instead of fixed delay.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="exchangeFormatterRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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: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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the core pool size (threads to keep minimum in pool).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maxPoolSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the maximum pool size.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="keepAliveTime" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the keep alive time for inactive threads.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeUnit" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the time unit used for keep alive time. Default value: SECONDS
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maxQueueSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="allowCoreThreadTimeOut" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether to allow core threads to timeout. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="rejectedPolicy" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="threadName" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a custom thread name / pattern.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="scheduled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to use a scheduled thread pool. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Disable JMI (default false). Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="onlyRegisterProcessorWithCustomId" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Only register processor if a custom id was defined for it. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="mbeanServerDefaultDomain" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 MBean server default domain name (default org.apache.camel). Default value:
 org.apache.camel
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="mbeanObjectDomainName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 MBean object domain name (default org.apache.camel). Default value:
 org.apache.camel
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="usePlatformMBeanServer" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether the platform mbean server should be used. Default
 value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="registerAlways" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether to register mbeans always. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="registerNewRoutes" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether to register mbeans when starting new routes.
 Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="statisticsLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Level of granularity for performance statistics enabled. Default value: Default
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="mbeansLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the mbeans registration level. The default value is Default. Default value:
 Default
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="loadStatisticsEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether Load statistics is enabled. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="endpointRuntimeStatisticsEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether endpoint runtime statistics is enabled. Default
 value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="includeHostName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether to include hostname in JMX MBean names. Default
 value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useHostIPAddress" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether to use hostname or IP Address in the service url.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="mask" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A flag that indicates whether to remove detected sensitive information (such as
 passwords) from MBean names and attributes. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A list of locations to load properties. You can use comma to separate multiple
 locations. This option will override any default locations and only use the
 locations from this option.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="encoding" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Encoding to use when loading properties file from the file system or classpath.
 If no encoding has been set, then the properties files is loaded using
 ISO-8859-1 encoding (latin-1) as documented by
 java.util.Properties#load(java.io.InputStream).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="ignoreMissingLocation" type="xs:boolean">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to silently ignore if a location cannot be located, such as a properties
 file not found. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="propertiesParserRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Reference to a custom PropertiesParser to be used.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="defaultFallbackEnabled" type="xs:boolean">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If false, the component does not attempt to find a default for the key by
 looking after the colon separator. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Reference to the custom properties function to lookup in the registry.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The resolver to use to locate the location. Default value: classpath
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="path" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Property locations to use.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="optional" type="xs:boolean">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If the location is optional. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To enable using supervising route controller which allows Camel to startup and
 then the controller takes care of starting the routes in a safe manner. This can
 be used when you want to startup Camel despite a route may otherwise fail fast
@@ -2597,120 +3365,162 @@ during startup and cause Camel to fail to startup as well. By delegating the
 route startup to the supervising route controller then its manages the startup
 using a background thread. The controller allows to be configured with various
 settings to attempt to restart failing routes. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="includeRoutes" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Pattern for filtering routes to be included as supervised. The pattern is
 matching on route id, and endpoint uri for the route. Multiple patterns can be
 separated by comma. For example to include all kafka routes, you can say kafka:.
 And to include routes with specific route ids myRoute,myOtherRoute. The pattern
 supports wildcards and uses the matcher from
 org.apache.camel.support.PatternHelper#matchPattern.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="excludeRoutes" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Pattern for filtering routes to be excluded as supervised. The pattern is
 matching on route id, and endpoint uri for the route. Multiple patterns can be
 separated by comma. For example to exclude all JMS routes, you can say jms:. And
 to exclude routes with specific route ids mySpecialRoute,myOtherSpecialRoute.
 The pattern supports wildcards and uses the matcher from
 org.apache.camel.support.PatternHelper#matchPattern.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="threadPoolSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The number of threads used by the scheduled thread pool that are used for
 restarting routes. The pool uses 1 thread by default, but you can increase this
 to allow the controller to concurrently attempt to restart multiple routes in
 case more than one route has problems starting. Default value: 1
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="initialDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Initial delay in milli seconds before the route controller starts, after
 CamelContext has been started.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Backoff delay in millis when restarting a route that failed to startup. Default
 value: 2000
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMaxDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Backoff maximum delay in millis when restarting a route that failed to startup.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMaxElapsedTime" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Backoff maximum elapsed time in millis, after which the backoff should be
 considered exhausted and no more attempts should be made.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMaxAttempts" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Backoff maximum number of attempts to restart a route that failed to startup.
 When this threshold has been exceeded then the controller will give up
 attempting to restart the route, and the route will remain as stopped.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMultiplier" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Backoff multiplier to use for exponential backoff. This is used to extend the
 delay between restart attempts. Default value: 1.0
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="unhealthyOnExhausted" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to mark the route as unhealthy (down) when all restarting attempts
 (backoff) have failed and the route is not successfully started and the route
 manager is giving up. Setting this to true allows health checks to know about
 this and can report the Camel application as DOWN. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="loggingLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the logging level used for logging route activity (such as starting and
 stopping routes). The default logging level is DEBUG. Default value: DEBUG
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether stream caching is enabled or not. While stream types (like
 StreamSource, InputStream and Reader) are commonly used in messaging for
 performance reasons, they also have an important drawback: they can only be read
@@ -2720,306 +3530,456 @@ streamCachingSpoolEnabled=true, then, for large stream messages (over 128 KB by
 default) will be cached in a temporary file instead, and Camel will handle
 deleting the temporary file once the cached stream is no longer necessary.
 Default is true. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To enable stream caching spooling to disk. This means, for large stream messages
 (over 128 KB by default) will be cached in a temporary file instead, and Camel
 will handle deleting the temporary file once the cached stream is no longer
 necessary. Default is false. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolDirectory" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the spool (temporary) directory to use for overflow and spooling to disk.
 If no spool directory has been explicit configured, then a temporary directory
 is created in the java.io.tmpdir directory.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolCipher" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a cipher name to use when spooling to disk to write with encryption. By
 default the data is not encrypted.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Threshold in bytes when overflow to disk is activated. The default threshold is
 org.apache.camel.StreamCache#DEFAULT_SPOOL_THRESHOLD bytes (eg 128kb). Use -1 to
 disable overflow to disk. Default value: 131072
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolUsedHeapMemoryThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a percentage (1-99) of used heap memory threshold to activate spooling to
 disk.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolUsedHeapMemoryLimit" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets what the upper bounds should be when spoolUsedHeapMemoryThreshold is in
 use.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="spoolRules" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Reference to one or more custom
 org.apache.camel.spi.StreamCachingStrategy.SpoolRule to use. Multiple rules can
 be separated by comma.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="bufferSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the buffer size to use when allocating in-memory buffers used for in-memory
 stream caches. The default size is
 org.apache.camel.util.IOHelper#DEFAULT_BUFFER_SIZE. Default value: 4096
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="removeSpoolDirectoryWhenStopping" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to remove the temporary directory when stopping. This option is default
 true. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="statisticsEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether statistics is enabled. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="anySpoolRules" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether if just any of the
 org.apache.camel.spi.StreamCachingStrategy.SpoolRule rules returns true then
 shouldSpoolCache(long) returns true. If this option is false, then all the
 org.apache.camel.spi.StreamCachingStrategy.SpoolRule must return true. The
 default value is false which means that all the rules must return true. Default
 value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </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="type" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The optional type of the key store to load. See Appendix A in the Java
 Cryptography Architecture Standard Algorithm Name Documentation for more
 information on standard names.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="password" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The optional password for reading/opening/verifying the key store.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="provider" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The optional provider identifier for instantiating the key store.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="resource" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The optional file path, class path resource, or URL of the resource used to load
 the key store.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <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 Appendix A in the Java Cryptography Architecture API
 Specification and Reference guide for information about standard RNG algorithm
 names.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="provider" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The optional provider identifier for the SecureRandom factory method used to
 create the SecureRandom represented by this object's configuration.
-            ]]></xs:documentation>
+            ]]>
+            </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="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="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="inheritErrorHandler" type="xs:boolean"/>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType abstract="true" name="optionalIdentifiedDefinition">
+        
     <xs:sequence>
+            
       <xs:element minOccurs="0" ref="tns:description"/>
+          
     </xs:sequence>
+        
     <xs:attribute name="customId" type="xs:boolean"/>
+        
     <xs:attribute name="id" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Sets the id of this node.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="descriptionDefinition">
+        
     <xs:simpleContent>
+            
       <xs:extension base="xs:string">
+                
         <xs:attribute name="lang" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Deprecated: Language, such as en for english.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </xs:extension>
+          
     </xs:simpleContent>
+      
   </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[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 The expression used to calculate the correlation key to use for aggregation. The
 Exchange which has the same correlation key is aggregated together. If the
 correlation key could not be evaluated an Exception is thrown. You can disable
 this by using the ignoreBadCorrelationKeys option.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:element minOccurs="0" name="completionPredicate" type="tns:expressionSubElementDefinition">
             <xs:annotation>
-              <xs:documentation xml:lang="en"><![CDATA[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 A Predicate to indicate when an aggregated exchange is complete. If this is not
 specified and the AggregationStrategy object implements Predicate, the
 aggregationStrategy object will be used as the completionPredicate.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:element minOccurs="0" name="completionTimeoutExpression" type="tns:expressionSubElementDefinition">
             <xs:annotation>
-              <xs:documentation xml:lang="en"><![CDATA[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 Time in millis that an aggregated exchange should be inactive before its
 complete (timeout). This option can be set as either a fixed value or using an
 Expression which allows you to evaluate a timeout dynamically - will use Long as
@@ -3031,199 +3991,309 @@ option to configure how frequently to run the checker. The timeout is an
 approximation and there is no guarantee that the a timeout is triggered exactly
 after the timeout value. It is not recommended to use very low timeout values or
 checker intervals.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:element minOccurs="0" name="completionSizeExpression" type="tns:expressionSubElementDefinition">
             <xs:annotation>
-              <xs:documentation xml:lang="en"><![CDATA[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 Number of messages aggregated before the aggregation is complete. This option
 can be set as either a fixed value or using an Expression which allows you to
 evaluate a size dynamically - will use Integer as result. If both are set Camel
 will fallback to use the fixed value if the Expression result was null or 0.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:element minOccurs="0" ref="tns:optimisticLockRetryPolicy"/>
+                    
           <xs:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="parallelProcessing" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 When aggregated are completed they are being send out of the aggregator. This
 option indicates whether or not Camel should use a thread pool with multiple
 threads for concurrency. If no custom thread pool has been specified then Camel
 creates a default pool with 10 concurrent threads. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="optimisticLocking" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Turns on using optimistic locking, which requires the aggregationRepository
 being used, is supporting this by implementing
 org.apache.camel.spi.OptimisticLockingAggregationRepository . Default value:
 false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="executorService" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If using parallelProcessing you can specify a custom thread pool to be used. In
 fact also if you are not using parallelProcessing this custom thread pool is
 used to send out aggregated exchanges as well.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeoutCheckerExecutorService" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If using either of the completionTimeout, completionTimeoutExpression, or
 completionInterval options a background thread is created to check for the
 completion for every aggregator. Set this option to provide a custom thread pool
 to be used rather than creating a new thread for every aggregator.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregateController" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a org.apache.camel.processor.aggregate.AggregateController to allow
 external sources to control this aggregator.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationRepository" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The AggregationRepository to use. Sets the custom aggregate repository to use.
 Will by default use
 org.apache.camel.processor.aggregate.MemoryAggregationRepository.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategy" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The AggregationStrategy to use. For example to lookup a bean with the name foo,
 the value is simply just #bean:foo. Configuring an AggregationStrategy is
 required, and is used to merge the incoming Exchange with the existing already
 merged exchanges. At first call the oldExchange parameter is null. On subsequent
 invocations the oldExchange contains the merged exchanges and newExchange is of
 course the new incoming Exchange.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 This option can be used to explicit declare the method name to use, when using
 beans as the AggregationStrategy.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategyMethodAllowNull" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If this option is false then the aggregate method is not used for the very first
 aggregation. If this option is true then null values is used as the oldExchange
 (at the very first aggregation), when using beans as the AggregationStrategy.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Number of messages aggregated before the aggregation is complete. This option
 can be set as either a fixed value or using an Expression which allows you to
 evaluate a size dynamically - will use Integer as result. If both are set Camel
 will fallback to use the fixed value if the Expression result was null or 0.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionInterval" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 A repeating period in millis by which the aggregator will complete all current
 aggregated exchanges. Camel has a background task which is triggered every
 period. You cannot use this option together with completionTimeout, only one of
 them can be used.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionTimeout" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Time in millis that an aggregated exchange should be inactive before its
 complete (timeout). This option can be set as either a fixed value or using an
 Expression which allows you to evaluate a timeout dynamically - will use Long as
@@ -3235,98 +4305,128 @@ option to configure how frequently to run the checker. The timeout is an
 approximation and there is no guarantee that the a timeout is triggered exactly
 after the timeout value. It is not recommended to use very low timeout values or
 checker intervals.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionTimeoutCheckerInterval" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Interval in millis that is used by the background task that checks for timeouts
 ( org.apache.camel.TimeoutMap ). By default the timeout checker runs every
 second. The timeout is an approximation and there is no guarantee that the a
 timeout is triggered exactly after the timeout value. It is not recommended to
 use very low timeout values or checker intervals. Default value: 1000
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionFromBatchConsumer" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Enables the batch completion mode where we aggregate from a
 org.apache.camel.BatchConsumer and aggregate the total number of exchanges the
 org.apache.camel.BatchConsumer has reported as total by checking the exchange
 property org.apache.camel.Exchange#BATCH_COMPLETE when its complete. This option
 cannot be used together with discardOnAggregationFailure. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionOnNewCorrelationGroup" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Enables completion on all previous groups when a new incoming correlation group.
 This can for example be used to complete groups with same correlation keys when
 they are in consecutive order. Notice when this is enabled then only 1
 correlation group can be in progress as when a new correlation group starts,
 then the previous groups is forced completed. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="eagerCheckCompletion" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Use eager completion checking which means that the completionPredicate will use
 the incoming Exchange. As opposed to without eager completion checking the
 completionPredicate will use the aggregated Exchange. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="ignoreInvalidCorrelationKeys" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If a correlation key cannot be successfully evaluated it will be ignored by
 logging a DEBUG and then just ignore the incoming Exchange. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="closeCorrelationKeyOnCompletion" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Closes a correlation key when its complete. Any late received exchanges which
 has a correlation key that has been closed, it will be defined and a
 ClosedCorrelationKeyException is thrown.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="discardOnCompletionTimeout" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Discards the aggregated message on completion timeout. This means on timeout the
 aggregated message is dropped and not sent out of the aggregator. Default value:
 false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="discardOnAggregationFailure" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Discards the aggregated message when aggregation failed (an exception was thrown
 from AggregationStrategy . This means the partly aggregated message is dropped
 and not sent out of the aggregator. This option cannot be used together with
 completionFromBatchConsumer. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="forceCompletionOnStop" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Indicates to complete all current aggregated exchanges when the context is
 stopped. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completeAllOnStop" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Indicates to wait to complete all current and partial (pending) aggregated
 exchanges when the context is stopped. This also means that we will wait for all
 pending exchanges which are stored in the aggregation repository to complete so
@@ -3335,131 +4435,202 @@ using the memory based aggregation repository that is memory based only, and do
 not store data on disk. When this option is enabled, then the aggregator is
 waiting to complete all those exchanges before its stopped, when stopping
 CamelContext or the route using it. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </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: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:ref"/>
+            
       <xs:element ref="tns:simple"/>
+            
       <xs:element ref="tns:spel"/>
+            
       <xs:element ref="tns:tokenize"/>
+            
       <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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the id of this node.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="trim" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to trim the value to remove leading and trailing whitespaces and line
 breaks. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </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[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Sets the maximum number of retries.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="retryDelay" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Sets the delay in millis between retries. Default value: 50
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="maximumRetryDelay" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Sets the upper value of retry in millis between retries, when using exponential
 or random backoff. Default value: 1000
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="exponentialBackOff" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Enable exponential backoff. Default value: true
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="randomBackOff" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Enables random backoff. Default value: false
-        ]]></xs:documentation>
+        ]]>
+        </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to an exiting bean to use, which is looked up from the
 registry.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="method" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the method name on the bean to use.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="beanType" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the class name (fully qualified) of the bean to use.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="scope" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. The bean should
 be thread-safe in case concurrent threads is calling the bean at the same time.
@@ -3473,513 +4644,924 @@ this is delegated to the bean registry such as Spring or CDI (if in use), which
 depends on their configuration can act as either singleton or prototype scope.
 So when using prototype scope then this depends on the bean registry
 implementation. Default value: Singleton
-            ]]></xs:documentation>
+            ]]>
+            </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 abstract="true" name="beanFactoryDefinition">
+        
     <xs:sequence>
+            
       <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/>
+            
       <xs:element minOccurs="0" name="script" type="xs:string">
         <xs:annotation>
-          <xs:documentation xml:lang="en"><![CDATA[
+          <xs:documentation xml:lang="en">
+            <![CDATA[
 The script to execute that creates the bean when using scripting languages. If
 the script use the prefix resource: such as
 resource:classpath:com/foo/myscript.groovy, resource:file:/var/myscript.groovy,
 then its loaded from the external resource.
-          ]]></xs:documentation>
+          ]]>
+          </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[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Bean name.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="type" type="xs:string" use="required">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 What type to use for creating the bean. Can be one of:
 #class,#type,bean,groovy,joor,language,mvel,ognl. #class or #type then the bean
 is created via the fully qualified classname, such as #class:com.foo.MyBean The
 others are scripting languages that gives more power to create the bean with an
 inlined code in the script section, such as using groovy.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="beanType" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 To set the type (fully qualified class name) of the returned bean created by the
 script. Knowing the type of the bean can be needed when dependency injection by
 type is in use, or when looking in registry via class type.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+      
   </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[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 The exception(s) to catch.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:element minOccurs="0" name="onWhen" type="tns:whenDefinition">
             <xs:annotation>
-              <xs:documentation xml:lang="en"><![CDATA[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 Sets an additional predicate that should be true before the onCatch is
 triggered. To be used for fine grained controlling whether a thrown exception
 should be intercepted by this exception type or not.
-              ]]></xs:documentation>
+              ]]>
+              </xs:documentation>
             </xs:annotation>
           </xs:element>
+                    
           <xs:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="whenDefinition">
+        
     <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: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:ref"/>
+                        
             <xs:element ref="tns:simple"/>
+                        
             <xs:element ref="tns:spel"/>
+                        
             <xs:element ref="tns:tokenize"/>
+                        
             <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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="choiceDefinition">
+        
     <xs:complexContent>
+            
       <xs:extension base="tns:processorDefinition">
+                
         <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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Indicates whether this Choice EIP is in precondition mode or not. If so its
 branches (when/otherwise) are evaluated during startup to keep at runtime only
 the branch that matched. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="otherwiseDefinition">
+        
     <xs:complexContent>
+            
       <xs:extension base="tns:output">
+                
         <xs:sequence>
+                    
           <xs:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+              
       </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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="configuration" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Refers to a circuit breaker configuration (such as resillience4j, or
 microprofile-fault-tolerance) to use for configuring the circuit breaker EIP.
-            ]]></xs:documentation>
+            ]]>
+            </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 minOccurs="0" name="bulkheadEnabled" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="bulkheadMaxConcurrentCalls" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="bulkheadMaxWaitDuration" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="timeoutEnabled" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="timeoutExecutorService" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="timeoutDuration" type="xs:string"/>
+                    
           <xs:element minOccurs="0" name="timeoutCancelRunningFuture" type="xs:string"/>
+                  
         </xs:sequence>
+                
         <xs:attribute name="circuitBreaker" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="config" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="failureRateThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. The threshold must be greater than 0 and not
 greater than 100. Default value is 50 percentage. Default value: 50
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="permittedNumberOfCallsInHalfOpenState" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the number of permitted calls when the CircuitBreaker is half open.
 The size must be greater than 0. Default size is 10. Default value: 10
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="throwExceptionWhenHalfOpenOrOpenState" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException
 when the call is rejected due circuit breaker is half open or open. Default
 value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="slidingWindowSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. slidingWindowSize configures the size
 of the sliding window. Sliding window can either be count-based or time-based.
@@ -3991,63 +5573,81 @@ greater than 0. If the slidingWindowType is COUNT_BASED, the
 minimumNumberOfCalls cannot be greater than slidingWindowSize . If the
 slidingWindowType is TIME_BASED, you can pick whatever you want. Default
 slidingWindowSize is 100. Default value: 100
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="slidingWindowType" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. If slidingWindowType is COUNT_BASED, the last
 slidingWindowSize calls are recorded and aggregated. If slidingWindowType is
 TIME_BASED, the calls of the last slidingWindowSize seconds are recorded and
 aggregated. Default slidingWindowType is COUNT_BASED. Default value: COUNT_BASED
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="minimumNumberOfCalls" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. For example, if
 minimumNumberOfCalls is 10, then at least 10 calls must be recorded, before the
 failure rate can be calculated. If only 9 calls have been recorded the
 CircuitBreaker will not transition to open even if all 9 calls have failed.
 Default minimumNumberOfCalls is 100. Default value: 100
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="writableStackTraceEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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 as the cause of the exceptions is already known (the
 circuit breaker is short-circuiting calls). Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="waitDurationInOpenState" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the wait duration (in seconds) which specifies how long the
 CircuitBreaker should stay open, before it switches to half open. Default value
 is 60 seconds. Default value: 60
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="automaticTransitionFromOpenToHalfOpenEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="slowCallRateThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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 Duration.
 When the percentage of slow calls is equal or greater the threshold, the
@@ -4055,171 +5655,240 @@ CircuitBreaker transitions to open and starts short-circuiting calls. The
 threshold must be greater than 0 and not greater than 100. Default value is 100
 percentage which means that all recorded calls must be slower than
 slowCallDurationThreshold. Default value: 100
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="slowCallDurationThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the duration threshold (seconds) above which calls are considered as
 slow and increase the slow calls percentage. Default value is 60 seconds.
 Default value: 60
-            ]]></xs:documentation>
+            ]]>
+            </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="circuitBreaker" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Refers to an existing
 io.smallrye.faulttolerance.core.circuit.breaker.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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="delay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="successThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="requestVolumeThreshold" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="failureRatio" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. The threshold must be greater than 0 and not
 greater than 100. Default value is 50 percentage. Default value: 50
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeoutEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether timeout is enabled or not on the circuit breaker. Default is false.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeoutDuration" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the thread execution timeout. Default value is 1 second. Default
 value: 1000
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeoutPoolSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the pool size of the thread pool when timeout is enabled. Default
 value is 10. Default value: 10
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="timeoutScheduledExecutorService" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 References to a custom thread pool to use when timeout is enabled.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="bulkheadEnabled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether bulkhead is enabled or not on the circuit breaker. Default is false.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="bulkheadMaxConcurrentCalls" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Configures the max amount of concurrent calls the bulkhead will support. Default
 value: 10
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="bulkheadWaitingTaskQueue" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="bulkheadExecutorService" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 References to a custom thread pool to use when bulkhead is enabled.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The claim check operation to use. The following operations are supported: Get -
 Gets (does not remove) the claim check by the given key. GetAndRemove - Gets and
 removes the claim check by the given key. Set - Sets a new (will override if key
 already exists) claim check with the given key. Push - Sets a new claim check on
 the stack (does not use key). Pop - Gets the latest claim check from the stack
 (does not use key).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="key" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a specific key for claim check id (for dynamic keys use simple language
 syntax as the key).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="filter" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Specify a filter to control what data gets merged data back from the claim check
 repository. The following syntax is supported: body - to aggregate the message
 body attachments - to aggregate all the message attachments headers - to
@@ -4235,200 +5904,317 @@ the default mode) - - to exclude (exclude takes precedence over include) -- - to
 remove (remove takes precedence) For example to exclude a header name foo, and
 remove all headers starting with bar, -header:foo,--headers:bar Note you cannot
 have both include and exclude header:pattern at the same time.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategy" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a custom AggregationStrategy instead of the default implementation.
 Notice you cannot use both custom aggregation strategy and configure data at the
 same time.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 This option can be used to explicit declare the method name to use, when using
 POJOs as the AggregationStrategy.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+          <xs:documentation xml:lang="en">
+            <![CDATA[
 Exclude finding route builder from these java package names.
-          ]]></xs:documentation>
+          ]]>
+          </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[
+          <xs:documentation xml:lang="en">
+            <![CDATA[
 Include finding route builder from these java package names.
-          ]]></xs:documentation>
+          ]]>
+          </xs:documentation>
         </xs:annotation>
       </xs:element>
+          
     </xs:sequence>
+        
     <xs:attribute name="includeNonSingletons" type="xs:string">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Whether to include non-singleton beans (prototypes) By default only singleton
 beans is included in the context scan. Default value: false
-        ]]></xs:documentation>
+        ]]>
+        </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The java type to convert to.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="mandatory" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 When mandatory then the conversion must return a value (cannot be null), if this
 is not possible then NoTypeConversionAvailableException is thrown. Setting this
 to false could mean conversion is not possible and the value is null. Default
 value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="charset" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a specific charset when converting.
-            ]]></xs:documentation>
+            ]]>
+            </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: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:ref"/>
+                    
           <xs:element ref="tns:simple"/>
+                    
           <xs:element ref="tns:spel"/>
+                    
           <xs:element ref="tns:tokenize"/>
+                    
           <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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Enables asynchronous delay which means the thread will not block while delaying.
 Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="callerRunsWhenRejected" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether or not the caller should run the task when it was rejected by the thread
 pool. Is by default true. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="executorService" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 To use a custom Thread Pool if asyncDelay has been enabled.
-            ]]></xs:documentation>
+            ]]>
+            </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: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:ref"/>
+                    
           <xs:element ref="tns:simple"/>
+                    
           <xs:element ref="tns:spel"/>
+                    
           <xs:element ref="tns:tokenize"/>
+                    
           <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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the uri delimiter to use. Default value: ,
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="ignoreInvalidEndpoints" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Ignore the invalidate endpoint exception when try to create a producer with that
 endpoint. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="cacheSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is
 used to cache and reuse producers when using this dynamic router, when uris are
 reused. Beware that when using dynamic endpoints then it affects how well the
@@ -4443,91 +6229,138 @@ size can be set accordingly or rely on the default size (1000). If there is a
 mix of unique and used before dynamic endpoints, then setting a reasonable cache
 size can help reduce memory usage to avoid storing too many non frequent used
 producers.
-            ]]></xs:documentation>
+            ]]>
+            </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: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:ref"/>
+                    
           <xs:element ref="tns:simple"/>
+                    
           <xs:element ref="tns:spel"/>
+                    
           <xs:element ref="tns:tokenize"/>
+                    
           <xs:element ref="tns:xtokenize"/>
+                    
           <xs:element ref="tns:xpath"/>
+                    
           <xs:element ref="tns:xquery"/>
+                  
         </xs:choice>
+                
         <xs:attribute name="aggregationStrategy" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategyMethodName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 This option can be used to explicit declare the method name to use, when using
 POJOs as the AggregationStrategy.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregationStrategyMethodAllowNull" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="aggregateOnException" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. For example to suppress the exception or
 set a custom message body etc. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="shareUnitOfWork" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Shares the org.apache.camel.spi.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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="cacheSize" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is
 used to cache and reuse producer when uris are reused. Beware that when using
 dynamic endpoints then it affects how well the cache can be utilized. If each
@@ -4541,59 +6374,91 @@ and endpoints and therefore the cache size can be set accordingly or rely on the
 default size (1000). If there is a mix of unique and used before dynamic
 endpoints, then setting a reasonable cache size can help reduce memory usage to
 avoid storing too many non frequent used producers.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="ignoreInvalidEndpoint" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Ignore the invalidate endpoint exception when try to create a producer with that
 endpoint. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="allowOptimisedComponents" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether to allow components to optimise enricher if they are
 org.apache.camel.spi.SendDynamicAware . Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </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: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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The dead letter endpoint uri for the Dead Letter error handler.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="deadLetterHandleNewException" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether the dead letter channel should handle (and ignore) any new exception
 that may been thrown during sending the message to the dead letter endpoint. The
 default value is true which means any such kind of exception is handled and
@@ -4605,44 +6470,64 @@ of a new exception being thrown, then by setting this to false the new
 exceptions is propagated back and set on the org.apache.camel.Exchange , which
 allows the transaction to detect the exception, and rollback. Default value:
 true
-            ]]></xs:documentation>
+            ]]>
+            </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="loggerRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 References to a logger to use as logger for the error handler.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="level" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Logging level to use when using the logging error handler type. Default value:
 ERROR
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Name of the logger to use for the logging error handler.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useOriginalMessage" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Will use the original input org.apache.camel.Message (original body and headers)
 when an org.apache.camel.Exchange is moved to the dead letter queue. Notice:
 this only applies when all redeliveries attempt have failed and the
@@ -4671,12 +6556,15 @@ the splitted message); however these EIPs have an option named shareUnitOfWork
 which allows to combine with the parent unit of work in regard to error handling
 and therefore use the parent original message. By default this feature is off.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useOriginalBody" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Will use the original input org.apache.camel.Message body (original body only)
 when an org.apache.camel.Exchange is moved to the dead letter queue. Notice:
 this only applies when all redeliveries attempt have failed and the
@@ -4705,658 +6593,1099 @@ the splitted message); however these EIPs have an option named shareUnitOfWork
 which allows to combine with the parent unit of work in regard to error handling
 and therefore use the parent original message. By default this feature is off.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="onRedeliveryRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to a processor that should be processed before a redelivery
 attempt. Can be used to change the org.apache.camel.Exchange before its being
 redelivered.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="onExceptionOccurredRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to a processor that should be processed just after an exception
 occurred. Can be used to perform custom logging about the occurred exception at
 the exact time it happened. Important: Any exception thrown from this processor
 will be ignored.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="onPrepareFailureRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to a processor to prepare the org.apache.camel.Exchange before
 handled by the failure processor / dead letter channel. This allows for example
 to enrich the message before sending to a dead letter queue.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retryWhileRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a retry while predicate. Will continue retrying until the predicate
 evaluates to false.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="redeliveryPolicyRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to a RedeliveryPolicy to be used for redelivery settings.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="executorServiceRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets a reference to a thread pool to be used by the error handler.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries
 -1 = redeliver forever.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="redeliveryDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the initial redelivery delay. Default value: 1000
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="backOffMultiplier" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the back off multiplier. Default value: 2.0
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useExponentialBackOff" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Turn on exponential backk off. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the collision avoidance factor. Default value: 0.15
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="useCollisionAvoidance" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Turn on collision avoidance. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the maximum delay between redelivery. Default value: 60000
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retriesExhaustedLogLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the logging level to use when retries have been exhausted. Default value:
 ERROR
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retryAttemptedLogLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the logging level to use for logging retry attempts. Default value: DEBUG
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="retryAttemptedLogInterval" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the interval to use for logging retry attempts. Default value: 1
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logRetryAttempted" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether retry attempts should be logged or not. Can be used to include or
 reduce verbose. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logStackTrace" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether stack traces should be logged. Can be used to include or reduce
 verbose. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logRetryStackTrace" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether stack traces should be logged when an retry attempt failed. Can be
 used to include or reduce verbose. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logHandled" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether handled exceptions should be logged or not. Can be used to include
 or reduce verbose. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logNewException" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether new exceptions should be logged or not. Can be used to include or
 reduce verbose. A new exception is an exception that was thrown while handling a
 previous exception. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logContinued" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether continued exceptions should be logged or not. Can be used to
 include or reduce verbose. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhausted" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether exhausted exceptions should be logged or not. Can be used to
 include or reduce verbose. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether exhausted exceptions should be logged including message history or
 not (supports property placeholders). Can be used to include or reduce verbose.
 Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="logExhaustedMessageBody" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether exhausted message body should be logged including message history
 or not (supports property placeholders). Can be used to include or reduce
 verbose. Requires logExhaustedMessageHistory to be enabled. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="disableRedelivery" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Disables redelivery (same as setting maximum redeliveries to 0). Default value:
 false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="delayPattern" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the delay pattern with delay intervals.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="exchangeFormatterRef" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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: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="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[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="rollbackLoggingLevel" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the logging level to use for logging transactional rollback. This option is
 default WARN. Default value: WARN
-            ]]></xs:documentation>
+            ]]>
+            </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: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:ref"/>
+                        
             <xs:element ref="tns:simple"/>
+                        
             <xs:element ref="tns:spel"/>
+                        
             <xs:element ref="tns:tokenize"/>
+                        
             <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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="statusPropertyName" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Name of exchange property to use for storing the status of the filtering.
 Setting this allows to know if the filter predicate evaluated as true or false.
-            ]]></xs:documentation>
+            ]]>
+            </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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the URI of the endpoint to use.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Global option key.
-        ]]></xs:documentation>
+        ]]>
+        </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+        
     <xs:attribute name="value" type="xs:string" use="required">
       <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
+        <xs:documentation xml:lang="en">
+          <![CDATA[
 Global option value.
-        ]]></xs:documentation>
+        ]]>
+        </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: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:ref"/>
+                        
             <xs:element ref="tns:simple"/>
+                        
             <xs:element ref="tns:spel"/>
+                        
             <xs:element ref="tns:tokenize"/>
+                        
             <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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="idempotentRepository" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the reference name of the message id repository.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="eager" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="completionEager" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether to complete the idempotent consumer eager or when the exchange is
 done. If this option is true to complete eager, then the idempotent consumer
 will trigger its completion when the exchange reached the end of the block of
@@ -5367,491 +7696,892 @@ will complete when the exchange is done being routed. So if the exchange is
 continued routed after the block ends, then whatever happens there also affect
 the state. For example if the exchange failed due to an exception, then the
 state of the idempotent consumer will be a rollback. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="skipDuplicate" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets whether to skip duplicates or not. The default behavior is to skip
 duplicates. A duplicate message would have the Exchange property
 org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Boolean#TRUE value. A none
 duplicate message will not have this property set. Default value: true
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="removeOnFailure" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="inOnlyDefinition">
+        
     <xs:complexContent>
+            
       <xs:extension base="tns:sendDefinition">
+                
         <xs:sequence/>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType abstract="true" name="sendDefinition">
+        
     <xs:complexContent>
+            
       <xs:extension base="tns:noOutputDefinition">
+                
         <xs:sequence/>
+                
         <xs:attribute name="uri" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Sets the uri of the endpoint to send to.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+              
       </xs:extension>
+          
     </xs:complexContent>
+      
   </xs:complexType>
-
+    
   <xs:complexType name="inOutDefinition">
+        
     <xs:complexContent>
+            
       <xs:extension base="tns:sendDefinition">
+                
         <xs:sequence/>
+              
       </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 The input type URN.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="validate" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether if validation is required for this input type. Default value: false
-            ]]></xs:documentation>
+            ]]>
+            </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:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Intercept incoming messages from the uri or uri pattern. If this option is not
 configured, then all incoming messages is intercepted.
-            ]]></xs:documentation>
+            ]]>
+            </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:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="uri" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Intercept sending to the uri or uri pattern.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="skipSendToOriginalEndpoint" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 If set to true then the message is not sent to the original endpoint. By default
 (false) the message is both intercepted and then sent to the original endpoint.
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="afterUri" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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: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:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </xs:choice>
+                  
         </xs:sequence>
+                
         <xs:attribute name="name" type="xs:string" use="required">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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: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:failover"/>
+                        
             <xs:element ref="tns:random"/>
+                        
             <xs:element ref="tns:roundRobin"/>
+                        
             <xs:element ref="tns:sticky"/>
+                        
             <xs:element ref="tns:topic"/>
+                        
             <xs:element ref="tns:weighted"/>
+                      
           </xs:choice>
+                    
           <xs:choice maxOccurs="unbounded" minOccurs="0">
+                        
             <xs:element ref="tns:aggregate"/>
+                        
             <xs:element ref="tns:bean"/>
+                        
             <xs:element ref="tns:doCatch"/>
+                        
             <xs:element ref="tns:when"/>
+                        
             <xs:element ref="tns:choice"/>
+                        
             <xs:element ref="tns:otherwise"/>
+                        
             <xs:element ref="tns:circuitBreaker"/>
+                        
             <xs:element ref="tns:claimCheck"/>
+                        
             <xs:element ref="tns:convertBodyTo"/>
+                        
             <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:inOnly"/>
+                        
             <xs:element ref="tns:inOut"/>
+                        
             <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:onFallback"/>
+                        
             <xs:element ref="tns:pausable"/>
+                        
             <xs:element ref="tns:pipeline"/>
+                        
             <xs:element ref="tns:policy"/>
+                        
             <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: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:setProperty"/>
+                        
             <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:transacted"/>
+                        
             <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:element ref="tns:serviceCall"/>
+                      
           </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[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Refers to the custom load balancer to lookup from the registry.
-            ]]></xs:documentation>
+            ]]>
+            </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[
+              <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:documentation>
             </xs:annotation>
           </xs:element>
+                  
         </xs:sequence>
+                
         <xs:attribute name="roundRobin" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether or not the failover load balancer should operate in round robin mode or
 not. If not, then it will always start from the first endpoint when a new
 message is to be processed. In other words it restart from the top for every
@@ -5860,12 +8590,15 @@ the next endpoint in a round robin fashion. You can also enable sticky mode
 together with round robin, if so then it will pick the last known good endpoint
 to use when starting the load balancing (instead of using the next when
 starting).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="sticky" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <xs:documentation xml:lang="en">
+              <![CDATA[
 Whether or not the failover load balancer should operate in sticky mode or not.
 If not, then it will always start from the first endpoint when a new message is
 to be processed. In other words it restart from the top for every message. If
@@ -5873,1149 +8606,1726 @@ sticky is enabled, then it keeps state and will continue with the last known
 good endpoint. You can also enable sticky mode together with round robin, if so
 then it will pick the last known good endpoint to use when starting the load
 balancing (instead of using the next when starting).
-            ]]></xs:documentation>
+            ]]>
+            </xs:documentation>
           </xs:annotation>
         </xs:attribute>
+                
         <xs:attribute name="maximumFailoverAttempts" type="xs:string">
           <xs:annotation>
-            <xs:documentation xml:lang="en"><![CDATA[
+            <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. And use e.g. 3 to failover at most 3 times before giving up. his
 option can be used whether or not roundRobin is enabled or not. Default value:
 -1
-            ]]></xs:documentation>
+            ]]>
+            </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[
+              <xs:documentation xml:lang="en">
+                <![CDATA[
 The correlation expression to use to calculate the correlation key.
-              ]]></xs:documentation>
+              ]]>
+              </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>
... 16862 lines suppressed ...