You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2020/03/06 09:42:44 UTC

[camel-quarkus] 01/03: Support for camel-xml-io #847

This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 5828fcbd7d0bd6f430cba1b03cf458d5ecfc308e
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Mar 5 12:06:06 2020 +0100

    Support for camel-xml-io #847
---
 .github/workflows/pr-build.yaml                    |  3 +-
 .../pages/list-of-camel-quarkus-extensions.adoc    | 12 ++++---
 examples/file-split-log-xml/pom.xml                | 10 +++---
 examples/timer-log-xml/pom.xml                     |  4 +--
 examples/timer-log/pom.xml                         |  4 +--
 .../core/DisabledModelJAXBContextFactory.java      |  2 +-
 .../quarkus/core/DisabledModelToXMLDumper.java     |  4 +--
 .../core/DisabledPredicateValidatorReifier.java    |  2 +-
 .../quarkus/core/DisabledValidateReifier.java      |  2 +-
 .../core/DisabledXMLRoutesDefinitionLoader.java    |  6 ++--
 extensions/jackson/deployment/pom.xml              |  2 +-
 extensions/jackson/runtime/pom.xml                 |  2 +-
 extensions/pom.xml                                 |  4 ++-
 extensions/readme.adoc                             | 12 ++++---
 extensions/support/xml/deployment/pom.xml          |  4 ---
 extensions/support/xml/runtime/pom.xml             |  9 -----
 extensions/tagsoup/deployment/pom.xml              |  2 +-
 extensions/tagsoup/runtime/pom.xml                 |  2 +-
 .../{support/xml => xml-io}/deployment/pom.xml     | 21 ++++++------
 .../xml/io/deployment/XmlIoProcessor.java}         | 40 ++++------------------
 extensions/{core-xml => xml-io}/pom.xml            |  4 +--
 extensions/{xslt => xml-io}/runtime/pom.xml        | 19 +++++-----
 .../quarkus/component/xml/io/XmlIoRecorder.java}   | 19 +++++-----
 .../main/resources/META-INF/quarkus-extension.yaml |  6 ++--
 .../{core-xml => xml-jaxb}/deployment/pom.xml      |  8 ++---
 .../xml/jaxb/deployment/XmlJaxbProcessor.java}     | 20 ++++-------
 .../xml/jaxb}/deployment/CamelDevModeTest.java     |  2 +-
 .../xml/jaxb}/deployment/CamelSupportResource.java |  2 +-
 .../deployment/src/test/resources/routes.1         |  0
 .../deployment/src/test/resources/routes.2         |  0
 extensions/{core-xml => xml-jaxb}/pom.xml          |  4 +--
 extensions/{core-xml => xml-jaxb}/runtime/pom.xml  | 11 +++---
 .../component/xml/jaxb/XmlJaxbRecorder.java}       | 29 ++--------------
 .../main/resources/META-INF/quarkus-extension.yaml |  7 ++--
 .../{jackson => xml-jaxp}/deployment/pom.xml       | 19 +++++-----
 .../xml/jaxp/deployment/XmlJaxpProcessor.java}     | 22 +++++++-----
 extensions/{core-xml => xml-jaxp}/pom.xml          |  4 +--
 extensions/{core-xml => xml-jaxp}/runtime/pom.xml  | 16 ++++-----
 .../main/resources/META-INF/quarkus-extension.yaml |  7 ++--
 extensions/xslt/deployment/pom.xml                 |  2 +-
 extensions/xslt/runtime/pom.xml                    |  2 +-
 .../{core-main-xml => core-main-xml-io}/pom.xml    |  8 ++---
 .../camel/quarkus/core/CoreMainXmlIoResource.java} |  2 +-
 .../src/main/resources/application.properties      |  0
 .../src/main/resources/routes/my-routes.xml        |  0
 .../camel/quarkus/core/CoreMainXmlIoIT.java}       |  2 +-
 .../camel/quarkus/core/CoreMainXmlIoTest.java}     |  9 +++--
 .../{core-main-xml => core-main-xml-jaxb}/pom.xml  |  8 ++---
 .../quarkus/core/CoreMainXmlJaxbResource.java}     |  2 +-
 .../src/main/resources/application.properties      |  0
 .../src/main/resources/routes/my-routes.xml        |  0
 .../camel/quarkus/core/CoreMainXmlJaxbIT.java}     |  2 +-
 .../camel/quarkus/core/CoreMainXmlJaxbTest.java}   |  2 +-
 integration-tests/dataformats-json/pom.xml         |  4 +--
 integration-tests/pom.xml                          |  3 +-
 poms/bom-deployment/pom.xml                        | 20 ++++++++---
 poms/bom/pom.xml                                   | 25 +++++++++++---
 57 files changed, 200 insertions(+), 237 deletions(-)

diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml
index 44f29e2..fa80602 100644
--- a/.github/workflows/pr-build.yaml
+++ b/.github/workflows/pr-build.yaml
@@ -113,7 +113,8 @@ jobs:
             -pl :camel-quarkus-integration-test-core-impl \
             -pl :camel-quarkus-integration-test-core-main \
             -pl :camel-quarkus-integration-test-core-main-collector \
-            -pl :camel-quarkus-integration-test-core-main-xml
+            -pl :camel-quarkus-integration-test-core-main-xml-jaxb \
+            -pl :camel-quarkus-integration-test-core-main-xml-io \
   foundation:
     runs-on: ubuntu-latest
     needs: build
diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index 22b4047..8c8a103 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -294,7 +294,7 @@ Number of Camel data formats: 20 in 16 JAR artifacts (0 deprecated)
 == Camel Languages
 
 // languages: START
-Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
+Number of Camel languages: 11 in 5 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -318,6 +318,8 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 
 | link:https://camel.apache.org/components/latest/tokenize-language.html[Tokenize] (camel-quarkus-core) | 0.2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
 
+| link:https://camel.apache.org/components/latest/xtokenize-language.html[XML Tokenize] (camel-quarkus-xml-jaxp) | 1.0.0-M5 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
+
 | link:https://camel.apache.org/components/latest/xpath-language.html[XPath] (camel-quarkus-xpath) | 1.0.0-M4 | To use XPath (XML) in Camel expressions or predicates.
 |===
 // languages: END
@@ -325,7 +327,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -335,8 +337,6 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 | (camel-quarkus-core-cloud) | 0.2.0 | The Camel Quarkus core cloud module
 
-| (camel-quarkus-core-xml) | 0.3.0 | Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)
-
 | (camel-quarkus-endpointdsl) | 1.0.0-M3 | camel-quarkus-endpointdsl
 
 | (camel-quarkus-hystrix) | 1.0.0-M1 | Circuit Breaker EIP using Netflix Hystrix
@@ -348,5 +348,9 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
+
+| (camel-quarkus-xml-io) | 1.0.0-M5 | Includes implementations of Camel's fast and lightweight XML parse
+
+| (camel-quarkus-xml-jaxb) | 1.0.0-M5 | Includes implementations of Java Architecture for XML Binding (JAXB)
 |===
 // others: END
diff --git a/examples/file-split-log-xml/pom.xml b/examples/file-split-log-xml/pom.xml
index ceda9d5..8333c92 100644
--- a/examples/file-split-log-xml/pom.xml
+++ b/examples/file-split-log-xml/pom.xml
@@ -26,14 +26,14 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
- 
-   
+
+
 
     <artifactId>camel-quarkus-examples-file-log-xml</artifactId>
     <name>Camel Quarkus :: Examples :: File To Log XML DSL</name>
     <description>Camel Quarkus Example :: File To Log XML DSL</description>
 
-    
+
 
     <properties>
         <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
@@ -42,7 +42,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-jaxb-deployment,camel-quarkus-file-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -56,7 +56,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/examples/timer-log-xml/pom.xml b/examples/timer-log-xml/pom.xml
index 4a4f2fc..73b0175 100644
--- a/examples/timer-log-xml/pom.xml
+++ b/examples/timer-log-xml/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-io-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -52,7 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-io</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/examples/timer-log/pom.xml b/examples/timer-log/pom.xml
index 03d860b..db54517 100644
--- a/examples/timer-log/pom.xml
+++ b/examples/timer-log/pom.xml
@@ -38,7 +38,7 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-jaxb-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
@@ -52,7 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
 
     </dependencies>
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
index 56b3788..1020e89 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
@@ -25,7 +25,7 @@ public class DisabledModelJAXBContextFactory implements ModelJAXBContextFactory
 
     @Override
     public JAXBContext newJAXBContext() throws JAXBException {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb");
     }
 
 }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelToXMLDumper.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelToXMLDumper.java
index 94f2f03..faf1aa8 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelToXMLDumper.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelToXMLDumper.java
@@ -23,12 +23,12 @@ import org.apache.camel.spi.ModelToXMLDumper;
 public class DisabledModelToXMLDumper implements ModelToXMLDumper {
     @Override
     public String dumpModelAsXml(CamelContext context, NamedNode definition) throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb");
     }
 
     @Override
     public String dumpModelAsXml(CamelContext context, NamedNode definition, boolean resolvePlaceholders,
             boolean resolveDelegateEndpoints) throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledPredicateValidatorReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledPredicateValidatorReifier.java
index ef4c206..8b14713 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledPredicateValidatorReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledPredicateValidatorReifier.java
@@ -30,7 +30,7 @@ public class DisabledPredicateValidatorReifier extends ValidatorReifier<Predicat
 
     @Override
     protected Validator doCreateValidator() {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 
 }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledValidateReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledValidateReifier.java
index 4d796f8..911bfe7 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledValidateReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledValidateReifier.java
@@ -30,6 +30,6 @@ public class DisabledValidateReifier extends ProcessorReifier<ValidateDefinition
 
     @Override
     public Processor createProcessor() throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
index c38edc8..8adaf8d 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java
@@ -25,16 +25,16 @@ import org.apache.camel.spi.XMLRoutesDefinitionLoader;
 public class DisabledXMLRoutesDefinitionLoader implements XMLRoutesDefinitionLoader {
     @Override
     public Object loadRoutesDefinition(CamelContext context, InputStream inputStream) throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 
     @Override
     public Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 
     @Override
     public <T extends NamedNode> T createModelFromXml(CamelContext context, String xml, Class<T> type) throws Exception {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-jaxb or camel-quarkus-xml-io");
     }
 }
diff --git a/extensions/jackson/deployment/pom.xml b/extensions/jackson/deployment/pom.xml
index bed03ac..6e7cd69 100644
--- a/extensions/jackson/deployment/pom.xml
+++ b/extensions/jackson/deployment/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/jackson/runtime/pom.xml b/extensions/jackson/runtime/pom.xml
index 31be523..c9c6f6b 100644
--- a/extensions/jackson/runtime/pom.xml
+++ b/extensions/jackson/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
diff --git a/extensions/pom.xml b/extensions/pom.xml
index d3f5e7f..e6d2088 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -38,9 +38,11 @@
         <!-- common/shared extensions -->
         <module>core</module>
         <module>core-cloud</module>
-        <module>core-xml</module>
         <module>http-common</module>
         <module>reactive-executor</module>
+        <module>xml-io</module>
+        <module>xml-jaxb</module>
+        <module>xml-jaxp</module>
 
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
         <module>ahc</module>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index 5196d75..3b5fe61 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -283,7 +283,7 @@ Number of Camel data formats: 20 in 16 JAR artifacts (0 deprecated)
 == Camel Languages
 
 // languages: START
-Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
+Number of Camel languages: 11 in 5 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -307,6 +307,8 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 
 | link:https://camel.apache.org/components/latest/tokenize-language.html[Tokenize] (camel-quarkus-core) | 0.2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
 
+| link:https://camel.apache.org/components/latest/xtokenize-language.html[XML Tokenize] (camel-quarkus-xml-jaxp) | 1.0.0-M5 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
+
 | link:https://camel.apache.org/components/latest/xpath-language.html[XPath] (camel-quarkus-xpath) | 1.0.0-M4 | To use XPath (XML) in Camel expressions or predicates.
 |===
 // languages: END
@@ -315,7 +317,7 @@ Number of Camel languages: 10 in 4 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -325,8 +327,6 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 | (camel-quarkus-core-cloud) | 0.2.0 | The Camel Quarkus core cloud module
 
-| (camel-quarkus-core-xml) | 0.3.0 | Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)
-
 | (camel-quarkus-endpointdsl) | 1.0.0-M3 | camel-quarkus-endpointdsl
 
 | (camel-quarkus-hystrix) | 1.0.0-M1 | Circuit Breaker EIP using Netflix Hystrix
@@ -338,6 +338,10 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 | xref:extensions/opentracing.adoc[camel-quarkus-opentracing]  | 0.3.0 | Distributed tracing using OpenTracing
 
 | (camel-quarkus-reactive-executor) | 0.3.0 | Reactive Executor for camel-core using Vert.x
+
+| (camel-quarkus-xml-io) | 1.0.0-M5 | Includes implementations of Camel's fast and lightweight XML parse
+
+| (camel-quarkus-xml-jaxb) | 1.0.0-M5 | Includes implementations of Java Architecture for XML Binding (JAXB)
 |===
 // others: END
 
diff --git a/extensions/support/xml/deployment/pom.xml b/extensions/support/xml/deployment/pom.xml
index 8765f52..61f3a18 100644
--- a/extensions/support/xml/deployment/pom.xml
+++ b/extensions/support/xml/deployment/pom.xml
@@ -46,10 +46,6 @@
             <artifactId>quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jaxb-deployment</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
diff --git a/extensions/support/xml/runtime/pom.xml b/extensions/support/xml/runtime/pom.xml
index 5f99efa..344e696 100644
--- a/extensions/support/xml/runtime/pom.xml
+++ b/extensions/support/xml/runtime/pom.xml
@@ -45,15 +45,6 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-core</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jaxb</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxp</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions/tagsoup/deployment/pom.xml b/extensions/tagsoup/deployment/pom.xml
index 8fe1f57..41f567a 100644
--- a/extensions/tagsoup/deployment/pom.xml
+++ b/extensions/tagsoup/deployment/pom.xml
@@ -48,7 +48,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/tagsoup/runtime/pom.xml b/extensions/tagsoup/runtime/pom.xml
index 615d35f..69cbbfa 100644
--- a/extensions/tagsoup/runtime/pom.xml
+++ b/extensions/tagsoup/runtime/pom.xml
@@ -52,7 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/support/xml/deployment/pom.xml b/extensions/xml-io/deployment/pom.xml
similarity index 82%
copy from extensions/support/xml/deployment/pom.xml
copy to extensions/xml-io/deployment/pom.xml
index 8765f52..ff2678c 100644
--- a/extensions/support/xml/deployment/pom.xml
+++ b/extensions/xml-io/deployment/pom.xml
@@ -18,15 +18,16 @@
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-support-xml-parent</artifactId>
+        <artifactId>camel-quarkus-xml-io-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-support-xml-deployment</artifactId>
-    <name>Camel Quarkus :: Support :: XML :: Deployment</name>
+    <artifactId>camel-quarkus-xml-io-deployment</artifactId>
+    <name>Camel Quarkus :: XML :: IO :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
@@ -42,22 +43,19 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jaxb-deployment</artifactId>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-xml</artifactId>
+            <artifactId>camel-quarkus-xml-io</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
                     <annotationProcessorPaths>
@@ -71,4 +69,5 @@
             </plugin>
         </plugins>
     </build>
+
 </project>
diff --git a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java b/extensions/xml-io/deployment/src/main/java/org/apache/camel/quarkus/component/xml/io/deployment/XmlIoProcessor.java
similarity index 51%
copy from extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
copy to extensions/xml-io/deployment/src/main/java/org/apache/camel/quarkus/component/xml/io/deployment/XmlIoProcessor.java
index 19b096b..77cca52 100644
--- a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
+++ b/extensions/xml-io/deployment/src/main/java/org/apache/camel/quarkus/component/xml/io/deployment/XmlIoProcessor.java
@@ -14,29 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.xml.deployment;
+package org.apache.camel.quarkus.component.xml.io.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.CapabilityBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.jaxb.deployment.JaxbFileRootBuildItem;
-import org.apache.camel.quarkus.component.xml.XmlRecorder;
-import org.apache.camel.quarkus.core.deployment.CamelModelJAXBContextFactoryBuildItem;
-import org.apache.camel.quarkus.core.deployment.CamelModelToXMLDumperBuildItem;
+import org.apache.camel.quarkus.component.xml.io.XmlIoRecorder;
 import org.apache.camel.quarkus.core.deployment.CamelRoutesLoaderBuildItems;
-import org.apache.camel.quarkus.core.deployment.CamelSupport;
 import org.apache.camel.quarkus.support.common.CamelCapabilities;
 
-class XmlProcessor {
-
-    private static final String FEATURE = "camel-xml";
-
-    @BuildStep
-    JaxbFileRootBuildItem fileRoot() {
-        return new JaxbFileRootBuildItem(CamelSupport.CAMEL_ROOT_PACKAGE_DIRECTORY);
-    }
+class XmlIoProcessor {
+    private static final String FEATURE = "camel-xml-io";
 
     @BuildStep
     FeatureBuildItem feature() {
@@ -50,25 +40,7 @@ class XmlProcessor {
 
     @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelModelJAXBContextFactoryBuildItem contextFactory(XmlRecorder recorder) {
-        return new CamelModelJAXBContextFactoryBuildItem(recorder.newContextFactory());
-    }
-
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelRoutesLoaderBuildItems.Xml xmlLoader(XmlRecorder recorder) {
-        return new CamelRoutesLoaderBuildItems.Xml(recorder.newJaxbXMLRoutesDefinitionLoader());
-    }
-
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelModelToXMLDumperBuildItem xmlModelDumper(XmlRecorder recorder) {
-        return new CamelModelToXMLDumperBuildItem(recorder.newJaxbModelToXMLDumper());
-    }
-
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT)
-    void initXmlReifiers(XmlRecorder recorder) {
-        recorder.initXmlReifiers();
+    CamelRoutesLoaderBuildItems.Xml xmlLoader(XmlIoRecorder recorder) {
+        return new CamelRoutesLoaderBuildItems.Xml(recorder.newIoXMLRoutesDefinitionLoader());
     }
 }
diff --git a/extensions/core-xml/pom.xml b/extensions/xml-io/pom.xml
similarity index 93%
copy from extensions/core-xml/pom.xml
copy to extensions/xml-io/pom.xml
index 87510e8..2813daf 100644
--- a/extensions/core-xml/pom.xml
+++ b/extensions/xml-io/pom.xml
@@ -26,8 +26,8 @@
         <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml-parent</artifactId>
-    <name>Camel Quarkus :: Core XML</name>
+    <artifactId>camel-quarkus-xml-io-parent</artifactId>
+    <name>Camel Quarkus :: XML :: IO</name>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/extensions/xslt/runtime/pom.xml b/extensions/xml-io/runtime/pom.xml
similarity index 85%
copy from extensions/xslt/runtime/pom.xml
copy to extensions/xml-io/runtime/pom.xml
index 0ec0543..f5f094e 100644
--- a/extensions/xslt/runtime/pom.xml
+++ b/extensions/xml-io/runtime/pom.xml
@@ -21,16 +21,17 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-xslt-parent</artifactId>
+        <artifactId>camel-quarkus-xml-io-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-xslt</artifactId>
-    <name>Camel Quarkus :: XSLT :: Runtime</name>
+    <artifactId>camel-quarkus-xml-io</artifactId>
+    <name>Camel Quarkus :: XML :: IO :: Runtime</name>
+    <description>An XML stack for parsing XML route definitions. A fast an light weight alternative to camel-quarkus-xml-jaxp</description>
 
     <properties>
-        <firstVersion>0.4.0</firstVersion>
+        <firstVersion>1.0.0-M5</firstVersion>
     </properties>
 
     <dependencyManagement>
@@ -47,16 +48,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-xml-io</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-xalan</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xslt</artifactId>
+            <artifactId>camel-quarkus-core</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java b/extensions/xml-io/runtime/src/main/java/org/apache/camel/quarkus/component/xml/io/XmlIoRecorder.java
similarity index 63%
copy from extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
copy to extensions/xml-io/runtime/src/main/java/org/apache/camel/quarkus/component/xml/io/XmlIoRecorder.java
index 56b3788..7eeb5e6 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
+++ b/extensions/xml-io/runtime/src/main/java/org/apache/camel/quarkus/component/xml/io/XmlIoRecorder.java
@@ -14,18 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.core;
+package org.apache.camel.quarkus.component.xml.io;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
+import io.quarkus.runtime.RuntimeValue;
+import io.quarkus.runtime.annotations.Recorder;
+import org.apache.camel.spi.XMLRoutesDefinitionLoader;
+import org.apache.camel.xml.in.ModelParserXMLRoutesDefinitionLoader;
 
-import org.apache.camel.spi.ModelJAXBContextFactory;
+@Recorder
+public class XmlIoRecorder {
 
-public class DisabledModelJAXBContextFactory implements ModelJAXBContextFactory {
-
-    @Override
-    public JAXBContext newJAXBContext() throws JAXBException {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+    public RuntimeValue<XMLRoutesDefinitionLoader> newIoXMLRoutesDefinitionLoader() {
+        return new RuntimeValue<>(new ModelParserXMLRoutesDefinitionLoader());
     }
-
 }
diff --git a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/xml-io/runtime/src/main/resources/META-INF/quarkus-extension.yaml
similarity index 83%
copy from extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
copy to extensions/xml-io/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index f6ede6a..6ca06cf 100644
--- a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/xml-io/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -16,12 +16,12 @@
 #
 
 ---
-name: "Camel Quarkus XML Common"
-description: "The Camel Quarkus code XML module"
+name: "Camel Quarkus XML IO"
+description: "An XML stack for parsing XML route definitions. A fast an light weight alternative to camel-quarkus-xml-jaxp"
 metadata:
   keywords:
   - "camel"
   - "xml"
   guide: "https://quarkus.io/guides/camel"
   categories:
-  - "integration"
\ No newline at end of file
+  - "integration"
diff --git a/extensions/core-xml/deployment/pom.xml b/extensions/xml-jaxb/deployment/pom.xml
similarity index 94%
rename from extensions/core-xml/deployment/pom.xml
rename to extensions/xml-jaxb/deployment/pom.xml
index c398dd9..789aea5 100644
--- a/extensions/core-xml/deployment/pom.xml
+++ b/extensions/xml-jaxb/deployment/pom.xml
@@ -21,13 +21,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-core-xml-parent</artifactId>
+        <artifactId>camel-quarkus-xml-jaxb-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml-deployment</artifactId>
-    <name>Camel Quarkus :: Core XML :: Deployment</name>
+    <artifactId>camel-quarkus-xml-jaxb-deployment</artifactId>
+    <name>Camel Quarkus :: XML :: JAXB :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
@@ -48,7 +48,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java b/extensions/xml-jaxb/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/XmlJaxbProcessor.java
similarity index 81%
rename from extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
rename to extensions/xml-jaxb/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/XmlJaxbProcessor.java
index 19b096b..6b0d104 100644
--- a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
+++ b/extensions/xml-jaxb/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/XmlJaxbProcessor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.xml.deployment;
+package org.apache.camel.quarkus.component.xml.jaxb.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
@@ -22,16 +22,16 @@ import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.CapabilityBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.jaxb.deployment.JaxbFileRootBuildItem;
-import org.apache.camel.quarkus.component.xml.XmlRecorder;
+import org.apache.camel.quarkus.component.xml.jaxb.XmlJaxbRecorder;
 import org.apache.camel.quarkus.core.deployment.CamelModelJAXBContextFactoryBuildItem;
 import org.apache.camel.quarkus.core.deployment.CamelModelToXMLDumperBuildItem;
 import org.apache.camel.quarkus.core.deployment.CamelRoutesLoaderBuildItems;
 import org.apache.camel.quarkus.core.deployment.CamelSupport;
 import org.apache.camel.quarkus.support.common.CamelCapabilities;
 
-class XmlProcessor {
+class XmlJaxbProcessor {
 
-    private static final String FEATURE = "camel-xml";
+    private static final String FEATURE = "camel-xml-jaxb";
 
     @BuildStep
     JaxbFileRootBuildItem fileRoot() {
@@ -50,25 +50,19 @@ class XmlProcessor {
 
     @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelModelJAXBContextFactoryBuildItem contextFactory(XmlRecorder recorder) {
+    CamelModelJAXBContextFactoryBuildItem contextFactory(XmlJaxbRecorder recorder) {
         return new CamelModelJAXBContextFactoryBuildItem(recorder.newContextFactory());
     }
 
     @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelRoutesLoaderBuildItems.Xml xmlLoader(XmlRecorder recorder) {
+    CamelRoutesLoaderBuildItems.Xml xmlLoader(XmlJaxbRecorder recorder) {
         return new CamelRoutesLoaderBuildItems.Xml(recorder.newJaxbXMLRoutesDefinitionLoader());
     }
 
     @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelModelToXMLDumperBuildItem xmlModelDumper(XmlRecorder recorder) {
+    CamelModelToXMLDumperBuildItem xmlModelDumper(XmlJaxbRecorder recorder) {
         return new CamelModelToXMLDumperBuildItem(recorder.newJaxbModelToXMLDumper());
     }
-
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT)
-    void initXmlReifiers(XmlRecorder recorder) {
-        recorder.initXmlReifiers();
-    }
 }
diff --git a/extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelDevModeTest.java b/extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelDevModeTest.java
similarity index 98%
rename from extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelDevModeTest.java
rename to extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelDevModeTest.java
index b294f55..752b032 100644
--- a/extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelDevModeTest.java
+++ b/extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelDevModeTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.xml.deployment;
+package org.apache.camel.quarkus.component.xml.jaxb.deployment;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelSupportResource.java b/extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelSupportResource.java
similarity index 96%
rename from extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelSupportResource.java
rename to extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelSupportResource.java
index d05617f..1aa33fc 100644
--- a/extensions/core-xml/deployment/src/test/java/org/apache/camel/quarkus/component/xml/deployment/CamelSupportResource.java
+++ b/extensions/xml-jaxb/deployment/src/test/java/org/apache/camel/quarkus/component/xml/jaxb/deployment/CamelSupportResource.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.xml.deployment;
+package org.apache.camel.quarkus.component.xml.jaxb.deployment;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;
diff --git a/extensions/core-xml/deployment/src/test/resources/routes.1 b/extensions/xml-jaxb/deployment/src/test/resources/routes.1
similarity index 100%
rename from extensions/core-xml/deployment/src/test/resources/routes.1
rename to extensions/xml-jaxb/deployment/src/test/resources/routes.1
diff --git a/extensions/core-xml/deployment/src/test/resources/routes.2 b/extensions/xml-jaxb/deployment/src/test/resources/routes.2
similarity index 100%
rename from extensions/core-xml/deployment/src/test/resources/routes.2
rename to extensions/xml-jaxb/deployment/src/test/resources/routes.2
diff --git a/extensions/core-xml/pom.xml b/extensions/xml-jaxb/pom.xml
similarity index 93%
copy from extensions/core-xml/pom.xml
copy to extensions/xml-jaxb/pom.xml
index 87510e8..b415b8d 100644
--- a/extensions/core-xml/pom.xml
+++ b/extensions/xml-jaxb/pom.xml
@@ -26,8 +26,8 @@
         <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml-parent</artifactId>
-    <name>Camel Quarkus :: Core XML</name>
+    <artifactId>camel-quarkus-xml-jaxb-parent</artifactId>
+    <name>Camel Quarkus :: XML :: JAXB</name>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/extensions/core-xml/runtime/pom.xml b/extensions/xml-jaxb/runtime/pom.xml
similarity index 89%
copy from extensions/core-xml/runtime/pom.xml
copy to extensions/xml-jaxb/runtime/pom.xml
index f61467d..5393fcc 100644
--- a/extensions/core-xml/runtime/pom.xml
+++ b/extensions/xml-jaxb/runtime/pom.xml
@@ -21,17 +21,18 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-core-xml-parent</artifactId>
+        <artifactId>camel-quarkus-xml-jaxb-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml</artifactId>
-    <name>Camel Quarkus :: Core XML :: Runtime</name>
-    <description>Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)</description>
+    <artifactId>camel-quarkus-xml-jaxb</artifactId>
+    <name>Camel Quarkus :: XML :: JAXB :: Runtime</name>
+        <description>An XML stack for parsing XML route definitions. A legacy alternative to the fast an light weight camel-quarkus-xml-io</description>
+
 
     <properties>
-        <firstVersion>0.3.0</firstVersion>
+        <firstVersion>1.0.0-M5</firstVersion>
     </properties>
 
     <dependencyManagement>
diff --git a/extensions/core-xml/runtime/src/main/java/org/apache/camel/quarkus/component/xml/XmlRecorder.java b/extensions/xml-jaxb/runtime/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/XmlJaxbRecorder.java
similarity index 69%
rename from extensions/core-xml/runtime/src/main/java/org/apache/camel/quarkus/component/xml/XmlRecorder.java
rename to extensions/xml-jaxb/runtime/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/XmlJaxbRecorder.java
index 1469086..3cb9e69 100644
--- a/extensions/core-xml/runtime/src/main/java/org/apache/camel/quarkus/component/xml/XmlRecorder.java
+++ b/extensions/xml-jaxb/runtime/src/main/java/org/apache/camel/quarkus/component/xml/jaxb/XmlJaxbRecorder.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.xml;
+package org.apache.camel.quarkus.component.xml.jaxb;
 
 import javax.xml.bind.JAXBException;
 
@@ -22,12 +22,6 @@ import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.Recorder;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultModelJAXBContextFactory;
-import org.apache.camel.model.ValidateDefinition;
-import org.apache.camel.model.validator.PredicateValidatorDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
-import org.apache.camel.reifier.ValidateReifier;
-import org.apache.camel.reifier.validator.PredicateValidatorReifier;
-import org.apache.camel.reifier.validator.ValidatorReifier;
 import org.apache.camel.spi.ModelJAXBContextFactory;
 import org.apache.camel.spi.ModelToXMLDumper;
 import org.apache.camel.spi.XMLRoutesDefinitionLoader;
@@ -36,7 +30,7 @@ import org.apache.camel.xml.jaxb.JaxbXMLRoutesDefinitionLoader;
 import org.graalvm.nativeimage.ImageInfo;
 
 @Recorder
-public class XmlRecorder {
+public class XmlJaxbRecorder {
 
     public RuntimeValue<ModelJAXBContextFactory> newContextFactory() {
         DefaultModelJAXBContextFactory factory = new DefaultModelJAXBContextFactory();
@@ -57,23 +51,4 @@ public class XmlRecorder {
     public RuntimeValue<ModelToXMLDumper> newJaxbModelToXMLDumper() {
         return new RuntimeValue<>(new JaxbModelToXMLDumper());
     }
-
-    public void initXmlReifiers() {
-        ProcessorReifier.registerReifier(ValidateDefinition.class, ValidateReifier::new);
-        ValidatorReifier.registerReifier(PredicateValidatorDefinition.class, PredicateValidatorReifier::new);
-    }
-
-    /*
-    
-    
-    @Override
-    protected XMLRoutesDefinitionLoader createXMLRoutesDefinitionLoader() {
-        return xmlLoader;
-    }
-    
-    @Override
-    protected ModelToXMLDumper createModelToXMLDumper() {
-        return modelDumper;
-    }
-     */
 }
diff --git a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/xml-jaxb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
similarity index 82%
copy from extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
copy to extensions/xml-jaxb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index f6ede6a..8e701b8 100644
--- a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/xml-jaxb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -16,12 +16,13 @@
 #
 
 ---
-name: "Camel Quarkus XML Common"
-description: "The Camel Quarkus code XML module"
+name: "Camel Quarkus XML JAXB"
+description: "An XML stack for parsing XML route definitions. A legacy alternative to the fast an light weight camel-quarkus-xml-io"
 metadata:
   keywords:
   - "camel"
   - "xml"
+  - "jaxb"
   guide: "https://quarkus.io/guides/camel"
   categories:
-  - "integration"
\ No newline at end of file
+  - "integration"
diff --git a/extensions/jackson/deployment/pom.xml b/extensions/xml-jaxp/deployment/pom.xml
similarity index 85%
copy from extensions/jackson/deployment/pom.xml
copy to extensions/xml-jaxp/deployment/pom.xml
index bed03ac..b921e39 100644
--- a/extensions/jackson/deployment/pom.xml
+++ b/extensions/xml-jaxp/deployment/pom.xml
@@ -18,15 +18,16 @@
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-jackson-parent</artifactId>
+        <artifactId>camel-quarkus-xml-jaxp-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-jackson-deployment</artifactId>
-    <name>Camel Quarkus :: Jackson :: Deployment</name>
+    <artifactId>camel-quarkus-xml-jaxp-deployment</artifactId>
+    <name>Camel Quarkus :: XML :: JAXP :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
@@ -42,26 +43,23 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jackson-deployment</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-xml-jaxp</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-jackson</artifactId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
                     <annotationProcessorPaths>
@@ -75,4 +73,5 @@
             </plugin>
         </plugins>
     </build>
+
 </project>
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java b/extensions/xml-jaxp/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxp/deployment/XmlJaxpProcessor.java
similarity index 57%
copy from extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
copy to extensions/xml-jaxp/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxp/deployment/XmlJaxpProcessor.java
index 56b3788..40689f7 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledModelJAXBContextFactory.java
+++ b/extensions/xml-jaxp/deployment/src/main/java/org/apache/camel/quarkus/component/xml/jaxp/deployment/XmlJaxpProcessor.java
@@ -14,18 +14,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.core;
+package org.apache.camel.quarkus.component.xml.jaxp.deployment;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CapabilityBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import org.apache.camel.quarkus.support.common.CamelCapabilities;
 
-import org.apache.camel.spi.ModelJAXBContextFactory;
+class XmlJaxpProcessor {
 
-public class DisabledModelJAXBContextFactory implements ModelJAXBContextFactory {
+    private static final String FEATURE = "camel-xml-jaxp";
 
-    @Override
-    public JAXBContext newJAXBContext() throws JAXBException {
-        throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-core-xml");
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
     }
 
+    @BuildStep
+    CapabilityBuildItem capability() {
+        return new CapabilityBuildItem(CamelCapabilities.XML);
+    }
 }
diff --git a/extensions/core-xml/pom.xml b/extensions/xml-jaxp/pom.xml
similarity index 93%
rename from extensions/core-xml/pom.xml
rename to extensions/xml-jaxp/pom.xml
index 87510e8..7f26d92 100644
--- a/extensions/core-xml/pom.xml
+++ b/extensions/xml-jaxp/pom.xml
@@ -26,8 +26,8 @@
         <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml-parent</artifactId>
-    <name>Camel Quarkus :: Core XML</name>
+    <artifactId>camel-quarkus-xml-jaxp-parent</artifactId>
+    <name>Camel Quarkus :: XML :: JAXP</name>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/extensions/core-xml/runtime/pom.xml b/extensions/xml-jaxp/runtime/pom.xml
similarity index 86%
rename from extensions/core-xml/runtime/pom.xml
rename to extensions/xml-jaxp/runtime/pom.xml
index f61467d..9324340 100644
--- a/extensions/core-xml/runtime/pom.xml
+++ b/extensions/xml-jaxp/runtime/pom.xml
@@ -21,17 +21,17 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-core-xml-parent</artifactId>
+        <artifactId>camel-quarkus-xml-jaxp-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-core-xml</artifactId>
-    <name>Camel Quarkus :: Core XML :: Runtime</name>
-    <description>Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)</description>
+    <artifactId>camel-quarkus-xml-jaxp</artifactId>
+    <name>Camel Quarkus :: XML :: JAXP :: Runtime</name>
+    <description>Includes implementations of Java Architecture for XML Processing (JAXP)</description>
 
     <properties>
-        <firstVersion>0.3.0</firstVersion>
+        <firstVersion>1.0.0-M5</firstVersion>
     </properties>
 
     <dependencyManagement>
@@ -49,7 +49,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxb</artifactId>
+            <artifactId>camel-xml-jaxp</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
@@ -59,10 +59,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jaxb</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/xml-jaxp/runtime/src/main/resources/META-INF/quarkus-extension.yaml
similarity index 89%
rename from extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
rename to extensions/xml-jaxp/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index f6ede6a..aab86c2 100644
--- a/extensions/core-xml/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions/xml-jaxp/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -16,12 +16,13 @@
 #
 
 ---
-name: "Camel Quarkus XML Common"
-description: "The Camel Quarkus code XML module"
+name: "Camel Quarkus XML JAXP"
+description: "The Camel Quarkus XML Jaxp module"
 metadata:
   keywords:
   - "camel"
   - "xml"
+  - "jaxp"
   guide: "https://quarkus.io/guides/camel"
   categories:
-  - "integration"
\ No newline at end of file
+  - "integration"
diff --git a/extensions/xslt/deployment/pom.xml b/extensions/xslt/deployment/pom.xml
index e59f638..6d8de55 100644
--- a/extensions/xslt/deployment/pom.xml
+++ b/extensions/xslt/deployment/pom.xml
@@ -44,7 +44,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/xslt/runtime/pom.xml b/extensions/xslt/runtime/pom.xml
index 0ec0543..2cbfc87 100644
--- a/extensions/xslt/runtime/pom.xml
+++ b/extensions/xslt/runtime/pom.xml
@@ -48,7 +48,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests/core-main-xml/pom.xml b/integration-tests/core-main-xml-io/pom.xml
similarity index 92%
copy from integration-tests/core-main-xml/pom.xml
copy to integration-tests/core-main-xml-io/pom.xml
index 0ec5727..61c8558 100644
--- a/integration-tests/core-main-xml/pom.xml
+++ b/integration-tests/core-main-xml-io/pom.xml
@@ -25,8 +25,8 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-integration-test-core-main-xml</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Core Main XML :: Tests</name>
+    <artifactId>camel-quarkus-integration-test-core-main-xml-io</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Core Main XML Io :: Tests</name>
     <description>The camel integration tests</description>
 
     <properties>
@@ -36,13 +36,13 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-io-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-io</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java b/integration-tests/core-main-xml-io/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlIoResource.java
similarity index 98%
copy from integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java
copy to integration-tests/core-main-xml-io/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlIoResource.java
index 1ee7726..b3e0066 100644
--- a/integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java
+++ b/integration-tests/core-main-xml-io/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlIoResource.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.Registry;
 
 @Path("/test")
 @ApplicationScoped
-public class CoreMainXmlResource {
+public class CoreMainXmlIoResource {
     @Inject
     CamelMain main;
     @Inject
diff --git a/integration-tests/core-main-xml/src/main/resources/application.properties b/integration-tests/core-main-xml-io/src/main/resources/application.properties
similarity index 100%
copy from integration-tests/core-main-xml/src/main/resources/application.properties
copy to integration-tests/core-main-xml-io/src/main/resources/application.properties
diff --git a/integration-tests/core-main-xml/src/main/resources/routes/my-routes.xml b/integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml
similarity index 100%
copy from integration-tests/core-main-xml/src/main/resources/routes/my-routes.xml
copy to integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml
diff --git a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java b/integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoIT.java
similarity index 94%
copy from integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java
copy to integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoIT.java
index d2d0377..c926c71 100644
--- a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java
+++ b/integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoIT.java
@@ -19,5 +19,5 @@ package org.apache.camel.quarkus.core;
 import io.quarkus.test.junit.NativeImageTest;
 
 @NativeImageTest
-public class CoreMainXmlIT extends CoreMainXmlTest {
+public class CoreMainXmlIoIT extends CoreMainXmlIoTest {
 }
diff --git a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java b/integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoTest.java
similarity index 82%
copy from integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java
copy to integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoTest.java
index 37075d8..d89395d 100644
--- a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java
+++ b/integration-tests/core-main-xml-io/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIoTest.java
@@ -21,14 +21,13 @@ import javax.ws.rs.core.MediaType;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.path.json.JsonPath;
-import org.apache.camel.xml.jaxb.JaxbModelToXMLDumper;
-import org.apache.camel.xml.jaxb.JaxbXMLRoutesDefinitionLoader;
+import org.apache.camel.xml.in.ModelParserXMLRoutesDefinitionLoader;
 import org.junit.jupiter.api.Test;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
 @QuarkusTest
-public class CoreMainXmlTest {
+public class CoreMainXmlIoTest {
     @Test
     public void testMainInstanceWithXmlRoutes() {
         JsonPath p = RestAssured.given()
@@ -40,8 +39,8 @@ public class CoreMainXmlTest {
                 .body()
                 .jsonPath();
 
-        assertThat(p.getString("xml-loader")).isEqualTo(JaxbXMLRoutesDefinitionLoader.class.getName());
-        assertThat(p.getString("xml-model-dumper")).isEqualTo(JaxbModelToXMLDumper.class.getName());
+        assertThat(p.getString("xml-loader")).isEqualTo(ModelParserXMLRoutesDefinitionLoader.class.getName());
+        assertThat(p.getString("xml-model-dumper")).isEqualTo(DisabledModelToXMLDumper.class.getName());
 
         assertThat(p.getList("routeBuilders", String.class))
                 .isEmpty();
diff --git a/integration-tests/core-main-xml/pom.xml b/integration-tests/core-main-xml-jaxb/pom.xml
similarity index 94%
rename from integration-tests/core-main-xml/pom.xml
rename to integration-tests/core-main-xml-jaxb/pom.xml
index 0ec5727..f2deb2c 100644
--- a/integration-tests/core-main-xml/pom.xml
+++ b/integration-tests/core-main-xml-jaxb/pom.xml
@@ -25,8 +25,8 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-integration-test-core-main-xml</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Core Main XML :: Tests</name>
+    <artifactId>camel-quarkus-integration-test-core-main-xml-jaxb</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Core Main XML Jaxb :: Tests</name>
     <description>The camel integration tests</description>
 
     <properties>
@@ -36,13 +36,13 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-jaxb-deployment,camel-quarkus-direct-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-timer-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java b/integration-tests/core-main-xml-jaxb/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbResource.java
similarity index 98%
rename from integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java
rename to integration-tests/core-main-xml-jaxb/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbResource.java
index 1ee7726..c2cce74 100644
--- a/integration-tests/core-main-xml/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlResource.java
+++ b/integration-tests/core-main-xml-jaxb/src/main/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbResource.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.Registry;
 
 @Path("/test")
 @ApplicationScoped
-public class CoreMainXmlResource {
+public class CoreMainXmlJaxbResource {
     @Inject
     CamelMain main;
     @Inject
diff --git a/integration-tests/core-main-xml/src/main/resources/application.properties b/integration-tests/core-main-xml-jaxb/src/main/resources/application.properties
similarity index 100%
rename from integration-tests/core-main-xml/src/main/resources/application.properties
rename to integration-tests/core-main-xml-jaxb/src/main/resources/application.properties
diff --git a/integration-tests/core-main-xml/src/main/resources/routes/my-routes.xml b/integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml
similarity index 100%
rename from integration-tests/core-main-xml/src/main/resources/routes/my-routes.xml
rename to integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml
diff --git a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java b/integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbIT.java
similarity index 93%
rename from integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java
rename to integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbIT.java
index d2d0377..02485ed 100644
--- a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlIT.java
+++ b/integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbIT.java
@@ -19,5 +19,5 @@ package org.apache.camel.quarkus.core;
 import io.quarkus.test.junit.NativeImageTest;
 
 @NativeImageTest
-public class CoreMainXmlIT extends CoreMainXmlTest {
+public class CoreMainXmlJaxbIT extends CoreMainXmlJaxbTest {
 }
diff --git a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java b/integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbTest.java
similarity index 98%
rename from integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java
rename to integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbTest.java
index 37075d8..fe3dcc0 100644
--- a/integration-tests/core-main-xml/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlTest.java
+++ b/integration-tests/core-main-xml-jaxb/src/test/java/org/apache/camel/quarkus/core/CoreMainXmlJaxbTest.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.api.Test;
 import static org.assertj.core.api.Assertions.assertThat;
 
 @QuarkusTest
-public class CoreMainXmlTest {
+public class CoreMainXmlJaxbTest {
     @Test
     public void testMainInstanceWithXmlRoutes() {
         JsonPath p = RestAssured.given()
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-tests/dataformats-json/pom.xml
index 88f9f26..f07fcb1 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-tests/dataformats-json/pom.xml
@@ -36,13 +36,13 @@
         <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
         <!-- Please update rule whenever you change the dependencies of this module by running -->
         <!--     mvn process-resources -Pformat    from the root directory -->
-        <mvnd.builder.rule>camel-quarkus-core-xml-deployment,camel-quarkus-direct-deployment,camel-quarkus-gson-deployment,camel-quarkus-jackson-deployment,camel-quarkus-jacksonxml-deployment,camel-quarkus-johnzon-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-vm-deployment</mvnd.builder.rule>
+        <mvnd.builder.rule>camel-quarkus-xml-jaxb-deployment,camel-quarkus-direct-deployment,camel-quarkus-gson-deployment,camel-quarkus-jackson-deployment,camel-quarkus-johnzon-deployment,camel-quarkus-log-deployment,camel-quarkus-support-policy-deployment,camel-quarkus-vm-deployment</mvnd.builder.rule>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index fa99a18..2680741 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -158,7 +158,8 @@
         <module>support</module>
         <module>core</module>
         <module>core-main</module>
-        <module>core-main-xml</module>
+        <module>core-main-xml-jaxb</module>
+        <module>core-main-xml-io</module>
         <module>core-main-collector</module>
         <module>core-impl</module>
 
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index e43ec56..d4117c5 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -191,11 +191,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-core-xml-deployment</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-csv-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -546,6 +541,21 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-io-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-jaxb-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-jaxp-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-xpath-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index b19536c..6893459 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -629,6 +629,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-xml-io</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-xml-jaxb</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -796,11 +801,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-core-xml</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-csv</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -1161,6 +1161,21 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-io</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-jaxb</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-xml-jaxp</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-xpath</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>