Este contenido no está disponible en el idioma seleccionado.
Chapter 82. XSLT
Transforms XML payload using an XSLT template.
82.1. What’s inside Copiar enlaceEnlace copiado en el portapapeles!
-
XSLT component, URI syntax:
xslt:resourceUri
Please refer to the above link for usage and configuration details.
82.2. Maven coordinates Copiar enlaceEnlace copiado en el portapapeles!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-xslt</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-xslt</artifactId>
</dependency>
82.3. Additional Camel Quarkus configuration Copiar enlaceEnlace copiado en el portapapeles!
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.
quarkus.camel.xslt.sources = transform.xsl, classpath:path/to/my/file.xsl
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 native mode. file:
, http:
and other kinds of URIs can be used on JVM mode only.
<xsl:include>
and <xsl:messaging>
XSLT elements are also supported in JVM mode only right now.
If aggregate
DSL is used, XsltSaxonAggregationStrategy
has to be used such as
Also, it’s only supported on JVM mode.
82.3.1. Configuration Copiar enlaceEnlace copiado en el portapapeles!
TransformerFactory features can be configured using following property:
quarkus.camel.xslt.features."http\://javax.xml.XMLConstants/feature/secure-processing"=false
quarkus.camel.xslt.features."http\://javax.xml.XMLConstants/feature/secure-processing"=false
82.3.2. Extension functions support Copiar enlaceEnlace copiado en el portapapeles!
Xalan’s extension functions do work properly only when:
- Secure-processing is disabled
- Functions are defined in a separate jar
- Functions are augmented during native build phase. For example, they can be registered for reflection:
@RegisterForReflection(targets = { my.Functions.class }) public class FunctionsConfiguration { }
@RegisterForReflection(targets = { my.Functions.class })
public class FunctionsConfiguration {
}
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.
Configuration property | Type | Default |
---|---|---|
A comma separated list of templates to compile. |
| |
The package name for the generated classes. |
|
|
TransformerFactory features. |
|
Configuration property fixed at build time. All other configuration properties are overridable at runtime.