fix user-manual faq xrefs
diff --git a/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc b/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
index 3b50202..0defe1d 100644
--- a/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
+++ b/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
@@ -1,4 +1,4 @@
 [[CanIgetcommercialsupport-CanIgetcommercialsupport]]
 = Can I get commercial support?
 
-Absolutely, see our xref:support.adoc[Support] page for more details.
+Absolutely, see our xref:ROOT:support.adoc[Support] page for more details.
diff --git a/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc b/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
index 0e6860d..db4e95e 100644
--- a/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
+++ b/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
@@ -24,7 +24,7 @@
 ----
 
 This is because if you are not using Spring then the default
-xref:registry.adoc[Registry] implementation uses xref:jndi.adoc[JNDI].
+xref:ROOT:registry.adoc[Registry] implementation uses xref:ROOT:jndi.adoc[JNDI].
 
 A simple workaround for this is to specify a JNDI provider. An easy fix
 is to create a file called `jndi.properties` on the classpath and give
diff --git a/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc b/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
index e5a4066..e4e0b42 100644
--- a/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
+++ b/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
@@ -11,7 +11,7 @@
 Because of this, you have to replace all & in your URIs by `+&+` when
 using the Spring XML syntax to configure Camel routes.
 
-An example: this snippet of code in the xref:dsl.adoc[DSL]...
+An example: this snippet of code in the xref:ROOT:dsl.adoc[DSL]...
 
 [source,java]
 ----
diff --git a/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc b/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
index 5c70e72..3f72e8b 100644
--- a/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
@@ -1,7 +1,7 @@
 [[HowcanIcreateacustomcomponentorendpoint-HowcanIcreateacustomcomponentorendpoint]]
 = How can I create a custom component or endpoint?
 
-Please read xref:writing-components.adoc[Writing Components] for a
+Please read xref:ROOT:writing-components.adoc[Writing Components] for a
 background in how to implement a new component or endpoint. Its really
 easy to do! :smile:
 
diff --git a/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc b/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
index a147a93..4cafbc4 100644
--- a/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
@@ -47,4 +47,4 @@
 [[HowcanIgetthesourcecode-Buildingthecode]]
 == Building the code
 
-To then build the code see xref:building.adoc[Building].
+To then build the code see xref:ROOT:building.adoc[Building].
diff --git a/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc b/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
index ae96099..224d3f0 100644
--- a/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
@@ -1,14 +1,14 @@
 [[HowcanIstoparoutefromaroute-HowcanIstoparoutefromaroute]]
 = How can I stop a route from a route
 
-The xref:camelcontext.adoc[CamelContext] provides API for managing
+The xref:ROOT:camelcontext.adoc[CamelContext] provides API for managing
 routes at runtime. It has a `stopRoute(id)` and `startRoute(id)`
 methods.
 
 Stopping a route during routing an existing message is a bit tricky. The
-reason for that is Camel will xref:graceful-shutdown.adoc[Graceful
+reason for that is Camel will xref:ROOT:graceful-shutdown.adoc[Graceful
 Shutdown] the route you are stopping. And if you do that while a message
-is being routed the xref:graceful-shutdown.adoc[Graceful Shutdown] will
+is being routed the xref:ROOT:graceful-shutdown.adoc[Graceful Shutdown] will
 try to wait until that message has been processed.
 
 The best practice for stopping a route from a route, is to either:
@@ -43,20 +43,20 @@
 == Alternative solutions
 
 Camel provides another feature for managing routes at runtime which is
-xref:route-policy.adoc[RoutePolicy].
+xref:ROOT:route-policy.adoc[RoutePolicy].
 
-And xref:camelcontext.adoc[CamelContext] also provides API for
+And xref:ROOT:camelcontext.adoc[CamelContext] also provides API for
 suspend/resume of routes, and shutdown as well.
 
 * suspend/resume is faster than stop/start. For example a HTTP server
 will still run but deny any incoming requests.
 Whereas if it was stopped the HTTP listener would have been stopped.
 * shutdown means the route is being removed from
-xref:camelcontext.adoc[CamelContext] and cannot be started again. Its
+xref:ROOT:camelcontext.adoc[CamelContext] and cannot be started again. Its
 also removed from JMX.
 A route must have been stopped prior to be shutdown.
 
-See more details about the xref:lifecycle.adoc[Lifecycle].
+See more details about the xref:ROOT:lifecycle.adoc[Lifecycle].
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc b/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
index 864816c..001b5b3 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
@@ -2,17 +2,17 @@
 = How can I become a committer
 
 First of all you need to get involved and
-xref:contributing.adoc[Contribute] via the mail list, forums, edit the
+xref:ROOT:contributing.adoc[Contribute] via the mail list, forums, edit the
 documentation, work on the issue tracker and submit patches.
 
 Once you're contributing and your work is good, one of our
-xref:team.adoc[Team] may invite you to be a committer (after we've
+xref:ROOT:team.adoc[Team] may invite you to be a committer (after we've
 called a vote). When that happens, if you accept, the following process
 kicks into place...
 
 Note that becoming a committer is not just about submitting some
 patches; its also about helping out on the development and user
-xref:mailing-lists.adoc[Discussion Forums],
+xref:ROOT:mailing-lists.adoc[Discussion Forums],
 helping with documentation and the issue tracker.
 
 [[HowdoIbecomeacommitter-Becomingacommittersteps]]
@@ -34,7 +34,7 @@
 [[HowdoIbecomeacommitter-GettingstartedatApache]]
 == Getting started at Apache
 
-Firstly add yourself to the xref:team.adoc[Team] page
+Firstly add yourself to the xref:ROOT:team.adoc[Team] page
 
 Now go read the instructions on the
 http://www.apache.org/dev/new-committers-guide.html[new committers guide].
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc b/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
index 806b7e9..1ab9065 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
@@ -1,4 +1,4 @@
 [[HowdoIcompilethecode-HowdoIcompilefromthesourcecode]]
 = How do I compile from the source code?
 
-See the xref:building.adoc[Building] page.
+See the xref:ROOT:building.adoc[Building] page.
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
index 009cbfe..7b3c1cf 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
@@ -1,7 +1,7 @@
 [[HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded-HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded]]
 = How do I configure password options on Camel endpoints without the value being encoded?
 
-When you configure Camel endpoints using xref:uris.adoc[URIs] then the
+When you configure Camel endpoints using xref:ROOT:uris.adoc[URIs] then the
 parameter values gets url encoded by default. +
 This can be a problem when you want to configure passwords _as is_.
 
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
index ad46ff0..934744d 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
@@ -1,7 +1,7 @@
 [[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-HowdoIconfigurethemaximumendpointcachesizeforCamelContext]]
 = How do I configure the maximum endpoint cache size for CamelContext?
 
-xref:camelcontext.adoc[CamelContext] will by default cache the last 1000
+xref:ROOT:camelcontext.adoc[CamelContext] will by default cache the last 1000
 used endpoints (based on a LRUCache).
 
 [[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-Configuringcachesize]]
@@ -11,14 +11,14 @@
 
 You can configure the default maximum cache size by setting the
 `Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE` property on
-xref:camelcontext.adoc[CamelContext].
+xref:ROOT:camelcontext.adoc[CamelContext].
 
 [source,java]
 ----
 getCamelContext().getGlobalOptions().put(Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE, "500");
 ----
 
-You need to configure this before xref:camelcontext.adoc[CamelContext]
+You need to configure this before xref:ROOT:camelcontext.adoc[CamelContext]
 is started.
 
 And in Spring XML its done as:
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc b/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc
index 4653a5d..13a90c4 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc
@@ -4,12 +4,12 @@
 If you've created a route and its not doing what you think it is you
 could try using one of these features from version 1.4 onwards:
 
-* xref:tracer.adoc[Tracer] to trace in commons-logging / log4j each step
+* xref:ROOT:tracer.adoc[Tracer] to trace in commons-logging / log4j each step
 that Camel takes
-* xref:debugger.adoc[Debugger] to let you set breakpoints at points in
+* xref:ROOT:debugger.adoc[Debugger] to let you set breakpoints at points in
 the route and examine historic message exchanges
-* xref:debugger.adoc[Debug] from your unit test if you use the Camel
+* xref:ROOT:debugger.adoc[Debug] from your unit test if you use the Camel
 `camel-test` component
 
-Some xref:user-stories.adoc[third party tools] offers Apache Camel route
+Some xref:ROOT:user-stories.adoc[third party tools] offers Apache Camel route
 debugging.
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc b/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
index 6bc6ad3..7630217 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
@@ -9,7 +9,7 @@
 ----
 
 And there is a failure with connecting to the remote FTP server. The
-existing xref:error-handling-in-camel.adoc[Error handling in Camel] is
+existing xref:ROOT:error-handling-in-camel.adoc[Error handling in Camel] is
 based on when a message is *being* routed.
 In this case the error occurs *before* a message has been initiated and
 routed. So how can I control the error handling?
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc b/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
index b22ce8a..aa20088 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.14*
 
-When defining rests in Camel using xref:xml-configuration.adoc[Xml
+When defining rests in Camel using xref:ROOT:xml-configuration.adoc[Xml
 Configuration] you may want to define some rests in other XML files. For
 example you may have many rest services and it may help to maintain the
 application if some of the rests are in separate XML files. You may also
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc b/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
index 3b69317..ff40e4e 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.3*
 
-When defining routes in Camel using xref:xml-configuration.adoc[XML Configuration]
+When defining routes in Camel using xref:ROOT:xml-configuration.adoc[XML Configuration]
 you may want to define some routes in other XML files.
 For example you may have many routes and it may help to maintain the
 application if some of the routes are in separate XML files. You may
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc b/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
index 8e96a59..70fda87 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
@@ -21,6 +21,6 @@
 and it is described in the _Enabling Transacted Consumption_
 section of xref:components::jms-component.adoc[JMS]. To make a session transactional
 set `transacted=true` flag on the JMS endpoint and configure
-a `transactionManager` on the xref:component.adoc[Component] or
-xref:endpoint.adoc[Endpoint].
+a `transactionManager` on the xref:ROOT:component.adoc[Component] or
+xref:ROOT:endpoint.adoc[Endpoint].
 
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc b/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
index 3ead659..bbda15e 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
@@ -1,8 +1,8 @@
 [[HowdoIrestartCamelContext-HowdoIrestartCamelContext]]
 = How do I restart CamelContext?
 
-A xref:camelcontext.adoc[CamelContext] provides operations to control
-its lifecycle, see more at xref:camelcontext.adoc[CamelContext].
+A xref:ROOT:camelcontext.adoc[CamelContext] provides operations to control
+its lifecycle, see more at xref:ROOT:camelcontext.adoc[CamelContext].
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc b/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
index 991f430..0cd11ef 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
@@ -1,8 +1,8 @@
 [[HowdoIreusetheContextTestSupportclassinmyunittests-HowdoIreusetheContextTestSupportclassinmyunittests]]
 = How do I reuse the ContextTestSupport class in my unit tests?
 
-You might want to look at the various xref:testing.adoc[Testing]
-options xref:spring-testing.adoc[Spring Testing] to see if those are better,
+You might want to look at the various xref:ROOT:testing.adoc[Testing]
+options xref:ROOT:spring-testing.adoc[Spring Testing] to see if those are better,
 more powerful options. We see `ContextTestSupport` as an older, less
 powerful option.
 
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc b/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
index 44f7afa..2cf3c5b 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.3*
 
-Some of the Camel xref:component.adoc[components] offers options to
+Some of the Camel xref:ROOT:component.adoc[components] offers options to
 specify a time period, which must be entered in milli second as unit.
 This may be unfriendly to read as a human when the value is large such
 as 45min = 2700000 millis.
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc b/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
index a69d128..8cc3a2a 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
@@ -1,9 +1,9 @@
 [[HodoIspecifywhichmethodtousewhenusingbeansinroutes-HodoIspecifywhichmethodtousewhenusingbeansinroutes]]
 = Ho do I specify which method to use when using beans in routes?
 
-See xref:components::bean-component.adoc[Bean], xref:bean-integration.adoc[Bean Integration]
-and xref:bean-binding.adoc[Bean Binding]
+See xref:components::bean-component.adoc[Bean], xref:ROOT:bean-integration.adoc[Bean Integration]
+and xref:ROOT:bean-binding.adoc[Bean Binding]
 
 However if you have overloaded methods you need to specify which of
 those overloaded method you want to use by specifying parameter type
-qualifiers. See more details at xref:bean-binding.adoc[Bean Binding].
+qualifiers. See more details at xref:ROOT:bean-binding.adoc[Bean Binding].
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
index cfb418a..475aec4 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
@@ -65,7 +65,7 @@
 == Bridge Spring and Camel property placeholders
 
 From Camel 2.10 onwards you can bridge Spring and Camel property
-placeholders, see xref:using-propertyplaceholder.adoc[Using
+placeholders, see xref:ROOT:using-propertyplaceholder.adoc[Using
 PropertyPlaceholder] for more details.
 
 Here is a trick that you can use to define the uri in a property file
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
index 8279134..14c1839 100644
--- a/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
@@ -1,8 +1,8 @@
 [[HowdoIuseURIswithparametersinXML-HowdoIuseURIswithparametersinXML]]
 = How do I use URIs with parameters in XML?
 
-If you try and use one of the Camel xref:uris.adoc[URIs] in an
-xref:xml-configuration.adoc[XML Configuration] using the URI query
+If you try and use one of the Camel xref:ROOT:uris.adoc[URIs] in an
+xref:ROOT:xml-configuration.adoc[XML Configuration] using the URI query
 parameter notation, such as:
 
 [source,xml]
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
index aed4dfc..38dfb73 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
@@ -8,7 +8,7 @@
 xref:why-the-name-camel.adoc[similar beasts]; they're both kinds of
 routing/mediation engines. The main differences are as follows:
 
-* Camel uses a Java xref:dsl.adoc[Domain Specific Language] in addition
+* Camel uses a Java xref:ROOT:dsl.adoc[Domain Specific Language] in addition
   to Spring XML for configuring the routing rules and providing
   xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
   Patterns]
@@ -22,7 +22,7 @@
   underlying transport information & behaviour if its required). See
   xref:how-does-the-camel-api-compare-to.adoc[How does the Camel API
   compare to]
-* Camel supports an implicit xref:type-converter.adoc[Type Converter] in
+* Camel supports an implicit xref:ROOT:type-converter.adoc[Type Converter] in
   the core API to make it simpler to connect components together requiring
   different types of payload & headers
 * Camel uses the https://apache.org/licenses/LICENSE-2.0[Apache 2 License] rather than Mule's more restrictive commercial license
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
index 3f22629..f7876b9 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
@@ -9,7 +9,7 @@
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] and can be used outside of JBI (e.g. just with pure
 xref:components::jms-component.adoc[JMS] or xref:components::mina-component.adoc[MINA]). Also Camel supports a
-xref:dsl.adoc[Java DSL] or xref:spring.adoc[XML configuration].
+xref:ROOT:dsl.adoc[Java DSL] or xref:ROOT:spring.adoc[XML configuration].
 
 [[HowdoesCamelcomparetoServiceMixEIP-ConvertingfromServiceMixEIPtoCamel]]
 == Converting from ServiceMix EIP to Camel
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
index 04fd28c..77a94af 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
@@ -12,7 +12,7 @@
 Camel can be deployed as a component within ServiceMix to provide
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP routing and mediation]
 between existing JBI components together with communicating with any of
-the other Camel xref:component.adoc[Components] along with defining new
+the other Camel xref:ROOT:component.adoc[Components] along with defining new
 JBI components on the NMR. So Camel is similar to the
 xref:how-does-camel-compare-to-servicemix-eip.adoc[ServiceMix EIP
 component].
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
index 65d8dc1..3c7828e 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
@@ -24,7 +24,7 @@
 Patterns] -- having an EIP pattern language implemented in
 xref:ROOT:dsl.adoc[Java] and xref:ROOT:spring.adoc[Spring XML].
 * Camel is designed to work with pretty much all kinds of
-xref:transport.adoc[transport] as well as working with any
-xref:data-format.adoc[Data Format]. When we first looked at Synapse it
+xref:ROOT:transport.adoc[transport] as well as working with any
+xref:ROOT:data-format.adoc[Data Format]. When we first looked at Synapse it
 was based around Axis 2 and WS-* though apparently thats no longer the
 case.
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
index aaceedb..299f281 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
@@ -4,20 +4,20 @@
 There are many times using Camel that a name is used for a bean such as
 using the xref:components::bean-component.adoc[Bean] endpoint or using the
 xref:components:languages:bean-language.adoc[Bean Language] to create a
-xref:expression.adoc[Expression] or xref:predicate.adoc[Predicate] or
-referring to any xref:component.adoc[Component] or
-xref:endpoint.adoc[Endpoint].
+xref:ROOT:expression.adoc[Expression] or xref:ROOT:predicate.adoc[Predicate] or
+referring to any xref:ROOT:component.adoc[Component] or
+xref:ROOT:endpoint.adoc[Endpoint].
 
-Camel uses the xref:registry.adoc[Registry] to resolve names when
+Camel uses the xref:ROOT:registry.adoc[Registry] to resolve names when
 looking up beans or components or endpoints. Typically this will be
-xref:spring.adoc[Spring]; though you can use Camel without Spring in
-which case it will use the xref:jndi.adoc[JNDI] registry implementation.
+xref:ROOT:spring.adoc[Spring]; though you can use Camel without Spring in
+which case it will use the xref:ROOT:jndi.adoc[JNDI] registry implementation.
 
 Lots of test cases in the camel-core module don't use Spring (as
 camel-core explicitly doesn't depend on spring) - though test cases in
 camel-spring do.
 
 So you can just define beans, components or endpoints in your
-xref:registry.adoc[Registry] implementation then you can refer to them
-by name in the xref:endpoint.adoc[Endpoint] URIs or xref:components::bean-component.adoc[Bean]
+xref:ROOT:registry.adoc[Registry] implementation then you can refer to them
+by name in the xref:ROOT:endpoint.adoc[Endpoint] URIs or xref:components::bean-component.adoc[Bean]
 endpoints or xref:components:languages:bean-language.adoc[Bean Language] expressions.
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
index ed83875..8d68a40 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
@@ -11,7 +11,7 @@
 So Camel can route messages to and from xref:components::mail-component.adoc[Mail],
 xref:components::file-component.adoc[File], xref:components::ftp-component.adoc[FTP], xref:components::jpa-component.adoc[JPA],
 xref:components::xmpp-component.adoc[XMPP] other xref:components::jms-component.adoc[JMS] providers and any of the
-other Camel xref:component.adoc[Components] as well as implementating
+other Camel xref:ROOT:component.adoc[Components] as well as implementating
 all of the xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise
 Integration Patterns] such as xref:{eip-vc}:eips:content-based-router-eip.adoc[Content
 Based Router] or xref:{eip-vc}:eips:message-translator.adoc[Message Translator].
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
index 2d7f1ca..5cdaa77 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
@@ -5,7 +5,7 @@
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] inside of the JBI container, routing between existing JBI
 components together with communicating with any of the other Camel
-xref:component.adoc[Components].
+xref:ROOT:component.adoc[Components].
 
 To do this you take your Camel xref:ROOT:spring.adoc[Spring] configuration
 and turn it into a JBI Service Unit using the maven plugin or archetype.
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc
index d170e28..2c9b5e1 100644
--- a/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc
@@ -1,5 +1,5 @@
 [[HowdoesCamelwork-HowdoesCamelwork]]
 = How does Camel work?
 
-Please see the xref:architecture.adoc[Architecture] for details of how
+Please see the xref:ROOT:architecture.adoc[Architecture] for details of how
 things work.
diff --git a/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc b/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
index f7fd707..1aa106c 100644
--- a/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
@@ -9,7 +9,7 @@
 xref:components::cxf-component.adoc[CXF], xref:components::http-component.adoc[HTTP], xref:components::jms-component.adoc[JMS],
 xref:components::mail-component.adoc[Mail], xref:components::xmpp-component.adoc[XMPP] and most other integration
 abstractions. We want to prevent leaky abstractions, so the Camel API
-exposes the underlying APIs so that a xref:processor.adoc[Processor] can
+exposes the underlying APIs so that a xref:ROOT:processor.adoc[Processor] can
 make use of the underlying abstractions if they make sense.
 
 For example:
@@ -38,6 +38,6 @@
 You can probably see a pattern forming now :smile:
 
 For many routing and mediation components and
-xref:processor.adoc[Processor] objects, you maybe don't care about the
+xref:ROOT:processor.adoc[Processor] objects, you maybe don't care about the
 underlying transport and can instead stick to the abstract Camel API.
 But if you need to, the real transport APIs are there for you.
diff --git a/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc b/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
index 220ba71..946b414 100644
--- a/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
+++ b/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
@@ -2,11 +2,11 @@
 = How should I invoke my POJOs or Spring Services?
 
 The various options are described in detail in
-xref:bean-integration.adoc[Bean Integration], in particular the
-xref:bean-binding.adoc[Bean Binding] describes how we invoke a bean
+xref:ROOT:bean-integration.adoc[Bean Integration], in particular the
+xref:ROOT:bean-binding.adoc[Bean Binding] describes how we invoke a bean
 inside a route.
 
-See the xref:pojo-consuming.adoc[POJO Consuming] for examples using
+See the xref:ROOT:pojo-consuming.adoc[POJO Consuming] for examples using
 either the `@Consume` annotation or using the routing DSL:
 
 [source,java]
diff --git a/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc b/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
index d3929da..104e731 100644
--- a/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
+++ b/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
@@ -6,7 +6,7 @@
 inside the ActiveMQ Broker. In which case the
 stand alone broker is already packaged to work with Camel out of the
 box; just add your EIP routing rules to ActiveMQ's
-xref:xml-configuration.adoc[XML Configuration] like the example
+xref:ROOT:xml-configuration.adoc[XML Configuration] like the example
 routing rule which ships with ActiveMQ
 5.x or later. If you want to include some Java routing rules, then just
 add your jar to somewhere inside ActiveMQ's lib directory.
diff --git a/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc b/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
index c9617c6..9bb4b7d 100644
--- a/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
+++ b/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
@@ -66,7 +66,7 @@
 == Use HeaderFilterStrategy
 
 An alternative is that some of the Camel
-xref:component.adoc[Components] supports configuring a custom header
+xref:ROOT:component.adoc[Components] supports configuring a custom header
 filter strategy.
 This allows you to implement the
 `org.apache.camel.spi.HeaderFilterStrategy` interface, where one can
diff --git a/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc b/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
index d1b6bb2..be1d2a5 100644
--- a/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
+++ b/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
@@ -23,7 +23,7 @@
 
 In this case, you must use an EIP (Enterprise Integration Pattern) that
 is capable of computing a dynamic URI using
-an xref:expression.adoc[Expression], such as
+an xref:ROOT:expression.adoc[Expression], such as
 the xref:{eip-vc}:eips:toD-eip.adoc[ToD] or xref:{eip-vc}:eips:recipientList-eip.adoc[Recipient List] EIP pattern.
 
 [TIP]
diff --git a/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc b/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
index 3c8fd42..676d833 100644
--- a/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
@@ -10,6 +10,6 @@
 xref:{eip-vc}:eips:content-based-router-eip.adoc[Content Based Router], routing messages
 between your existing JBI endpoints.
 
-You can also reuse any of the Camel xref:component.adoc[Components]
+You can also reuse any of the Camel xref:ROOT:component.adoc[Components]
 within JBI or expose Camel endpoints as JBI endpoints.
 
diff --git a/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc b/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
index 1617a86..4004a57 100644
--- a/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
+++ b/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
@@ -16,12 +16,12 @@
 traditional bean/property elements
 * we implement a spring BeanPostProcessor to allow POJOs to be injected
 with Camel resources along with powerful
-xref:bean-integration.adoc[Bean Integration] which allows any
+xref:ROOT:bean-integration.adoc[Bean Integration] which allows any
 spring-injected POJO to be used inside Camel along with full support
 for Spring Remoting.
 
 What we've tried to do is implement the
-xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults]
+xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults]
 pattern; namely that you can configure Camel in a
 single XML element (or very small amont of XML) to get going, then you
 can overload default configurations to add more explicit configuration
@@ -41,11 +41,11 @@
 The current mechanism for hooking into other IoC containers
 are:
 
-* xref:injector.adoc[Injector] is used to perform dependency injection
+* xref:ROOT:injector.adoc[Injector] is used to perform dependency injection
 on a type when sing the
-xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control
+xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control
 With Smart Defaults] pattern
-* xref:registry.adoc[Registry] this strategy is used to abstract away
+* xref:ROOT:registry.adoc[Registry] this strategy is used to abstract away
 the ApplicationContext such as to use JNDI or OSGi to lookup services on
 demand
 
diff --git a/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc b/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
index 31243d2..13ea101 100644
--- a/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
+++ b/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
@@ -4,11 +4,11 @@
 Apache Camel offers no IDE out of the box.
 
 You could use your Java IDE for smart completion when creating
-xref:routes.adoc[Java routing rules] via the xref:dsl.adoc[DSL] which
+xref:ROOT:routes.adoc[Java routing rules] via the xref:ROOT:dsl.adoc[DSL] which
 will give you smart completion in Java code.
 Or you can use your XML IDE (with XSD smart completion) to edit the
 xref:ROOT:spring.adoc[routing rules in XML] using the
 xref:ROOT:xml-configuration.adoc[XML Configuration]
 
-Some of the xref:commercial-camel-offerings.adoc[Commercial Companies]
+Some of the xref:ROOT:commercial-camel-offerings.adoc[Commercial Companies]
 offers IDE's and other tooling for Camel.
diff --git a/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc b/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
index f326d0b..1527c44 100644
--- a/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
+++ b/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
@@ -2,24 +2,24 @@
 = Is it possible to start Camel as a standalone application, without embedding it in another application?
 
 Yes, Camel can run standalone or in any container. Running Standalone is
-as simple just to create a xref:camelcontext.adoc[CamelContext], add
+as simple just to create a xref:ROOT:camelcontext.adoc[CamelContext], add
 routes and start it. If you don't want to write your own Java main, you
 could use the one from xref:ROOT:spring.adoc[camel-spring]
 (https://www.javadoc.io/doc/org.apache.camel/camel-spring/current/index.html) also used
-by the xref:camel-maven-plugin.adoc[Camel Maven Plugin].
+by the xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin].
 
 The starting guide is a good place to start: +
-xref:getting-started.adoc[Getting Started]
+xref:ROOT:getting-started.adoc[Getting Started]
 
 And the concrete walk through a plain old java main example: +
-xref:walk-through-an-example.adoc[Walk through an Example]
+xref:ROOT:walk-through-an-example.adoc[Walk through an Example]
 
 The FAQ have some more details: +
 xref:index.adoc[FAQ]
 
 And if you use Maven for your projects Camel has maven tools to boot up
 in standalone mode and quickly run you Camel application: +
-xref:camel-maven-plugin.adoc[Camel Maven Plugin]
+xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin]
 
-This is how you can run the xref:examples.adoc[Examples] that is
+This is how you can run the xref:ROOT:examples.adoc[Examples] that is
 included in the Camel distribution.
diff --git a/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc b/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
index 9da9824..9e78921 100644
--- a/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
+++ b/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
@@ -6,4 +6,4 @@
 tests using different DSL such as Spring XML, Blueprint XML, etc.
 
 End users who need a test kit should use `camel-test`
-JARs instead. See more here xref:testing.adoc[Testing].
+JARs instead. See more here xref:ROOT:testing.adoc[Testing].
diff --git a/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc b/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
index 95ac28c..bee4f72 100644
--- a/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
+++ b/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
@@ -12,7 +12,7 @@
 which means you have IN and optionally OUT messages. This closely maps
 to other APIs such as WS, WSDL, REST, JBI and the likes.
 
-The xref:exchange.adoc[Exchange] API provides two methods to get a
+The xref:ROOT:exchange.adoc[Exchange] API provides two methods to get a
 message, either `getIn` or `getOut`.
 Obviously the `getIn` gets the IN message, and the `getOut` gets the OUT
 message.
@@ -40,7 +40,7 @@
 [[UsinggetInorgetOutmethodsonExchange-UsinggetInorgetOutmethodsonExchange]]
 == Using getIn or getOut methods on Exchange
 
-Now suppose you want to use a Camel xref:processor.adoc[Processor] to
+Now suppose you want to use a Camel xref:ROOT:processor.adoc[Processor] to
 adjust a message. This can be done as follows:
 
 [source,java]
@@ -53,7 +53,7 @@
 ----
 
 This seems intuitive and is what you would expect is the _right_
-approach to change a message from a xref:processor.adoc[Processor].
+approach to change a message from a xref:ROOT:processor.adoc[Processor].
 However there is an big issue -- the `getOut` method will create a new
 xref:{eip-vc}:eips:message.adoc[Message], which means any other information
 from the IN message will not be propagated; which means you will lose
@@ -113,19 +113,19 @@
 ====
 
 Changing the IN message directly is possible in Camel as it doesn't
-mind. Camel will detect that the xref:exchange.adoc[Exchange] has no OUT
+mind. Camel will detect that the xref:ROOT:exchange.adoc[Exchange] has no OUT
 message and therefore use the IN message instead.
 
 [[UsinggetInorgetOutmethodsonExchange-AboutMessageExchangePatternandgetOut]]
 == About Message Exchange Pattern and getOut
 
-If the xref:exchange.adoc[Exchange] is using `InOnly` as the MEP, then
-you may think that the xref:exchange.adoc[Exchange] has no OUT
+If the xref:ROOT:exchange.adoc[Exchange] is using `InOnly` as the MEP, then
+you may think that the xref:ROOT:exchange.adoc[Exchange] has no OUT
 message. But you can still invoke the `getOut` method on
-xref:exchange.adoc[Exchange]; Camel will not barf.
+xref:ROOT:exchange.adoc[Exchange]; Camel will not barf.
 
 So the example code above is possible for any kind of MEP. The MEP is
-_just_ a flag on the xref:exchange.adoc[Exchange] which the Consumer and
+_just_ a flag on the xref:ROOT:exchange.adoc[Exchange] which the Consumer and
 Producer adhere to.
-You can change the MEP on the xref:exchange.adoc[Exchange] using the
+You can change the MEP on the xref:ROOT:exchange.adoc[Exchange] using the
 `setPattern` method. And likewise there is DSL to change it as well.
diff --git a/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc b/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
index 321cbb2..6229708 100644
--- a/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
+++ b/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
@@ -58,7 +58,7 @@
 [[Whatarethedependencies-OtherComponents]]
 == Other Components
 
-All the other xref:component.adoc[Components] have a range of 3rd party
+All the other xref:ROOT:component.adoc[Components] have a range of 3rd party
 .jars they depend on. They are listed in the maven pom files which files
 they require.
 
diff --git a/docs/user-manual/modules/faq/pages/what-is-a-router.adoc b/docs/user-manual/modules/faq/pages/what-is-a-router.adoc
index b21ca94..9d2b1c3 100644
--- a/docs/user-manual/modules/faq/pages/what-is-a-router.adoc
+++ b/docs/user-manual/modules/faq/pages/what-is-a-router.adoc
@@ -5,19 +5,19 @@
 what exactly is a router and what does it do?
 
 Basically a router just consumes xref:{eip-vc}:eips:message.adoc[Message] exchanges
-from some xref:endpoint.adoc[Endpoint], then sends them on to some other
-xref:endpoint.adoc[Endpoint] using some kind of
+from some xref:ROOT:endpoint.adoc[Endpoint], then sends them on to some other
+xref:ROOT:endpoint.adoc[Endpoint] using some kind of
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns].
 
 For example a router could implement the
 xref:{eip-vc}:eips:content-based-router-eip.adoc[Content Based Router] pattern, to route
 from an endpoint to one or more destination endpoints using a
-xref:predicate.adoc[Predicate] based on the message content.
+xref:ROOT:predicate.adoc[Predicate] based on the message content.
 
 Typically a route or router consists of one or more consumers; either an
 xref:{eip-vc}:eips:eventDrivenConsumer-eip.adoc[Event Driven Consumer] or a
 xref:{eip-vc}:eips:polling-consumer.adoc[Polling Consumer] or possibly a
 xref:{eip-vc}:eips:transactional-client.adoc[Transactional Client]. Then there are one
-or more xref:processor.adoc[Processor] instances which could send the
+or more xref:ROOT:processor.adoc[Processor] instances which could send the
 message to one or more endpoints.
diff --git a/docs/user-manual/modules/faq/pages/what-is-camel.adoc b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
index 156ec30..7de3d77e 100644
--- a/docs/user-manual/modules/faq/pages/what-is-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
@@ -6,32 +6,32 @@
 Patterns].
 
 Camel empowers you to define routing and mediation rules in a variety of
-domain-specific languages, including a Java-based xref:dsl.adoc[Fluent
-API], xref:spring.adoc[Spring] or
-xref:using-osgi-blueprint-with-camel.adoc[Blueprint]
-xref:xml-configuration.adoc[XML Configuration] files.
+domain-specific languages, including a Java-based xref:ROOT:dsl.adoc[Fluent
+API], xref:ROOT:spring.adoc[Spring] or
+xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint]
+xref:ROOT:xml-configuration.adoc[XML Configuration] files.
 This means you get smart completion of
 routing rules in your IDE, whether in a Java or XML editor.
 
-Apache Camel uses xref:uris.adoc[URIs] to work directly with any kind of
-xref:transport.adoc[Transport] or messaging model such as
+Apache Camel uses xref:ROOT:uris.adoc[URIs] to work directly with any kind of
+xref:ROOT:transport.adoc[Transport] or messaging model such as
 xref:components::http-component.adoc[HTTP], xref:components::activemq-component.adoc[ActiveMQ], xref:components::jms-component.adoc[JMS],
 JBI, SCA, xref:components::mina-component.adoc[MINA] or xref:components::cxf-component.adoc[CXF], as
-well as pluggable xref:component.adoc[Components] and
-xref:data-format.adoc[Data Format] options. Apache Camel is a small
+well as pluggable xref:ROOT:component.adoc[Components] and
+xref:ROOT:data-format.adoc[Data Format] options. Apache Camel is a small
 library with minimal xref:what-are-the-dependencies.adoc[dependencies]
 for easy embedding in any Java application. Apache Camel lets you work
-with the same xref:exchange.adoc[API] regardless which kind of
-xref:transport.adoc[Transport] is used -- so learn the API once and you
+with the same xref:ROOT:exchange.adoc[API] regardless which kind of
+xref:ROOT:transport.adoc[Transport] is used -- so learn the API once and you
 can interact with all the xref:components::index.adoc[Components] provided
 out-of-box.
 
-Apache Camel provides support for xref:bean-binding.adoc[Bean Binding]
+Apache Camel provides support for xref:ROOT:bean-binding.adoc[Bean Binding]
 and seamless integration with popular frameworks such as
 xref:components:others:cdi.adoc[CDI], xref:ROOT:spring.adoc[Spring] and
 xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint].
 Camel also has extensive support for
-xref:testing.adoc[unit testing] your routes.
+xref:ROOT:testing.adoc[unit testing] your routes.
 
 The following projects can leverage Apache Camel as a routing and
 mediation engine:
diff --git a/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc b/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
index d61f19f..32dcfc8 100644
--- a/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
+++ b/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
@@ -5,4 +5,4 @@
 
 We regularly test Camel on Linux, Windows and OS X. If you have a
 platform that is not listed contact one of the companies that provide
-xref:support.adoc[commercial support].
+xref:ROOT:support.adoc[commercial support].
diff --git a/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc b/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
index 6f8e5ffd..306ec53 100644
--- a/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
+++ b/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
@@ -55,7 +55,7 @@
 
 But the code will still not compile. The reason is we have stretched how
 far we can take the good old Java language in terms of
-xref:dsl.adoc[DSL]. In a more modern language such as
+xref:ROOT:dsl.adoc[DSL]. In a more modern language such as
 Scala or Groovy you would be able
 to let it be stack based, so the `.end()` will pop the last type of the
 stack, and you would return back to the scope of the
diff --git a/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc b/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
index 87a0174..75ae072 100644
--- a/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
+++ b/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
@@ -3,7 +3,7 @@
 
 How do I configure password options on Camel endpoints without the value being encoded?
 
-When you configure Camel endpoints using xref:uris.adoc[URIs] then the
+When you configure Camel endpoints using xref:ROOT:uris.adoc[URIs] then the
 parameter values gets url encoded by default.
 This can be a problem when you want to configure passwords _as is_.
 
diff --git a/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc b/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
index 5b4ec7a..43597e2 100644
--- a/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
+++ b/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
@@ -2,7 +2,7 @@
 = Why does Camel use too many threads with `ProducerTemplate`?
 
 A common reason is creating a new `ProducerTemplate` inside a `Processor` or
-xref:bean-integration.adoc[bean method invocation].
+xref:ROOT:bean-integration.adoc[bean method invocation].
 
 You are not meant to create a `ProducerTemplate` for each message
 invocation; you are meant to create a single instance on startup and
diff --git a/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc b/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
index 70fc1c2..8163788 100644
--- a/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
+++ b/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
@@ -14,16 +14,16 @@
 
 Well, this is really a
 http://en.wikipedia.org/wiki/Chicken_or_the_egg["chicken or the egg"]
-question. The Camel xref:error-handling-in-camel.adoc[error handler]
+question. The Camel xref:ROOT:error-handling-in-camel.adoc[error handler]
 (e.g., in the routes) only applies when a message is being routed by the
 routing engine.
 Before this happens, a consumer must successfully receive a message,
-create a Camel xref:exchange.adoc[Exchange], populate the
-xref:exchange.adoc[Exchange] with message details (e.g., body and
-headers), and then pass the xref:exchange.adoc[Exchange] to the routing
+create a Camel xref:ROOT:exchange.adoc[Exchange], populate the
+xref:ROOT:exchange.adoc[Exchange] with message details (e.g., body and
+headers), and then pass the xref:ROOT:exchange.adoc[Exchange] to the routing
 engine. Only at this point can the routing error handler deal with
 exceptions occurring. Before this point, any error handling is really
-xref:component.adoc[component]-specific.
+xref:ROOT:component.adoc[component]-specific.
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc b/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
index e163db7..bf8b271 100644
--- a/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
+++ b/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
@@ -1,8 +1,8 @@
 [[WhydoesuseOriginalMessagewitherrorhandlernotworkasexpected-WhydoesuseOriginalMessagewitherrorhandlernotworkasexpected]]
 = Why does useOriginalMessage with error handler not work as expected?
 
-If you use the xref:exception-clause.adoc[useOriginalMessage] option
-from the Camel xref:exception-clause.adoc[Error Handler] then it matters
+If you use the xref:ROOT:exception-clause.adoc[useOriginalMessage] option
+from the Camel xref:ROOT:exception-clause.adoc[Error Handler] then it matters
 if you use this with xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP]s such as:
 
 * xref:{eip-vc}:eips:recipientList-eip.adoc[Recipient List]
diff --git a/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc b/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
index 4ac8e19..61e5a81 100644
--- a/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
+++ b/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
@@ -14,6 +14,6 @@
 A number of Camel components supports and use streaming types out of the
 box. For example the HTTP related components, CXF, etc.
 
-Camel offers a functionality xref:stream-caching.adoc[Stream caching];
+Camel offers a functionality xref:ROOT:stream-caching.adoc[Stream caching];
 that caches the stream, so it can be re-readable. By enabling this
 cache, the message body would no longer be empty.
diff --git a/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc b/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
index 5e6ecc5..1e3c34d 100644
--- a/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
@@ -2,12 +2,12 @@
 = Why did you choose the name Camel?
 
 * it stands for Concise Application Message Exchange Language (i.e. the
-Java xref:dsl.adoc[DSL] for routing)
+Java xref:ROOT:dsl.adoc[DSL] for routing)
 * a Camel can carry http://www.fao.org/sd/EGdirect/EGan0006.htm[4 times
 the load] of other beasts of burden
 * a Camel can travel for great distances without water; similarly a
 Camel does not require bucket loads of XML as you can use a pure Java
-xref:dsl.adoc[DSL]
+xref:ROOT:dsl.adoc[DSL]
 * some members of the team used to love Camel cigarettes!
 * it's short, simple and easy to remember name
 * very fast, even when the going gets tough!