You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2015/08/21 18:09:51 UTC

svn commit: r962601 [2/5] - in /websites/production/camel/content/schema: blueprint/ cxf/ spring-security/ spring/ spring/integration/

Added: websites/production/camel/content/schema/blueprint/camel-blueprint-2.15.3.xsd
==============================================================================
--- websites/production/camel/content/schema/blueprint/camel-blueprint-2.15.3.xsd (added)
+++ websites/production/camel/content/schema/blueprint/camel-blueprint-2.15.3.xsd Fri Aug 21 16:09:51 2015
@@ -0,0 +1,6175 @@
+<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://camel.apache.org/schema/blueprint" elementFormDefault="qualified" targetNamespace="http://camel.apache.org/schema/blueprint" version="1.0">
+
+  <xs:element name="aggregate" type="tns:aggregateDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Aggregates many messages into a single message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="aop" type="tns:aopDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Does processing before and/or after the route is completed</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="avro" type="tns:avroDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Avro data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="barcode" type="tns:barcodeDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Barcode data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="base64" type="tns:base64DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Base64 data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="batch-config" type="tns:batchResequencerConfig">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Configures batch-processing resequence eip.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="bean" type="tns:beanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Calls a java bean</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="beanio" type="tns:beanioDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">BeanIO data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="bindy" type="tns:bindyDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Bindy data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="camelContext" type="tns:camelContextFactoryBean"/>
+
+  <xs:element name="castor" type="tns:castorDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Castor data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="choice" type="tns:choiceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes messages based on a series of predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="circuitBreaker" type="tns:circuitBreakerLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Circuit break load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="constant" type="tns:constantExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For expressions and predicates using a constant</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean"/>
+
+  <xs:element name="contextScan" type="tns:contextScanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Scans for Java org.apache.camel.builder.RouteBuilder instances in the context org.apache.camel.spi.Registry.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="convertBodyTo" type="tns:convertBodyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Converts the message body to another type</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="crypto" type="tns:cryptoDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Crypto data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="csv" type="tns:csvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">CSV data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="customDataFormat" type="tns:customDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Custom data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="customLoadBalancer" type="tns:customLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Custom load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="dataFormats" type="tns:dataFormatsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure data formats</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="delay" type="tns:delayDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Delays processing for a specified length of time</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="delete" type="tns:deleteVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest DELETE command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="description" type="tns:descriptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To provide comments about the node.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="doCatch" type="tns:catchDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Catches exceptions as part of a try catch finally block</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="doFinally" type="tns:finallyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Path traversed when a try catch finally block exits</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="doTry" type="tns:tryDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Marks the beginning of a try catch finally block</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="dynamicRouter" type="tns:dynamicRouterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes messages based on dynamic rules</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="el" type="tns:elExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For EL expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="endpoint" type="tns:camelEndpointFactoryBean"/>
+
+  <xs:element name="enrich" type="tns:enrichDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Enriches a message with data from a secondary resource</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="errorHandler" type="tns:camelErrorHandlerFactoryBean"/>
+
+  <xs:element name="exchangeProperty" type="tns:exchangePropertyExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">An expression which extracts the named exchange property</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="export" type="tns:camelServiceExporterDefinition"/>
+
+  <xs:element name="expression" type="tns:expressionSubElementDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A useful base class for an expression</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">Failover load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="filter" type="tns:filterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Filter out messages based using a predicate</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="flatpack" type="tns:flatpackDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Flatpack data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="from" type="tns:fromDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Act as a message source as input to a route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="get" type="tns:getVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest GET command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="groovy" type="tns:groovyExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For Groovy expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="gzip" type="tns:gzipDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">GZip data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="head" type="tns:headVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest HEAD command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="header" type="tns:headerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">An expression which extracts the named exchange header</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="hl7" type="tns:hl7DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">HL7 data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="ical" type="tns:icalDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">iCal data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="idempotentConsumer" type="tns:idempotentConsumerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Filters out duplicate messages</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="inOnly" type="tns:inOnlyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Marks the exchange pattern for the route to one way</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="inOut" type="tns:inOutDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Marks the exchange pattern for the route to request/reply</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="intercept" type="tns:interceptDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Intercepts a message at each step in the route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="interceptFrom" type="tns:interceptFromDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Intercepts incoming messages</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="interceptSendToEndpoint" type="tns:interceptSendToEndpointDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Intercepts messages being sent to an endpoint</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="javaScript" type="tns:javaScriptExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For JavaScript expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="jaxb" type="tns:jaxbDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">JAXB data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="jibx" type="tns:jibxDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">JiBX data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="jmxAgent" type="tns:camelJMXAgentDefinition"/>
+
+  <xs:element name="json" type="tns:jsonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Json data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="jsonpath" type="tns:jsonPathExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For JSonPath expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="jxpath" type="tns:jxPathExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For JXPath expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="keyStoreParameters" type="tns:keyStoreParametersFactoryBean"/>
+
+  <xs:element name="language" type="tns:languageExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Represents a parameterised language expression which can support any language at runtime using the language attribute.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="loadBalance" type="tns:loadBalanceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Balances message processing among a number of nodes</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="log" type="tns:logDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Logs the defined message to the logger</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="loop" type="tns:loopDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Processes a message multiple times</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="marshal" type="tns:marshalDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Marshals data into a specified format for transmission over a transport or component</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="method" type="tns:methodCallExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For expressions and predicates using a java bean (aka method call)</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="multicast" type="tns:multicastDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes the same message to multiple paths either sequentially or in parallel.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="mvel" type="tns:mvelExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For MVEL expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="ognl" type="tns:ognlExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For OGNL expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="onCompletion" type="tns:onCompletionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Route to be executed when normal route processing completes</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="onException" type="tns:onExceptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Route to be executed when an exception is thrown</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="optimisticLockRetryPolicy" type="tns:optimisticLockRetryPolicyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure optimistic locking</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="otherwise" type="tns:otherwiseDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Route to be executed when all other choices evaluate to false</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="packageScan" type="tns:packageScanDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Scans for Java org.apache.camel.builder.RouteBuilder classes in java packages</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="pgp" type="tns:pgpDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">PGP data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="php" type="tns:phpExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For PHP expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="pipeline" type="tns:pipelineDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes the message to a sequence of processors.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="policy" type="tns:policyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Defines a policy the route will use</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="pollEnrich" type="tns:pollEnrichDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Enriches messages with data polled from a secondary resource</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="post" type="tns:postVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest POST command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="process" type="tns:processDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Calls a Camel processor.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="properties" type="tns:propertiesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A series of key value pair</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="propertiesFunction" type="tns:camelPropertyPlaceholderFunctionDefinition"/>
+
+  <xs:element name="property" type="tns:propertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A key value pair</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="propertyPlaceholder" type="tns:camelPropertyPlaceholderDefinition"/>
+
+  <xs:element name="protobuf" type="tns:protobufDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Google protobuf data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="proxy" nillable="true" type="xs:anyType"/>
+
+  <xs:element name="put" type="tns:putVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest PUT command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="python" type="tns:pythonExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For Python expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="random" type="tns:randomLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Random load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="recipientList" type="tns:recipientListDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes messages to a number of dynamically specified recipients (dynamic to)</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="redeliveryPolicy" type="tns:redeliveryPolicyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure re-delivery for error handling</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="redeliveryPolicyProfile" type="tns:camelRedeliveryPolicyFactoryBean"/>
+
+  <xs:element name="ref" type="tns:refExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For using a custom expression</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="removeHeader" type="tns:removeHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Removes a named header from the message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="removeHeaders" type="tns:removeHeadersDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Removes message headers whose name matches a specified pattern</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="removeProperties" type="tns:removePropertiesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Removes message exchange properties whose name matches a specified pattern</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="removeProperty" type="tns:removePropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Removes a named property from the message exchange</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="resequence" type="tns:resequenceDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Resequences (re-order) messages based on an expression</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="rest" type="tns:restDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Defines a rest service using the rest-dsl</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="restBinding" type="tns:restBindingDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure rest binding</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="restConfiguration" type="tns:restConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure rest</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="restContext" type="tns:camelRestContextFactoryBean"/>
+
+  <xs:element name="restContextRef" type="tns:restContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To refer to an XML file with rest services defined using the rest-dsl</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="restProperty" type="tns:restPropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A key value pair</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="rests" type="tns:restsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A series of rest services defined using the rest-dsl</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="rollback" type="tns:rollbackDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Forces a rollback by stopping routing the message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="roundRobin" type="tns:roundRobinLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Round robin load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="route" type="tns:routeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A Camel route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="routeBuilder" type="tns:routeBuilderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To refer to a Java org.apache.camel.builder.RouteBuilder instance to use.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="routeContext" type="tns:camelRouteContextFactoryBean"/>
+
+  <xs:element name="routeContextRef" type="tns:routeContextRefDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To refer to an XML file with routes defined using the xml-dsl</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="routes" type="tns:routesDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">A series of Camel routes</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="routingSlip" type="tns:routingSlipDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes a message through a series of steps that are pre-determined (the slip)</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="rss" type="tns:rssDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">RSS data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="ruby" type="tns:rubyExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For Ruby expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="sample" type="tns:samplingDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Extract a sample of the messages passing through a route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="secureRandomParameters" type="tns:secureRandomParametersFactoryBean"/>
+
+  <xs:element name="secureXML" type="tns:xmlSecurityDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">xml-security data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="serialization" type="tns:serializationDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Java Object Serialization data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setBody" type="tns:setBodyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets the contents of the message body</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setExchangePattern" type="tns:setExchangePatternDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets the exchange pattern on the message exchange</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setFaultBody" type="tns:setFaultBodyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets the contents of a fault message's body</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setHeader" type="tns:setHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets the value of a message header</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setOutHeader" type="tns:setOutHeaderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets the value of a header on the outbound message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="setProperty" type="tns:setPropertyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sets a named property on the message exchange</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="simple" type="tns:simpleExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For expressions and predicates using the simple language</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="soapjaxb" type="tns:soapJaxbDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">SOAP data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="sort" type="tns:sortDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sorts the contents of the message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="spel" type="tns:spELExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For Spring Expression Language (SpEL) expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="split" type="tns:splitDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Splits a single message into many sub-messages.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="sql" type="tns:sqlExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For SQL expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="sslContextParameters" type="tns:sslContextParametersFactoryBean"/>
+
+  <xs:element name="sticky" type="tns:stickyLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sticky load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="stop" type="tns:stopDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Stops the processing of the current message</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="stream-config" type="tns:streamResequencerConfig">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Configures stream-processing resequence eip.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="streamCaching" type="tns:camelStreamCachingStrategyDefinition"/>
+
+  <xs:element name="string" type="tns:stringDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Represents the String (text based) DataFormat</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="syslog" type="tns:syslogDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Syslog data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="template" type="tns:camelProducerTemplateFactoryBean"/>
+
+  <xs:element name="terser" type="tns:terserExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For HL7 terser expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="threadPool" type="tns:camelThreadPoolFactoryBean"/>
+
+  <xs:element name="threadPoolProfile" type="tns:threadPoolProfileDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure thread pools</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="threads" type="tns:threadsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Specifies that all steps after this node are processed asynchronously</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="throttle" type="tns:throttleDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Controls the rate at which messages are passed to the next node in the route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="throwException" type="tns:throwExceptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Throws an exception</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="tidyMarkup" type="tns:tidyMarkupDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Tidymark (wellformed HTML) data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="to" type="tns:toDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Sends the message to an endpoint</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="tokenize" type="tns:tokenizerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For expressions and predicates using a body or header tokenizer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="topic" type="tns:topicLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Topic load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="transacted" type="tns:transactedDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Enables transaction on the route</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="transform" type="tns:transformDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Transforms the message body based on an expression</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="univocity-csv" type="tns:uniVocityCsvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">UniVocity CSV data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="univocity-fixed" type="tns:uniVocityFixedWidthDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">UniVocity fixed-width data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="univocity-header" type="tns:uniVocityHeader">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">To configure headers for UniVocity data formats.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="univocity-tsv" type="tns:uniVocityTsvDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">UniVocity TSV data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="unmarshal" type="tns:unmarshalDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Converts the message data received from the wire into a format that Apache Camel processors can consume</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="validate" type="tns:validateDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Validates a message based on an expression</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="verb" type="tns:verbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest command</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="vtdxml" type="tns:vtdXmlExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For VTD-XML (fast and efficient XPath) expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="weighted" type="tns:weightedLoadBalancerDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Weighted load balancer</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="when" type="tns:whenDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Triggers a route when an expression evaluates to true</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="whenSkipSendToEndpoint" type="tns:whenSkipSendToEndpointDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Predicate to determine if the message should be sent or not to the endpoint when using interceptSentToEndpoint.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="wireTap" type="tns:wireTapDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Routes a copy of a message (or creates a new message) to a secondary destination while continue routing the original message.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xmlBeans" type="tns:xmlBeansDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">XMLBeans data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xmljson" type="tns:xmlJsonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">xml-json data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xmlrpc" type="tns:xmlRpcDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">xml-rpc data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xpath" type="tns:xPathExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For XPath expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xquery" type="tns:xQueryExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For XQuery expressions and predicates</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xstream" type="tns:xStreamDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">xstream data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="xtokenize" type="tns:xmlTokenizerExpression">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">For expressions and predicates using a body or header tokenizer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="zip" type="tns:zipDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">zip data format (not for zip files)</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="zipFile" type="tns:zipFileDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">zip-file data format</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:complexType name="camelConsumerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelConsumerTemplateFactoryBean">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="abstractCamelConsumerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="maximumCacheSize" type="xs:int"/>
+      </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: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">Sets the value of the id property.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="camelContextFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelContextFactoryBean">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:properties"/>
+          <xs:element minOccurs="0" ref="tns:propertyPlaceholder"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="package" type="xs:string"/>
+          <xs:element minOccurs="0" ref="tns:packageScan"/>
+          <xs:element minOccurs="0" ref="tns:contextScan"/>
+          <xs:element minOccurs="0" ref="tns:jmxAgent"/>
+          <xs:element minOccurs="0" ref="tns:streamCaching"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:template"/>
+            <xs:element ref="tns:consumerTemplate"/>
+            <xs:element ref="tns:proxy"/>
+            <xs:element ref="tns:export"/>
+            <xs:element ref="tns:errorHandler"/>
+          </xs:choice>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:routeBuilder"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:routeContextRef"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:restContextRef"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:threadPoolProfile"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:threadPool"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:endpoint"/>
+          <xs:element minOccurs="0" ref="tns:dataFormats"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:redeliveryPolicyProfile"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:onException"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:onCompletion"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:intercept"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:interceptFrom"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:interceptSendToEndpoint"/>
+          <xs:element minOccurs="0" ref="tns:restConfiguration"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:rest"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:route"/>
+        </xs:sequence>
+        <xs:attribute name="depends-on" type="xs:string"/>
+        <xs:attribute name="trace" type="xs:string"/>
+        <xs:attribute name="messageHistory" type="xs:string"/>
+        <xs:attribute name="streamCache" type="xs:string"/>
+        <xs:attribute name="delayer" type="xs:string"/>
+        <xs:attribute name="handleFault" type="xs:string"/>
+        <xs:attribute name="errorHandlerRef" type="xs:string"/>
+        <xs:attribute name="autoStartup" type="xs:string"/>
+        <xs:attribute name="useMDCLogging" type="xs:string"/>
+        <xs:attribute name="useBreadcrumb" type="xs:string"/>
+        <xs:attribute name="allowUseOriginalMessage" type="xs:string"/>
+        <xs:attribute name="runtimeEndpointRegistryEnabled" type="xs:string"/>
+        <xs:attribute name="managementNamePattern" type="xs:string"/>
+        <xs:attribute name="threadNamePattern" type="xs:string"/>
+        <xs:attribute name="useBlueprintPropertyResolver" type="xs:boolean"/>
+        <xs:attribute name="shutdownRoute" type="tns:shutdownRoute"/>
+        <xs:attribute name="shutdownRunningTask" type="tns:shutdownRunningTask"/>
+        <xs:attribute name="lazyLoadTypeConverters" type="xs:boolean"/>
+        <xs:attribute name="typeConverterStatisticsEnabled" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </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 name="propertiesDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="propertyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Property key</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Property value</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </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:sequence>
+        <xs:attribute name="location" type="xs:string" use="required"/>
+        <xs:attribute name="encoding" type="xs:string"/>
+        <xs:attribute name="cache" type="xs:boolean"/>
+        <xs:attribute name="ignoreMissingLocation" type="xs:boolean"/>
+        <xs:attribute name="propertiesResolverRef" type="xs:string"/>
+        <xs:attribute name="propertiesParserRef" type="xs:string"/>
+        <xs:attribute name="propertyPrefix" type="xs:string"/>
+        <xs:attribute name="propertySuffix" type="xs:string"/>
+        <xs:attribute name="fallbackToUnaugmentedProperty" type="xs:boolean"/>
+        <xs:attribute name="prefixToken" type="xs:string"/>
+        <xs:attribute name="suffixToken" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelPropertyPlaceholderFunctionDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="packageScanDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="package" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="contextScanDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="camelJMXAgentDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="disabled" type="xs:string"/>
+        <xs:attribute name="onlyRegisterProcessorWithCustomId" type="xs:string"/>
+        <xs:attribute name="registryPort" type="xs:string"/>
+        <xs:attribute name="connectorPort" type="xs:string"/>
+        <xs:attribute name="mbeanServerDefaultDomain" type="xs:string"/>
+        <xs:attribute name="mbeanObjectDomainName" type="xs:string"/>
+        <xs:attribute name="serviceUrlPath" type="xs:string"/>
+        <xs:attribute name="createConnector" type="xs:string"/>
+        <xs:attribute name="usePlatformMBeanServer" type="xs:string"/>
+        <xs:attribute name="registerAlways" type="xs:string"/>
+        <xs:attribute name="registerNewRoutes" type="xs:string"/>
+        <xs:attribute name="statisticsLevel" type="xs:string"/>
+        <xs:attribute name="loadStatisticsEnabled" type="xs:string"/>
+        <xs:attribute name="includeHostName" type="xs:string"/>
+        <xs:attribute name="mask" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelStreamCachingStrategyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="enabled" type="xs:string"/>
+        <xs:attribute name="spoolDirectory" type="xs:string"/>
+        <xs:attribute name="spoolChiper" type="xs:string"/>
+        <xs:attribute name="spoolThreshold" type="xs:string"/>
+        <xs:attribute name="spoolUsedHeapMemoryThreshold" type="xs:string"/>
+        <xs:attribute name="spoolUsedHeapMemoryLimit" type="xs:string"/>
+        <xs:attribute name="spoolRules" type="xs:string"/>
+        <xs:attribute name="bufferSize" type="xs:string"/>
+        <xs:attribute name="removeSpoolDirectoryWhenStopping" type="xs:string"/>
+        <xs:attribute name="statisticsEnabled" type="xs:string"/>
+        <xs:attribute name="anySpoolRules" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelProducerTemplateFactoryBean">
+        <xs:sequence/>
+      </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:attribute name="maximumCacheSize" type="xs:int"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelProxyFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="serviceUrl" type="xs:string"/>
+        <xs:attribute name="serviceRef" type="xs:string"/>
+        <xs:attribute name="serviceInterface" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelServiceExporterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="uri" type="xs:string"/>
+        <xs:attribute name="serviceRef" type="xs:string"/>
+        <xs:attribute name="serviceInterface" type="xs:string"/>
+        <xs:attribute name="camelContextId" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelErrorHandlerFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:redeliveryPolicy"/>
+        </xs:sequence>
+        <xs:attribute name="type" type="tns:errorHandlerType"/>
+        <xs:attribute name="deadLetterUri" type="xs:string"/>
+        <xs:attribute name="deadLetterHandleNewException" type="xs:boolean"/>
+        <xs:attribute name="level" type="tns:loggingLevel"/>
+        <xs:attribute name="logName" type="xs:string"/>
+        <xs:attribute name="useOriginalMessage" type="xs:boolean"/>
+        <xs:attribute name="onRedeliveryRef" type="xs:string"/>
+        <xs:attribute name="retryWhileRef" type="xs:string"/>
+        <xs:attribute name="executorServiceRef" type="xs:string"/>
+        <xs:attribute name="redeliveryPolicyRef" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="redeliveryPolicyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="maximumRedeliveries" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="redeliveryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the initial redelivery delay</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Allow synchronous delayed redelivery.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="backOffMultiplier" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the back off multiplier</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="useExponentialBackOff" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Turn on exponential backk off</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the collision avoidance factor</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="useCollisionAvoidance" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Turn on collision avoidance.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the maximum delay between redelivery</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retriesExhaustedLogLevel" type="tns:loggingLevel">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the logging level to use when retries has exhausted</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retryAttemptedLogLevel" type="tns:loggingLevel">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the logging level to use for logging retry attempts</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logRetryAttempted" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether retry attempts should be logged or not. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logStackTrace" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether stack traces should be logged. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logRetryStackTrace" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether stack traces should be logged when an retry attempt failed. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logHandled" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether handled exceptions should be logged or not. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logNewException" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">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.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logContinued" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether continued exceptions should be logged or not. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logExhausted" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether exhausted exceptions should be logged or not. Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets whether exhausted exceptions should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="disableRedelivery" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Disables redelivery (same as setting maximum redeliveries to 0)</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="delayPattern" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the delay pattern with delay intervals.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Controls whether to allow redelivery while stopping/shutting down a route that uses error handling.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="exchangeFormatterRef" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="routeBuilderDefinition">
+    <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">Reference to the route builder instance</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="routeContextRefDefinition">
+    <xs:sequence/>
+    <xs:attribute name="ref" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Reference to the routes in the xml dsl</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="restContextRefDefinition">
+    <xs:sequence/>
+    <xs:attribute name="ref" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Reference to the rest-dsl</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="threadPoolProfileDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:optionalIdentifiedDefinition">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="timeUnit" type="xs:string"/>
+        </xs:sequence>
+        <xs:attribute name="defaultProfile" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether this profile is the default thread pool profile</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="poolSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the core pool size</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxPoolSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the maximum pool size</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="keepAliveTime" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the keep alive time for idle threads in the pool</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxQueueSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowCoreThreadTimeOut" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether idle core threads is allowed to timeout and therefore can shrink the pool size below the core pool size Is by default false</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="rejectedPolicy" type="tns:threadPoolRejectedPolicy">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the handler for tasks which cannot be executed by the thread pool.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </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">Sets the id of this node</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">Language such as en for english.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="layoutX" type="xs:double">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Layout position X</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="layoutY" type="xs:double">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Layout position Y</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="layoutWidth" type="xs:double">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Layout width</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="layoutHeight" type="xs:double">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Layout height</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelThreadPoolFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelThreadPoolFactoryBean">
+        <xs:sequence/>
+      </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:attribute name="maxPoolSize" type="xs:string"/>
+        <xs:attribute name="keepAliveTime" type="xs:string"/>
+        <xs:attribute name="timeUnit" type="xs:string"/>
+        <xs:attribute name="maxQueueSize" type="xs:string"/>
+        <xs:attribute name="allowCoreThreadTimeOut" type="xs:string"/>
+        <xs:attribute name="rejectedPolicy" type="tns:threadPoolRejectedPolicy"/>
+        <xs:attribute name="threadName" type="xs:string" use="required"/>
+        <xs:attribute name="scheduled" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelEndpointFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelEndpointFactoryBean">
+        <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="singleton" type="xs:boolean"/>
+        <xs:attribute name="uri" type="xs:string" use="required"/>
+        <xs:attribute name="pattern" type="tns:exchangePattern"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="dataFormatsDefinition">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element ref="tns:avro"/>
+        <xs:element ref="tns:barcode"/>
+        <xs:element ref="tns:base64"/>
+        <xs:element ref="tns:beanio"/>
+        <xs:element ref="tns:bindy"/>
+        <xs:element ref="tns:castor"/>
+        <xs:element ref="tns:crypto"/>
+        <xs:element ref="tns:csv"/>
+        <xs:element name="custom" type="tns:customDataFormat"/>
+        <xs:element ref="tns:flatpack"/>
+        <xs:element ref="tns:gzip"/>
+        <xs:element ref="tns:hl7"/>
+        <xs:element ref="tns:ical"/>
+        <xs:element ref="tns:jaxb"/>
+        <xs:element ref="tns:jibx"/>
+        <xs:element ref="tns:json"/>
+        <xs:element ref="tns:protobuf"/>
+        <xs:element ref="tns:rss"/>
+        <xs:element ref="tns:secureXML"/>
+        <xs:element ref="tns:serialization"/>
+        <xs:element ref="tns:soapjaxb"/>
+        <xs:element ref="tns:string"/>
+        <xs:element ref="tns:syslog"/>
+        <xs:element ref="tns:tidyMarkup"/>
+        <xs:element ref="tns:univocity-csv"/>
+        <xs:element ref="tns:univocity-fixed"/>
+        <xs:element ref="tns:univocity-tsv"/>
+        <xs:element ref="tns:xmlBeans"/>
+        <xs:element ref="tns:xmljson"/>
+        <xs:element ref="tns:xmlrpc"/>
+        <xs:element ref="tns:xstream"/>
+        <xs:element ref="tns:pgp"/>
+        <xs:element ref="tns:zip"/>
+        <xs:element ref="tns:zipFile"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="avroDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="instanceClassName" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Class name to use for marshal and unmarshalling</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="barcodeDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="width" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Width of the barcode</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="height" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Height of the barcode</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="imageType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Image type of the barcode such as png</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="barcodeFormat" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Barcode format such as QR-Code</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="base64DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="lineLength" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To specific a maximum line length for the encoded data. By default 76 is used.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="lineSeparator" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The line separators to use. By default \r\n is used.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="urlSafe" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Instead of emitting '' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode operations. Decoding seamlessly handles both modes. Is by default false.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="beanioDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="mapping" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The BeanIO mapping file. Is by default loaded from the classpath. You can prefix with file: http: or classpath: to denote from where to load the mapping file.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="streamName" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The name of the stream to use.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreUnidentifiedRecords" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore unidentified records.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreUnexpectedRecords" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore unexpected records.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidRecords" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore invalid records.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The charset to use. Is by default the JVM platform default charset.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="bindyDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="type" type="tns:bindyType" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to use csv fixed or key value pairs mode.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="packages">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The java package names to scan for model classes.</xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="classType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Name of model class to use.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="locale" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To configure a default locale to use such as us for united states. To use the JVM platform default locale then use the name default</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="castorDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="mappingFile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Path to a Castor mapping file to load from the classpath.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="validation" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether validation is turned on or off. Is by default true.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Encoding to use when marshalling an Object to XML. Is by default UTF-8</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="packages">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Add additional packages to Castor XmlContext</xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="classes">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Add additional class names to Castor XmlContext</xs:documentation>
+          </xs:annotation>
+          <xs:simpleType>
+            <xs:list itemType="xs:string"/>
+          </xs:simpleType>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="cryptoDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="algorithm" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The JCE algorithm name indicating the cryptographic algorithm that will be used. Is by default DES/CBC/PKCS5Padding.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cryptoProvider" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The name of the JCE Security Provider that should be used.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="keyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to the secret key to lookup from the register to use.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="initVectorRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to a byte array containing the Initialization Vector that will be used to initialize the Cipher.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="algorithmParameterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="buffersize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The size of the buffer used in the signature process.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="macAlgorithm" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The JCE algorithm name indicating the Message Authentication algorithm.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="shouldAppendHMAC" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="inline" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Flag indicating that the configured IV should be inlined into the encrypted data stream. Is by default false.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="csvDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="header" type="xs:string"/>
+        </xs:sequence>
+        <xs:attribute name="formatRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The reference format to use it will be updated with the other format options the default value is CSVFormat.DEFAULT</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="formatName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The name of the format to use the default value is CSVFormat.DEFAULT</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="commentMarkerDisabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Disables the comment marker of the reference format.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="commentMarker" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the comment marker of the reference format.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the delimiter to use. The default value is (comma)</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="escapeDisabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Use for disabling using escape character</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="escape" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the escape character to use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="headerDisabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Use for disabling headers</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowMissingColumnNames" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to allow missing column names.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreEmptyLines" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore empty lines.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreSurroundingSpaces" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore surrounding spaces</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="nullStringDisabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Used to disable null strings</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="nullString" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the null string</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="quoteDisabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Used to disable quotes</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="quote" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the quote which by default is</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordSeparatorDisabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Used for disabling record separator</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordSeparator" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the record separator (aka new line) which by default is \r\n (CRLF)</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="skipHeaderRecord" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to skip the header record in the output</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="lazyLoad" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useMaps" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected).</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="recordConverterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to a custom CsvRecordConverter to lookup from the registry to use.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="customDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Reference to the custom org.apache.camel.spi.DataFormat to lookup from the Camel registry.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="flatpackDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="parserFactoryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">References to a custom parser factory to lookup in the registry</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="definition" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The flatpack pzmap configuration file. Can be omitted in simpler situations but its preferred to use the pzmap.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fixed" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Delimited or fixed. Is by default false = delimited</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreFirstRecord" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether the first line is ignored for delimited files (for the column headers). Is by default true.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="textQualifier" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">If the text is qualified with a char such as "</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The delimiter char (could be ; or similar)</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="allowShortLines" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Allows for lines to be shorter than expected and ignores the extra characters</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreExtraColumns" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Allows for lines to be longer than expected and ignores the extra characters.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="gzipDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="hl7DataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="validate" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to validate the HL7 message Is by default true.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="icalDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="validating" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to validate.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="jaxbDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="contextPath" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Package name where your JAXB classes are located.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schema" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To validate against an existing schema. Your can use the prefix classpath: file: or http: to specify how the resource should by resolved. You can separate multiple schema files by using the '' character.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prettyPrint" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To enable pretty printing output nicely formatted. Is by default false.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreJAXBElement" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mustBeJAXBElement" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that such as when the data is already in XML format.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="filterNonXmlChars" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To ignore non xml characheters and replace them with an empty space.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To overrule and use a specific encoding</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fragment" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To turn on marshalling XML fragment trees. By default JAXB looks for XmlRootElement annotation on given class to operate on whole XML tree. This is useful but not always - sometimes generated code does not have XmlRootElement annotation sometimes you need unmarshall only part of tree. In that case you can use partial unmarshalling. To enable this behaviours you need set property partClass. Camel will pass this class to JAXB's unmarshaler.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="partClass" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Name of class used for fragment parsing. See more details at the fragment option.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="partNamespace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">XML namespace to use for fragment parsing. See more details at the fragment option.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="namespacePrefixRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes such as ns2 ns3 ns4 etc. To control this mapping Camel allows you to refer to a map which contains the desired mapping.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="xmlStreamWriterWrapper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To use a custom xml stream writer.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="schemaLocation" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To define the location of the schema</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="jibxDataFormat">
+    <xs:complexContent>
+      <xs:extension base="tns:dataFormat">
+        <xs:sequence/>
+        <xs:attribute name="unmarshallClass" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Class name to use when unmarshalling from XML to Java.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bindingName" type="xs:string">
+          <xs:annotation>

[... 4083 lines stripped ...]