XSLT

The xslt: component allows you to process a message using an XSLT template. This can be ideal when using Templating to generate respopnses for requests.

URI format

xslt:templateName

Where templateName is the classpath-local URI of the template to invoke; or the complete URL of the remote template. Refer to the Spring Documentation for more detail of the URI syntax

Here are some example URIs

URI Description
xslt:com/acme/mytransform.xsl
refers to the file com/acme/mytransform.xsl on the classpath
xslt:file:///foo/bar.xsl
refers to the file /foo/bar.xsl
xslt:http://acme.com/cheese/foo.xsl
refers to the remote http resource

Using XSLT endpoints

For example you could use something like

from("activemq:My.Queue").
  to("xslt:com/acme/mytransform.xsl");

To use a xslt template to forumulate a response for a message for InOut message exchanges (where there is a JMSReplyTo header).

If you want to use InOnly and consume the message and send it to another destination you could use

from("activemq:My.Queue").
  to("xslt:com/acme/mytransform.xsl").
  to("activemq:Another.Queue");

Spring XML versions

To use the above examples in Spring XML you would use something like

<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
    <route>
      <from uri="activemq:My.Queue"/>
      <to uri="xslt:org/apache/camel/spring/processor/example.xsl"/>
      <to uri="activemq:Another.Queue"/>
    </route>
  </camelContext>

There is a test case along with its Spring XML if you want a concrete example.

Options

Name Default Value Description
converter null Option to override default XmlConverter. Will lookup for the converter in the Registry. The provided converted must be of type org.apache.camel.converter.jaxp.XmlConverter.

See Also

Graphic Design By Hiram