anchor.diff:  from("direct:start")
     .toD("language:xpath:/order/@uri");
   ----
  -
  -You can also concat multiple xref:components::language-component.adoc[Language](s) together
  -using the plus sign `+` such as shown below:
  -
  -[source,xml]
  -----
  -<route>
  -  <from uri="direct:start"/>
  -  <toD uri="jms:${header.base}+language:xpath:/order/@id"/>
  -</route>
  -----
  -
  -In the example above the uri is a combination
  -of xref:components:languages:simple-language.adoc[Simple] language and xref:components:languages:simple-language.adoc[XPath] where
  -the first part is simple (simple is default language). And then the plus
  -sign separate to another language, where we specify the language name
  -followed by a colon
  -
  -[source,java]
  -----
  -from("direct:start")
  -  .toD("jms:${header.base}+language:xpath:/order/@id");
  -----
  -
  -You can concat as many languages as you want, just separate them with
  -the plus sign
   
   == Avoid creating endless dynamic endpoints which takes up resources
   
  
positive.code: == Using optimised components
  
  But a better solution would be if the HTTP component could be optimised to handle the variations of dynamic computed endpoint uris.
  This is with the following components, which have been optimised for `toD`:
  
  - camel-http
  - camel-jetty
  
negative.code: then the header foo is appended. So for example if the header foo has
  value order, then the endpoint is computed as "mock:order".
  
  You can also use another language than xref:components:languages:simple-language.adoc[Simple] such
  as xref:components:languages:xpath-language.adoc[XPath] - this requires to prefix with language: as
  shown below (simple language is the default language). If you do not
  specify language: then the endpoint is a component name. And in some
  