// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
= XSLT
:page-aliases: extensions/xslt.adoc
:cq-artifact-id: camel-quarkus-xslt
:cq-native-supported: true
:cq-status: Stable
:cq-description: Transforms XML payload using an XSLT template.
:cq-deprecated: false
:cq-jvm-since: 0.4.0
:cq-native-since: 0.4.0

[.badges]
[.badge-key]##JVM since##[.badge-supported]##0.4.0## [.badge-key]##Native since##[.badge-supported]##0.4.0##

Transforms XML payload using an XSLT template.

== What's inside

* xref:{cq-camel-components}::xslt-component.adoc[XSLT component], URI syntax: `xslt:resourceUri`

Please refer to the above link for usage and configuration details.

== Maven coordinates

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xslt</artifactId>
</dependency>
----

Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.

== Additional Camel Quarkus configuration

To optimize XSLT processing, the extension needs to know the locations of the XSLT templates at build time.
The XSLT source URIs have to be passed via the `quarkus.camel.xslt.sources` property. Multiple URIs can be separated
by comma.

[source,properties]
----
quarkus.camel.xslt.sources = transform.xsl, classpath:path/to/my/file.xsl
----

Scheme-less URIs are interpreted as `classpath:` URIs.

Only `classpath:` URIs are supported on Quarkus. `file:`, `http:` and other kinds of URIs do not work by design.

[NOTE]
====
The content of the XSLT source URIs is parsed and compiled into Java classes at build time. These Java classes are the
only source of XSLT information at runtime. The XSLT source files may not be included in the application archive at all.
====

[WARNING]
====
the extension does not yet support Java 11.
====


[width="100%",cols="80,5,15",options="header"]
|===
| Configuration property | Type | Default


|icon:lock[title=Fixed at build time] [[quarkus.camel.xslt.sources]]`link:#quarkus.camel.xslt.sources[quarkus.camel.xslt.sources]`

A comma separated list of templates to compile.
| `string`
| 

|icon:lock[title=Fixed at build time] [[quarkus.camel.xslt.package-name]]`link:#quarkus.camel.xslt.package-name[quarkus.camel.xslt.package-name]`

The package name for the generated classes.
| `string`
| `org.apache.camel.quarkus.component.xslt.generated`
|===

[.configuration-legend]
icon:lock[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime.

