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. |