Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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:

Code Block
xml
xml
<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

Code Block
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:

Code Block
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:

Code Block
from("activemq:My.Queue").
  to("xquery:com/acme/mytransform.xquery").
  to("activemq:Another.Queue");
Include Page
Endpoint See Also
Endpoint See Also