You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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.

  • No labels