Added: websites/production/camel/content/schema/spring/camel-spring-2.15.4.xsd
==============================================================================
--- websites/production/camel/content/schema/spring/camel-spring-2.15.4.xsd 
(added)
+++ websites/production/camel/content/schema/spring/camel-spring-2.15.4.xsd Thu 
Oct 29 20:26:28 2015
@@ -0,0 +1,6189 @@
+<?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">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="beanPostProcessor" type="tns:camelBeanPostProcessor"/>
+
+  <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:errorHandlerDefinition"/>
+
+  <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="options" type="tns:optionsVerbDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en">Rest OPTIONS command</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" type="tns:camelProxyFactoryDefinition"/>
+
+  <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 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 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="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="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 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 abstract="true" 
name="abstractCamelRedeliveryPolicyFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="maximumRedeliveries" type="xs:string"/>
+        <xs:attribute name="redeliveryDelay" type="xs:string"/>
+        <xs:attribute name="asyncDelayedRedelivery" type="xs:string"/>
+        <xs:attribute name="backOffMultiplier" type="xs:string"/>
+        <xs:attribute name="useExponentialBackOff" type="xs:string"/>
+        <xs:attribute name="collisionAvoidanceFactor" type="xs:string"/>
+        <xs:attribute name="useCollisionAvoidance" type="xs:string"/>
+        <xs:attribute name="maximumRedeliveryDelay" type="xs:string"/>
+        <xs:attribute name="retriesExhaustedLogLevel" type="tns:loggingLevel"/>
+        <xs:attribute name="retryAttemptedLogLevel" type="tns:loggingLevel"/>
+        <xs:attribute name="logRetryAttempted" type="xs:string"/>
+        <xs:attribute name="logStackTrace" type="xs:string"/>
+        <xs:attribute name="logRetryStackTrace" type="xs:string"/>
+        <xs:attribute name="logHandled" type="xs:string"/>
+        <xs:attribute name="logContinued" type="xs:string"/>
+        <xs:attribute name="logExhausted" type="xs:string"/>
+        <xs:attribute name="logExhaustedMessageHistory" type="xs:string"/>
+        <xs:attribute name="disableRedelivery" type="xs:string"/>
+        <xs:attribute name="delayPattern" type="xs:string"/>
+        <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string"/>
+        <xs:attribute name="exchangeFormatterRef" type="xs:string"/>
+      </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="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="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="camelProxyFactoryDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="serviceUrl" 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="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="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="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:attribute name="password" type="xs:string"/>
+        <xs:attribute name="provider" type="xs:string"/>
+        <xs:attribute name="resource" type="xs:string"/>
+      </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:attribute name="provider" type="xs:string"/>
+      </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: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="secureSocketProtocolsParameters">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" 
name="secureSocketProtocol" nillable="true" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="aopDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence/>
+        <xs:attribute name="beforeUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Endpoint to call in AOP 
before.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="afterUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Endpoint to call in AOP after. The 
difference between after and afterFinally is that afterFinally is invoked from 
a finally block so it will always be invoked no matter what eg also in case of 
an exception occur.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="afterFinallyUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Endpoint to call in AOP after 
finally. The difference between after and afterFinally is that afterFinally is 
invoked from a finally block so it will always be invoked no matter what eg 
also in case of an exception occur.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="output">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <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: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: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: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:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <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: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:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:restBinding"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </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:anyAttribute namespace="##other" processContents="skip"/>
+      </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="aggregateDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:element name="correlationExpression" 
type="tns:expressionSubElementDefinition"/>
+          <xs:element minOccurs="0" name="completionPredicate" 
type="tns:expressionSubElementDefinition"/>
+          <xs:element minOccurs="0" name="completionTimeout" 
type="tns:expressionSubElementDefinition"/>
+          <xs:element minOccurs="0" name="completionSize" 
type="tns:expressionSubElementDefinition"/>
+          <xs:element minOccurs="0" ref="tns:optimisticLockRetryPolicy"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <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: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: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: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:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <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: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:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:restBinding"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="parallelProcessing" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="optimisticLocking" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Turns on using optimistic locking 
which requires the aggregationRepository being used is supporting this by 
implementing 
org.apache.camel.spi.OptimisticLockingAggregationRepository.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executorServiceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeoutCheckerExecutorServiceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregationRepositoryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the custom aggregate 
repository to use Will by default use 
org.apache.camel.processor.aggregate.MemoryAggregationRepository</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">A reference to lookup the 
AggregationStrategy in the Registry. 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:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyMethodName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">This option can be used to 
explicit declare the method name to use when using POJOs as the 
AggregationStrategy.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyMethodAllowNull" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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 POJOs as the AggregationStrategy.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the completion size which is 
the number of aggregated exchanges which would cause the aggregate to consider 
the group as complete and send out the aggregated exchange.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionInterval" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the completion interval which 
would cause the aggregate to consider the group as complete and send out the 
aggregated exchange.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionTimeout" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the completion timeout which 
would cause the aggregate to consider the group as complete and send out the 
aggregated exchange.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="completionFromBatchConsumer" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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 link 
org.apache.camel.ExchangeBATCH_COMPLETE when its complete.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="groupExchanges" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Enables grouped exchanges so the 
aggregator will group all aggregated exchanges into a single combined Exchange 
holding all the aggregated exchanges in a java.util.List.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="eagerCheckCompletion" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Use eager completion checking 
which means that the completionPredicate will use the incoming Exchange. At 
opposed to without eager completion checking the completionPredicate will use 
the aggregated Exchange.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidCorrelationKeys" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">If a correlation key cannot be 
successfully evaluated it will be ignored by logging a DEBUG and then just 
ignore the incoming Exchange.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="closeCorrelationKeyOnCompletion" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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 
org.apache.camel.processor.aggregate.ClosedCorrelationKeyException is 
thrown.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="discardOnCompletionTimeout" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Discards the aggregated message on 
completion timeout. This means on timeout the aggregated message is dropped and 
not sent out of the aggregator.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="forceCompletionOnStop" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Indicates to complete all current 
aggregated exchanges when the context is stopped</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="expressionSubElementDefinition">
+    <xs:choice>
+      <xs:element ref="tns:expressionDefinition"/>
+      <xs:element ref="tns:constant"/>
+      <xs:element ref="tns:el"/>
+      <xs:element ref="tns:exchangeProperty"/>
+      <xs:element ref="tns:groovy"/>
+      <xs:element ref="tns:header"/>
+      <xs:element ref="tns:jxpath"/>
+      <xs:element ref="tns:javaScript"/>
+      <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:php"/>
+      <xs:element ref="tns:python"/>
+      <xs:element ref="tns:ref"/>
+      <xs:element ref="tns:ruby"/>
+      <xs:element ref="tns:simple"/>
+      <xs:element ref="tns:spel"/>
+      <xs:element ref="tns:sql"/>
+      <xs:element ref="tns:terser"/>
+      <xs:element ref="tns:tokenize"/>
+      <xs:element ref="tns:vtdxml"/>
+      <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">Sets the id of this 
node</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trim" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether to trim the value to 
remove leading and trailing whitespaces and line breaks</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+
+  <xs:complexType name="optimisticLockRetryPolicyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="maximumRetries" type="xs:int">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the maximum number of 
retries</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retryDelay" type="xs:long">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the delay in millis between 
retries</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="maximumRetryDelay" type="xs:long">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Sets the upper value of retry in 
millis between retries when using exponential or random 
backoff</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="exponentialBackOff" type="xs:boolean">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Enable exponential 
backoff</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="randomBackOff" type="xs:boolean">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">Enables random 
backoff</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">Sets a reference to a bean to 
use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="method" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the method name on the bean 
to use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="beanType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the Class of the 
bean</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cache" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Caches the bean lookup to avoid 
lookup up bean on every usage.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="multiParameterArray" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether the message body is an 
array type.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="noOutputDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="catchDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="exception" 
type="xs:string"/>
+          <xs:element minOccurs="0" name="onWhen" type="tns:whenDefinition"/>
+          <xs:element minOccurs="0" name="handled" 
type="tns:expressionSubElementDefinition"/>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:aop"/>
+            <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: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: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: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:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <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: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:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:restBinding"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="whenDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:expressionNode">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="expressionNode">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice>
+            <xs:element ref="tns:expressionDefinition"/>
+            <xs:element ref="tns:constant"/>
+            <xs:element ref="tns:el"/>
+            <xs:element ref="tns:exchangeProperty"/>
+            <xs:element ref="tns:groovy"/>
+            <xs:element ref="tns:header"/>
+            <xs:element ref="tns:jxpath"/>
+            <xs:element ref="tns:javaScript"/>
+            <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:php"/>
+            <xs:element ref="tns:python"/>
+            <xs:element ref="tns:ref"/>
+            <xs:element ref="tns:ruby"/>
+            <xs:element ref="tns:simple"/>
+            <xs:element ref="tns:spel"/>
+            <xs:element ref="tns:sql"/>
+            <xs:element ref="tns:terser"/>
+            <xs:element ref="tns:tokenize"/>
+            <xs:element ref="tns:vtdxml"/>
+            <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:aop"/>
+            <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: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: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: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:rollback"/>
+            <xs:element ref="tns:route"/>
+            <xs:element ref="tns:routingSlip"/>
+            <xs:element ref="tns:sample"/>
+            <xs:element ref="tns:setBody"/>
+            <xs:element ref="tns:setExchangePattern"/>
+            <xs:element ref="tns:setFaultBody"/>
+            <xs:element ref="tns:setHeader"/>
+            <xs:element ref="tns:setOutHeader"/>
+            <xs:element ref="tns:setProperty"/>
+            <xs:element ref="tns:sort"/>
+            <xs:element ref="tns:split"/>
+            <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: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:whenSkipSendToEndpoint"/>
+            <xs:element ref="tns:wireTap"/>
+            <xs:element ref="tns:restBinding"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="choiceDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:processorDefinition">
+        <xs:sequence>
+          <xs:choice maxOccurs="unbounded" minOccurs="0">
+            <xs:element ref="tns:when"/>
+            <xs:element ref="tns:whenSkipSendToEndpoint"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="tns:otherwise"/>
+        </xs:sequence>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="otherwiseDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </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:element maxOccurs="unbounded" minOccurs="0" name="includes" 
type="xs:string"/>
+    </xs:sequence>
+  </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">The java type to convert 
to</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="charset" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">To use a specific charset when 
converting</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </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:expressionNode">
+        <xs:sequence/>
+        <xs:attribute name="executorServiceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to a custom Thread Pool if 
asyncDelay has been enabled.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="asyncDelayed" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Enables asynchronous delay which 
means the thread will noy block while delaying.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="callerRunsWhenRejected" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Whether or not the caller should 
run the task when it was rejected by the thread pool. Is by default 
true</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="dynamicRouterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputExpressionNode">
+        <xs:sequence/>
+        <xs:attribute name="uriDelimiter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the uri delimiter to 
use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ignoreInvalidEndpoints" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Ignore the invalidate endpoint 
exception when try to create a producer with that endpoint</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="cacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the maximum size used by the 
org.apache.camel.impl.ProducerCache which is used to cache and reuse producers 
when using this recipient list when uris are reused.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="noOutputExpressionNode">
+    <xs:complexContent>
+      <xs:extension base="tns:expressionNode">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="enrichDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:noOutputDefinition">
+        <xs:sequence/>
+        <xs:attribute name="uri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">The endpoint uri for the external 
service to enrich from. You must use either uri or ref.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ref" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to the endpoint for the 
external service to enrich from. You must use either uri or 
ref.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Refers to an AggregationStrategy 
to be used to merge the reply from the external service into a single outgoing 
message. By default Camel will use the reply from the external service as 
outgoing message.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyMethodName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">This option can be used to 
explicit declare the method name to use when using POJOs as the 
AggregationStrategy.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="strategyMethodAllowNull" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">If this option is false then the 
aggregate method is not used if there was no data to enrich. If this option is 
true then null values is used as the oldExchange (when no data to enrich) when 
using POJOs as the AggregationStrategy.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aggregateOnException" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">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.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType final="extension restriction" name="expressionNodeHelper">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="filterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:expressionNode">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="finallyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:output">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </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">Sets the URI of the endpoint to 
use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ref" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">Sets the name of the endpoint 
within the registry (such as the Spring ApplicationContext or JNDI) to 
use</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+

[... 4095 lines stripped ...]


Reply via email to