XQuery
The xquery: component allows you to process a message using an XQuery template. This can be ideal when using Templating to generate respopnses for requests.
Maven users will need to add the following dependency to their pom.xml
for this component:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-saxon</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
URI format
xquery:templateName[?options]
Where templateName is the classpath-local URI of the template to invoke; or the complete URL of the remote template.
For example you could use something like this:
from("activemq:My.Queue"). to("xquery:com/acme/mytransform.xquery");
To use an XQuery template to formulate a response to a message for InOut message exchanges (where there is a JMSReplyTo
header).
If you want to use InOnly, consume the message, and send it to another destination, you could use the following route:
from("activemq:My.Queue"). to("xquery:com/acme/mytransform.xquery"). to("activemq:Another.Queue");