Integration / Apache Camel Interview Questions
How does the XSLT component work for XML transformation in Camel?
The camel-xslt component applies an XSLT stylesheet to the Exchange body (an XML document) and replaces the body with the transformed output. It is a pure producer component used in to() calls. The stylesheet is loaded once at route startup and cached for performance.
// Apply XSLT from classpath:
from("jms:queue:xml-orders")
.to("xslt:classpath:transforms/order-to-invoice.xsl")
.to("file:/out/invoices");
// Pass Exchange headers as XSLT parameters:
from("direct:transform")
.setHeader("tenantId", constant("ACME"))
.to("xslt:classpath:transforms/order.xsl?output=bytes");
XSLT stylesheets are loaded from classpath, file system, or HTTP. Exchange headers are passed to the stylesheet as XSLT parameters: a header named tenantId maps to the XSLT parameter . The output option can be string, bytes, file, or DOM. For Saxon XSLT 2.0/3.0 support, use the xslt-saxon component variant with the saxon:classpath: URI scheme.
More Related questions...