== Declarative Transformer and Validator Demo using Spring XML

=== Introduction

This example shows how to work with declarative transformation and
validation by declaring data types.

=== Build

You will need to compile this example first:

....
mvn compile
....

=== Run

To run the example type

....
mvn exec:java
....

You can see the routing rules by looking at the Spring XML configuration
lives in `+src/main/resources/META-INF/spring+`

If you enable DEBUG level log for org.apache.camel.processor, you can
see the details of when/which transformers & validators are applied.
Check the `+src/main/resources/log4j2.properties+`

=== Help and contributions

If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/support.html[let us know].

We also love contributors, so
https://camel.apache.org/contributing.html[get involved] :-)

The Camel riders!
