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

...