XQuery
JVM since1.1.0 Native since2.0.0
Query and/or transform XML payloads using XQuery and Saxon.
What’s inside
-
XQuery component, URI syntax:
xquery:resourceUri
Please refer to the above links for usage and configuration details.
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-saxon</artifactId>
</dependency>
Check the User guide for more information about writing Camel Quarkus applications.
Additional Camel Quarkus configuration
This component is able to load XQuery definitions from classpath. To make it work also in native mode, you need to explicitly embed the queries in the native executable by using the quarkus.native.resources.includes
property.
For instance, the two routes below load an XQuery script from two classpath resources named myxquery.txt
and another-xquery.txt
respectively:
from("direct:start").transform().xquery("resource:classpath:myxquery.txt", String.class);
from("direct:start").to("xquery:another-xquery.txt");
To include these (an possibly other queries stored in .txt
files) in the native image, you would have to add something like the following to your application.properties
file:
quarkus.native.resources.includes = *.txt
More information about selecting resources for inclusion in the native executable can be found at Embedding resource in native executable.