anchor.diff:  Camel supports the
   http://www.enterpriseintegrationpatterns.com/DataEnricher.html[Content
   Enricher] from the xref:enterprise-integration-patterns.adoc[EIP
  -patterns] using a xref:message-translator.adoc[Message Translator], an
  -arbitrary xref:latest@manual:ROOT:processor.adoc[Processor] in the routing logic, or using
  -the xref:content-enricher.adoc[enrich] DSL element to enrich the
  -message.
  +patterns].
   
   image::eip/DataEnricher.gif[image]
   
  -[[ContentEnricher-ContentenrichmentusingaMessageTranslatororaProcessor]]
  -== Content enrichment using a Message Translator or a Processor
  +In Camel the Content Enricher can be done in several ways:
  +
  +* Using xref:enrich-eip.adoc[Enrich] EIP
  +* Using a xref:message-translator.adoc[Message Translator]
  +* Using a xref:latest@manual:ROOT:processor.adoc[Processor] with the enrichment programmed in Java
  +* Using a xref:bean-eip.adoc[Bean] EIP with the enrichment programmed in Java
  +
  +The most natural Camel approach is using xref:enrich-eip.adoc[Enrich] EIP.
  +
  +
  +== Content enrichment using a Message Translator
   
   You can consume a message from
   one destination, transform it with something like
  -xref:components::velocity-component.adoc[Velocity] or xref:components::xquery-component.adoc[XQuery], and then send
  -it on to another destination. For example using InOnly (one way
  -messaging)
  +xref:components::velocity-component.adoc[Velocity], xref:components::xquery-component.adoc[XQuery],
  +or xref:components::atlasmap-component.adoc[AtlasMap]
  +and then send it on to another destination.
   
   [source,java]
   ----
  
positive.code:     .to("mock:result");
  ----
  
  we can use xref:latest@manual:ROOT:bean-integration.adoc[Bean Integration] to use any Java
  method on any bean to act as the transformer
  
  [source,java]
  ----
  from("activemq:My.Queue")
      .beanRef("myBeanName", "myMethodName")
      .to("activemq:Another.Queue");
  ----
  
  For further examples of this pattern in use you could look at one of the
  JUnit tests
  
  * https://github.com/apache/camel/blob/main/core/camel-core/src/test/java/org/apache/camel/processor/TransformTest.java[TransformTest]
  * https://github.com/apache/camel/blob/main/core/camel-core/src/test/java/org/apache/camel/processor/TransformViaDSLTest.java[TransformViaDSLTest]
  
  *Using Spring XML*
  
  [source,xml]
  ----
  
negative.code:     .to("activemq:Another.Queue");
  ----
  
  And in XML
  
  [source,xml]
  ----
  <route>
    <from uri="activemq:My.Queue"/>
    <to uri="velocity:com/acme/MyResponse.vm"/>
    <to uri="activemq:Another.Queue"/>
  </route>
  ----
  
  You can also enrich the message in Java DSL directly (using fluent builder) as an
  xref:latest@manual:ROOT:expression.adoc[Expression]. In the example below the message
  is enriched by appending ` World!` to the message body:
  
  [source,java]
  ----
  