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

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

commit 7ab8f67d93191157f18fe03e94dd8e7c04c0ed6c
Author: nayananga@acerubuntu18.04 <nayanangamuhandi...@gmail.com>
AuthorDate: Sat Jun 29 23:04:37 2019 +0530

    ran yarn gulp inside camel/docs
---
 .../modules/ROOT/pages/ahc-component.adoc          |  6 ++---
 .../modules/ROOT/pages/ahc-ws-component.adoc       |  4 ++--
 .../modules/ROOT/pages/amqp-component.adoc         |  2 +-
 .../ROOT/pages/atmosphere-websocket-component.adoc |  6 ++---
 .../modules/ROOT/pages/atom-component.adoc         |  2 +-
 docs/components/modules/ROOT/pages/azure.adoc      |  4 ++--
 .../modules/ROOT/pages/bean-component.adoc         |  4 ++--
 .../modules/ROOT/pages/class-component.adoc        |  8 +++----
 .../modules/ROOT/pages/controlbus-component.adoc   | 12 +++++-----
 .../modules/ROOT/pages/crypto-dataformat.adoc      |  2 +-
 .../modules/ROOT/pages/cxfrs-component.adoc        |  2 +-
 .../modules/ROOT/pages/dataformat-component.adoc   |  2 +-
 .../modules/ROOT/pages/dataset-component.adoc      |  6 ++---
 .../modules/ROOT/pages/dataset-test-component.adoc | 14 +++++------
 .../modules/ROOT/pages/direct-component.adoc       | 10 ++++----
 .../modules/ROOT/pages/direct-vm-component.adoc    | 10 ++++----
 .../modules/ROOT/pages/disruptor-component.adoc    |  4 ++--
 .../modules/ROOT/pages/ejb-component.adoc          | 12 +++++-----
 .../modules/ROOT/pages/elsql-component.adoc        |  4 ++--
 .../modules/ROOT/pages/exec-component.adoc         |  2 +-
 .../modules/ROOT/pages/file-component.adoc         | 28 +++++++++++-----------
 .../modules/ROOT/pages/flatpack-component.adoc     |  2 +-
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |  2 +-
 .../modules/ROOT/pages/ftps-component.adoc         |  2 +-
 .../modules/ROOT/pages/groovy-language.adoc        |  4 ++--
 .../modules/ROOT/pages/grpc-component.adoc         |  2 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  | 22 ++++++++---------
 .../modules/ROOT/pages/hdfs2-component.adoc        |  2 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         | 12 +++++-----
 .../modules/ROOT/pages/http4-component.adoc        |  6 ++---
 docs/components/modules/ROOT/pages/ignite.adoc     | 16 ++++++-------
 docs/components/modules/ROOT/pages/jasypt.adoc     | 16 ++++++-------
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |  4 ++--
 .../modules/ROOT/pages/jdbc-component.adoc         |  8 +++----
 .../modules/ROOT/pages/jetty-component.adoc        |  8 +++----
 .../modules/ROOT/pages/jgroups-component.adoc      |  4 ++--
 .../modules/ROOT/pages/jgroups-raft-component.adoc |  2 +-
 .../modules/ROOT/pages/jing-component.adoc         |  2 +-
 .../modules/ROOT/pages/jms-component.adoc          | 22 ++++++++---------
 .../modules/ROOT/pages/jmx-component.adoc          |  2 +-
 .../modules/ROOT/pages/jpa-component.adoc          |  2 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |  2 +-
 .../pages/kubernetes-config-maps-component.adoc    |  2 +-
 .../pages/kubernetes-deployments-component.adoc    |  2 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |  2 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |  2 +-
 .../pages/kubernetes-namespaces-component.adoc     |  2 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |  2 +-
 ...rnetes-persistent-volumes-claims-component.adoc |  2 +-
 .../kubernetes-persistent-volumes-component.adoc   |  2 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |  2 +-
 ...bernetes-replication-controllers-component.adoc |  2 +-
 .../kubernetes-resources-quota-component.adoc      |  2 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |  2 +-
 .../kubernetes-service-accounts-component.adoc     |  2 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |  2 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc | 24 +++++++++----------
 .../modules/ROOT/pages/language-component.adoc     | 12 +++++-----
 .../modules/ROOT/pages/log-component.adoc          |  2 +-
 .../modules/ROOT/pages/mina2-component.adoc        |  8 +++----
 .../modules/ROOT/pages/mock-component.adoc         | 20 ++++++++--------
 .../ROOT/pages/mongodb-gridfs-component.adoc       |  2 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     | 12 +++++-----
 .../modules/ROOT/pages/msv-component.adoc          |  2 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |  4 ++--
 .../modules/ROOT/pages/nagios-component.adoc       |  6 ++---
 .../modules/ROOT/pages/netty4-component.adoc       |  6 ++---
 .../modules/ROOT/pages/netty4-http-component.adoc  | 14 +++++------
 .../ROOT/pages/openshift-builds-component.adoc     |  2 +-
 docs/components/modules/ROOT/pages/openstack.adoc  | 12 +++++-----
 .../modules/ROOT/pages/properties-component.adoc   | 24 +++++++++----------
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |  2 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |  2 +-
 .../modules/ROOT/pages/quartz2-component.adoc      | 16 ++++++-------
 .../modules/ROOT/pages/quickfix-component.adoc     |  2 +-
 .../modules/ROOT/pages/rest-component.adoc         |  2 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc | 14 +++++------
 .../modules/ROOT/pages/rss-component.adoc          |  2 +-
 .../ROOT/pages/sap-netweaver-component.adoc        |  2 +-
 .../modules/ROOT/pages/scheduler-component.adoc    |  6 ++---
 .../modules/ROOT/pages/scp-component.adoc          |  2 +-
 .../modules/ROOT/pages/seda-component.adoc         | 16 ++++++-------
 .../modules/ROOT/pages/servlet-component.adoc      | 16 ++++++-------
 .../modules/ROOT/pages/sftp-component.adoc         |  2 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |  2 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |  4 ++--
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |  4 ++--
 .../modules/ROOT/pages/solr-component.adoc         |  2 +-
 .../modules/ROOT/pages/spring-security.adoc        |  4 ++--
 docs/components/modules/ROOT/pages/spring.adoc     |  6 ++---
 .../modules/ROOT/pages/sql-component.adoc          |  2 +-
 .../modules/ROOT/pages/stub-component.adoc         |  8 +++----
 .../modules/ROOT/pages/syslog-dataformat.adoc      |  4 ++--
 .../modules/ROOT/pages/test-blueprint.adoc         |  2 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   | 10 ++++----
 .../components/modules/ROOT/pages/test-spring.adoc |  6 ++---
 .../modules/ROOT/pages/timer-component.adoc        |  6 ++---
 docs/components/modules/ROOT/pages/twitter.adoc    | 22 ++++++++---------
 .../modules/ROOT/pages/undertow-component.adoc     |  2 +-
 .../modules/ROOT/pages/validator-component.adoc    |  4 ++--
 .../modules/ROOT/pages/vm-component.adoc           | 10 ++++----
 .../modules/ROOT/pages/websocket-component.adoc    |  6 ++---
 .../modules/ROOT/pages/xpath-language.adoc         | 12 +++++-----
 .../modules/ROOT/pages/xslt-component.adoc         |  2 +-
 104 files changed, 333 insertions(+), 333 deletions(-)

diff --git a/docs/components/modules/ROOT/pages/ahc-component.adoc 
b/docs/components/modules/ROOT/pages/ahc-component.adoc
index a0b25f3..490b0b2 100644
--- a/docs/components/modules/ROOT/pages/ahc-component.adoc
+++ b/docs/components/modules/ROOT/pages/ahc-component.adoc
@@ -474,6 +474,6 @@ Spring DSL based configuration of endpoint
 * Endpoint
 * Getting Started
 
-* <<jetty-component,Jetty>>
-* <<http-component,HTTP>>
-* <<http4-component,HTTP4>>
+* xref:jetty-component.adoc[Jetty]
+* xref:http-component.adoc[HTTP]
+* xref:http4-component.adoc[HTTP4]
diff --git a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc 
b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
index 531eef4..adf57df 100644
--- a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
+++ b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
@@ -7,7 +7,7 @@ The AHC-WS component provides Websocket
 based endpoints for a client communicating with
 external servers over Websocket (as a client opening a websocket
 connection to an external server). +
-The component uses the <<ahc-component,AHC>> component that in turn uses
+The component uses the xref:ahc-component.adoc[AHC] component that in turn uses
 the 
 https://github.com/AsyncHttpClient/async-http-client[Async Http Client] 
 library.
@@ -207,4 +207,4 @@ And the equivalent Spring sample:
 * Getting Started
 
 * xref:../../../../camel-ahc/src/main/docs/readme.adoc[AHC]
-* <<atmosphere-websocket-component,Atmosphere-Websocket>>
+* xref:atmosphere-websocket-component.adoc[Atmosphere-Websocket]
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc 
b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 7de0a34..5994810 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -426,7 +426,7 @@ AMQPConnectionDetails amqpConnection() {
 }
 ----
 
-You can also rely on the <<properties-component,Camel properties>> to read
+You can also rely on the xref:properties-component.adoc[Camel properties] to 
read
 the AMQP connection details. Factory
 method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
 properties in a Kubernetes-like convention, just as demonstrated on the
diff --git 
a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc 
b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
index 05294db..216189e 100644
--- a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
+++ b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
@@ -7,7 +7,7 @@ The Atmosphere-Websocket component provides Websocket
 based endpoints for a servlet communicating with
 external clients over Websocket (as a servlet accepting websocket
 connections from external clients). +
-The component uses the <<servlet-component,SERVLET>> component and uses
+The component uses the xref:servlet-component.adoc[SERVLET] component and uses
 the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
 support the Websocket transport in various Servlet containers (e..g.,
 Jetty, Tomcat, ...).
@@ -215,7 +215,7 @@ And the equivalent Spring sample:
 * Endpoint
 * Getting Started
 
-* <<servlet-component,SERVLET>>
-* <<ahc-ws-component,AHC-WS>>
+* xref:servlet-component.adoc[SERVLET]
+* xref:ahc-ws-component.adoc[AHC-WS]
 *
 
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
diff --git a/docs/components/modules/ROOT/pages/atom-component.adoc 
b/docs/components/modules/ROOT/pages/atom-component.adoc
index faf91ae..a6311bc 100644
--- a/docs/components/modules/ROOT/pages/atom-component.adoc
+++ b/docs/components/modules/ROOT/pages/atom-component.adoc
@@ -188,4 +188,4 @@ in any Container or using Spring.
 * Endpoint
 * Getting Started
 
-* <<rss-component,RSS>>
+* xref:rss-component.adoc[RSS]
diff --git a/docs/components/modules/ROOT/pages/azure.adoc 
b/docs/components/modules/ROOT/pages/azure.adoc
index 584aa55..fdf9a8b 100644
--- a/docs/components/modules/ROOT/pages/azure.adoc
+++ b/docs/components/modules/ROOT/pages/azure.adoc
@@ -9,6 +9,6 @@ provide connectivity to Azure services from Camel.
 |=======================================================================
 |Azure Service |Camel Component |Component Description
 
-|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] 
|<<azure-blob-component,Azure-Blob>> |Supports storing and retrieving of blobs
-|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] 
|<<azure-queue-component,Azure-Queue>> |Supports storing and retrieving of 
messages in the queues
+|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] 
|xref:azure-blob-component.adoc[Azure-Blob] |Supports storing and retrieving of 
blobs
+|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] 
|xref:azure-queue-component.adoc[Azure-Queue] |Supports storing and retrieving 
of messages in the queues
 |=======================================================================
diff --git a/docs/components/modules/ROOT/pages/bean-component.adoc 
b/docs/components/modules/ROOT/pages/bean-component.adoc
index a535fe1..f965353 100644
--- a/docs/components/modules/ROOT/pages/bean-component.adoc
+++ b/docs/components/modules/ROOT/pages/bean-component.adoc
@@ -105,7 +105,7 @@ And the same route using Spring DSL:
 
 === Bean as endpoint
 
-Camel also supports invoking <<bean-component,Bean>> as an Endpoint. In the
+Camel also supports invoking xref:bean-component.adoc[Bean] as an Endpoint. In 
the
 route below:
 
 What happens is that when the exchange is routed to the `myBean` Camel
@@ -118,7 +118,7 @@ type and storing the output of the method on the Exchange 
Out body.
 
 === Java DSL bean syntax
 
-Java DSL comes with syntactic sugar for the <<bean-component,Bean>>
+Java DSL comes with syntactic sugar for the xref:bean-component.adoc[Bean]
 component. Instead of specifying the bean explicitly as the endpoint
 (i.e. `to("bean:beanName")`) you can use the following syntax:
 
diff --git a/docs/components/modules/ROOT/pages/class-component.adoc 
b/docs/components/modules/ROOT/pages/class-component.adoc
index 5f92c35..498030b 100644
--- a/docs/components/modules/ROOT/pages/class-component.adoc
+++ b/docs/components/modules/ROOT/pages/class-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.4*
 
 The Class component binds beans to Camel message exchanges. It works
-in the same way as the <<bean-component,Bean>> component but instead of
+in the same way as the xref:bean-component.adoc[Bean] component but instead of
 looking up beans from a Registry it creates the bean
 based on the class name.
 
@@ -74,7 +74,7 @@ with the following path and query parameters:
 
 === Using
 
-You simply use the *class* component just as the <<bean-component,Bean>>
+You simply use the *class* component just as the xref:bean-component.adoc[Bean]
 component but by specifying the fully qualified classname instead. +
  For example to use the `MyFooBean` you have to do as follows:
 
@@ -117,7 +117,7 @@ Which will lookup a bean from the Registry with the
 id `foo` and invoke the `setCool` method on the created instance of the
 `MyPrefixBean` class.
 
-TIP:See more details at the <<bean-component,Bean>> component as the *class*
+TIP:See more details at the xref:bean-component.adoc[Bean] component as the 
*class*
 component works in much the same way.
 
 === See Also
@@ -127,6 +127,6 @@ component works in much the same way.
 * Endpoint
 * Getting Started
 
-* <<bean-component,Bean>>
+* xref:bean-component.adoc[Bean]
 * Bean Binding
 * Bean Integration
diff --git a/docs/components/modules/ROOT/pages/controlbus-component.adoc 
b/docs/components/modules/ROOT/pages/controlbus-component.adoc
index 8325196..0a605aa 100644
--- a/docs/components/modules/ROOT/pages/controlbus-component.adoc
+++ b/docs/components/modules/ROOT/pages/controlbus-component.adoc
@@ -22,7 +22,7 @@ by using a Java API from the `CamelContext`, or from the
 here.
 
 The ControlBus component provides easy management of Camel
-applications based on the <<controlbus-component,Control Bus>> EIP
+applications based on the xref:controlbus-component.adoc[Control Bus] EIP
 pattern. 
 For example, by sending a message to an Endpoint
 you can control the lifecycle of routes, or gather performance
@@ -44,7 +44,7 @@ use.
 
 |`route` |To control routes using the `routeId` and `action` parameter.
 
-|`language` |Allows you to specify a <<language-component,Language>> to use for
+|`language` |Allows you to specify a xref:language-component.adoc[Language] to 
use for
 evaluating the message body. If there is any result from the evaluation,
 then the result is put in the message body.
 |===
@@ -185,7 +185,7 @@ String xml = 
template.requestBody("controlbus:route?action=stats", null, String.
 
 === Using Simple language
 
-You can use the <<simple-language,Simple>> language with the control bus,
+You can use the xref:simple-language.adoc[Simple] language with the control 
bus,
 for example to stop a specific route, you can send a message to the
 `"controlbus:language:simple"` endpoint containing the following
 message:
@@ -205,8 +205,8 @@ String status = 
template.requestBody("controlbus:language:simple", "${camelConte
 
 It's easier to use the `route` command to control lifecycle of
 routes. The `language` command allows you to execute a language script
-that has stronger powers such as <<groovy-language,Groovy>> or to some
-extend the <<simple-language,Simple>> language.
+that has stronger powers such as xref:groovy-language.adoc[Groovy] or to some
+extend the xref:simple-language.adoc[Simple] language.
 
 For example to shutdown Camel itself you can do:
 
@@ -219,4 +219,4 @@ We use `async=true` to stop Camel asynchronously as 
otherwise we
 would be trying to stop Camel while it was in-flight processing the
 message we sent to the control bus component.
 
-TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
+TIP: You can also use other languages such as 
xref:groovy-language.adoc[Groovy], etc.
diff --git a/docs/components/modules/ROOT/pages/crypto-dataformat.adoc 
b/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
index 46bb009..b20a89c 100644
--- a/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
@@ -322,7 +322,7 @@ or with spring.
 
 ### Dependencies
 
-To use the <<crypto-component,Crypto>> dataformat in your camel routes you
+To use the xref:crypto-component.adoc[Crypto] dataformat in your camel routes 
you
 need to add the following dependency to your pom.
 
 [source,xml]
diff --git a/docs/components/modules/ROOT/pages/cxfrs-component.adoc 
b/docs/components/modules/ROOT/pages/cxfrs-component.adoc
index 39ab7ed..13c0083 100644
--- a/docs/components/modules/ROOT/pages/cxfrs-component.adoc
+++ b/docs/components/modules/ROOT/pages/cxfrs-component.adoc
@@ -330,7 +330,7 @@ export the resources classes as a REST service. And we 
leverage the
 http://cxf.apache.org/docs/invokers.html[CXF Invoker
 API] to turn a REST request into a normal Java object method
 invocation.
- Unlike the <<restlet-component,Camel Restlet>> component, you don't need
+ Unlike the xref:restlet-component.adoc[Camel Restlet] component, you don't 
need
 to specify the URI template within your endpoint, CXF takes care of the
 REST request URI to resource class method mapping according to the
 JSR-311 specification. All you need to do in Camel is delegate this
diff --git a/docs/components/modules/ROOT/pages/dataformat-component.adoc 
b/docs/components/modules/ROOT/pages/dataformat-component.adoc
index f6cf52d..d523fa6 100644
--- a/docs/components/modules/ROOT/pages/dataformat-component.adoc
+++ b/docs/components/modules/ROOT/pages/dataformat-component.adoc
@@ -100,7 +100,7 @@ The component supports 3 options, which are listed below.
 
 === Samples
 
-For example to use the <<jaxb-dataformat,JAXB>> xref:data-format.adoc[Data
+For example to use the xref:jaxb-dataformat.adoc[JAXB] 
xref:data-format.adoc[Data
 Format] we can do as follows:
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/dataset-component.adoc 
b/docs/components/modules/ROOT/pages/dataset-component.adoc
index 22c265b..12a364c 100644
--- a/docs/components/modules/ROOT/pages/dataset-component.adoc
+++ b/docs/components/modules/ROOT/pages/dataset-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 1.3*
 
 Testing of distributed and asynchronous processing is
-notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
-and <<dataset-component,DataSet>> endpoints work great with the
+notoriously difficult. The xref:mock-component,Mock>>, 
<<mock-component.adoc[Test]
+and xref:dataset-component.adoc[DataSet] endpoints work great with the
 Camel Testing Framework to simplify your unit and
 integration testing using
 xref:enterprise-integration-patterns.adoc[Enterprise Integration
@@ -18,7 +18,7 @@ 
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/compon
 instances] both as a source of messages and as a way to assert that the
 data set is received.
 
-Camel will use the <<log-component,throughput logger>> when sending
+Camel will use the xref:log-component.adoc[throughput logger] when sending
 dataset's.
 
 === URI format
diff --git a/docs/components/modules/ROOT/pages/dataset-test-component.adoc 
b/docs/components/modules/ROOT/pages/dataset-test-component.adoc
index e26f957..94915e5 100644
--- a/docs/components/modules/ROOT/pages/dataset-test-component.adoc
+++ b/docs/components/modules/ROOT/pages/dataset-test-component.adoc
@@ -4,27 +4,27 @@
 *Available as of Camel version 1.3*
 
 Testing of distributed and asynchronous processing is
-notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
-and <<dataset-component,DataSet>> endpoints work great with the
+notoriously difficult. The xref:mock-component,Mock>>, 
<<mock-component.adoc[Test]
+and xref:dataset-component.adoc[DataSet] endpoints work great with the
 Camel Testing Framework to simplify your unit and
 integration testing using
 xref:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] and Camel's large range of Components
 together with the powerful Bean Integration.
 
-The *dataset-test* component extends the <<mock-component,Mock>> component to
+The *dataset-test* component extends the xref:mock-component.adoc[Mock] 
component to
 support pulling messages from another endpoint on startup to set the
-expected message bodies on the underlying <<mock-component,Mock>> endpoint.
+expected message bodies on the underlying xref:mock-component.adoc[Mock] 
endpoint.
 That is, you use the test endpoint in a route and messages arriving on
 it will be implicitly compared to some expected messages extracted from
 some other location.
 
 So you can use, for example, an expected set of message bodies as files.
-This will then set up a properly configured <<mock-component,Mock>>
+This will then set up a properly configured xref:mock-component.adoc[Mock]
 endpoint, which is only valid if the received messages match the number
 of expected messages and their message payloads are equal.
 
-The <<test-component,Test>> component is provided
+The xref:test-component.adoc[Test] component is provided
 directly in the camel-core.
 
 === URI format
@@ -142,7 +142,7 @@ 
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/compon
 method], your test case will perform the necessary assertions.
 
 To see how you can set other expectations on the test endpoint, see the
-<<mock-component,Mock>> component.
+xref:mock-component.adoc[Mock] component.
 
 === See Also
 
diff --git a/docs/components/modules/ROOT/pages/direct-component.adoc 
b/docs/components/modules/ROOT/pages/direct-component.adoc
index 61e4c5d..4e0af95 100644
--- a/docs/components/modules/ROOT/pages/direct-component.adoc
+++ b/docs/components/modules/ROOT/pages/direct-component.adoc
@@ -9,11 +9,11 @@ consumers when a producer sends a message exchange. +
 camel context.
 
 TIP: *Asynchronous*
-The <<seda-component,SEDA>> component provides asynchronous invocation of
+The xref:seda-component.adoc[SEDA] component provides asynchronous invocation 
of
 any consumers when a producer sends a message exchange.
 
 TIP: *Connection to other camel contexts*
-The <<vm-component,VM>> component provides connections between Camel
+The xref:vm-component.adoc[VM] component provides connections between Camel
 contexts as long they run in the same *JVM*.
 
 === URI format
@@ -148,10 +148,10 @@ And the sample using spring DSL:
 </route>
 ----
 
-See also samples from the <<seda-component,SEDA>> component, how they can
+See also samples from the xref:seda-component.adoc[SEDA] component, how they 
can
 be used together.
 
 === See Also
 
-* <<seda-component,SEDA>>
-* <<vm-component,VM>>
+* xref:seda-component.adoc[SEDA]
+* xref:vm-component.adoc[VM]
diff --git a/docs/components/modules/ROOT/pages/direct-vm-component.adoc 
b/docs/components/modules/ROOT/pages/direct-vm-component.adoc
index 37d7838..2465ca9 100644
--- a/docs/components/modules/ROOT/pages/direct-vm-component.adoc
+++ b/docs/components/modules/ROOT/pages/direct-vm-component.adoc
@@ -8,8 +8,8 @@ any consumers in the JVM when a producer sends a message 
exchange. +
  This endpoint can be used to connect existing routes in the same camel
 context, as well from other camel contexts in the *same* JVM.
 
-This component differs from the <<direct-component,Direct>> component in
-that <<direct-vm-component,Direct-VM>> supports communication across
+This component differs from the xref:direct-component.adoc[Direct] component in
+that xref:direct-vm-component.adoc[Direct-VM] supports communication across
 CamelContext instances - so you can use this mechanism to communicate
 across web applications (provided that camel-core.jar is on the
 system/boot classpath).
@@ -140,6 +140,6 @@ And the sample using spring DSL:
 
 === See Also
 
-* <<direct-component,Direct>>
-* <<seda-component,SEDA>>
-* <<vm-component,VM>>
+* xref:direct-component.adoc[Direct]
+* xref:seda-component.adoc[SEDA]
+* xref:vm-component.adoc[VM]
diff --git a/docs/components/modules/ROOT/pages/disruptor-component.adoc 
b/docs/components/modules/ROOT/pages/disruptor-component.adoc
index 77fe80f..1415079 100644
--- a/docs/components/modules/ROOT/pages/disruptor-component.adoc
+++ b/docs/components/modules/ROOT/pages/disruptor-component.adoc
@@ -8,10 +8,10 @@ http://www.eecs.harvard.edu/~mdw/proj/seda/[SEDA] behavior 
much as the
 standard SEDA Component, but utilizes a
 https://github.com/LMAX-Exchange/disruptor[Disruptor] instead of a
 
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[BlockingQueue]
-utilized by the standard <<seda-component,SEDA>>. Alternatively, a
+utilized by the standard xref:seda-component.adoc[SEDA]. Alternatively, a
 
 *disruptor-vm:* endpoint is supported by this component, providing an
-alternative to the standard <<vm-component,VM>>. As with the SEDA
+alternative to the standard xref:vm-component.adoc[VM]. As with the SEDA
 component, buffers of the *disruptor:* endpoints are only visible within
 a *single* CamelContext and no support is
 provided for persistence or recovery. The buffers of the
diff --git a/docs/components/modules/ROOT/pages/ejb-component.adoc 
b/docs/components/modules/ROOT/pages/ejb-component.adoc
index e04cb90..4e37fbd 100644
--- a/docs/components/modules/ROOT/pages/ejb-component.adoc
+++ b/docs/components/modules/ROOT/pages/ejb-component.adoc
@@ -137,7 +137,7 @@ public class GreaterImpl implements GreaterLocal {
 
 In this example we want to invoke the `hello` method on the EJB. Since
 this example is based on an unit test using Apache OpenEJB we have to
-set a `JndiContext` on the <<ejb-component,EJB>> component with the OpenEJB
+set a `JndiContext` on the xref:ejb-component.adoc[EJB] component with the 
OpenEJB
 settings.
 
 [source,java]
@@ -175,10 +175,10 @@ from("direct:start")
 *In a real application server*
 
 In a real application server you most likely do not have to setup a
-`JndiContext` on the <<ejb-component,EJB>> component as it will create a
+`JndiContext` on the xref:ejb-component.adoc[EJB] component as it will create a
 default `JndiContext` on the same JVM as the application server, which
 usually allows it to access the JNDI registry and lookup the
-<<ejb-component,EJB>>s. However if you need to access a application server on 
a remote JVM or
+xref:ejb-component.adoc[EJB]s. However if you need to access a application 
server on a remote JVM or
 the likes, you have to prepare the properties beforehand.
 
 #### Using Spring XML
@@ -186,7 +186,7 @@ the likes, you have to prepare the properties beforehand.
 And this is the same example using Spring XML instead:
 
 Again since this is based on an unit test we need to setup the
-<<ejb-component,EJB>> component:
+xref:ejb-component.adoc[EJB] component:
 
 [source,XML]
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -201,7 +201,7 @@ Again since this is based on an unit test we need to setup 
the
 </p:properties>
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
+Before we are ready to use xref:ejb-component.adoc[EJB] in the Camel routes:
 
 [source,XML]
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -220,6 +220,6 @@ Before we are ready to use <<ejb-component,EJB>> in the 
Camel routes:
 * Component
 * Endpoint
 * Getting Started
-* <<bean-component,Bean>>
+* xref:bean-component.adoc[Bean]
 * Bean Binding
 * Bean Integration
diff --git a/docs/components/modules/ROOT/pages/elsql-component.adoc 
b/docs/components/modules/ROOT/pages/elsql-component.adoc
index 22f69fe..61c253a 100644
--- a/docs/components/modules/ROOT/pages/elsql-component.adoc
+++ b/docs/components/modules/ROOT/pages/elsql-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.16*
 
 The ELSQL component is an extension to the existing
-<<sql-component,SQL Component>> that uses
+xref:sql-component.adoc[SQL Component] that uses
 https://github.com/OpenGamma/ElSql[ElSql] to define the SQL queries. 
 
 This component uses `spring-jdbc` behind the scenes for the actual SQL
@@ -40,7 +40,7 @@ The parameters to the SQL queries are named parameters in the 
elsql
 mapping files, and maps to corresponding keys from the Camel message, in
 the given precedence:
 
-1. from message body if <<simple-language,Simple>>
+1. from message body if xref:simple-language.adoc[Simple]
 expression.
 
 2. from message body if its a `java.util.Map`
diff --git a/docs/components/modules/ROOT/pages/exec-component.adoc 
b/docs/components/modules/ROOT/pages/exec-component.adoc
index 4b4da69..0a2c999 100644
--- a/docs/components/modules/ROOT/pages/exec-component.adoc
+++ b/docs/components/modules/ROOT/pages/exec-component.adoc
@@ -184,7 +184,7 @@ If an out file is specified (in the endpoint via `outFile` 
or the
 message headers via `ExecBinding.EXEC_COMMAND_OUT_FILE`), converters
 will return the content of the out file. If no out file is used, then
 this component will convert the stdout of the process to the target
-type. For more details, please refer to the <<exec-component,usage examples>> 
below.
+type. For more details, please refer to the xref:exec-component.adoc[usage 
examples] below.
 
 ### Usage examples
 
diff --git a/docs/components/modules/ROOT/pages/file-component.adoc 
b/docs/components/modules/ROOT/pages/file-component.adoc
index b6406bb..0d39623 100644
--- a/docs/components/modules/ROOT/pages/file-component.adoc
+++ b/docs/components/modules/ROOT/pages/file-component.adoc
@@ -47,7 +47,7 @@ that Camel thinks the file is not locked by another process 
and start
 consuming it. Therefore you have to do you own investigation what suites
 your environment. To help with this Camel provides different `readLock`
 options and `doneFileName` option that you can use. See also the section
-<<File2-Consumingfilesfromfolderswhereothersdropfilesdirectly,Consuming files 
from folders where others drop files directly>>.
+xref:File2-Consumingfilesfromfolderswhereothersdropfilesdirectly.adoc[Consuming
 files from folders where others drop files directly].
 ====
 
 === URI Options
@@ -237,7 +237,7 @@ bean completes, and thus the route is completed, the file 
consumer will
 perform the move operation and move the file to the `.done` sub-folder.
 
 The *move* and the *preMove* options are considered as a directory name
-(though if you use an expression such as <<file-language,File Language>>, or 
<<simple-language,Simple>> then the result of the expression
+(though if you use an expression such as xref:file-language,File Language>>, 
or <<simple-language.adoc[Simple] then the result of the expression
 evaluation is the file name to be used - eg if you set
 
 [source]
@@ -245,7 +245,7 @@ evaluation is the file name to be used - eg if you set
 move=../backup/copy-of-${file:name}
 ----
 
-then that's using the <<file-language,File Language>> which we
+then that's using the xref:file-language.adoc[File Language] which we
 use return the file name to be used), which can be either relative or
 absolute. If relative, the directory is created as a sub-folder from
 within the folder where the file was consumed.
@@ -283,10 +283,10 @@ processed and after it's processed, it's moved to the 
`.done` folder.
 
 The *move* and *preMove* options
 are Expression-based, so we have the full power of
-the <<file-language,File Language>> to do advanced configuration
+the xref:file-language.adoc[File Language] to do advanced configuration
 of the directory and name pattern. +
  Camel will, in fact, internally convert the directory name you enter
-into a <<file-language,File Language>> expression. So when we
+into a xref:file-language.adoc[File Language] expression. So when we
 enter `move=.done` Camel will convert this into:
 `${``file:parent``}/.done/${``file:onlyname`}. This is only done if
 Camel detects that you have not provided a $\{ } in the option value
@@ -309,7 +309,7 @@ choice. For example to move the files in an error folder 
with a
 timestamp you can use
 
`moveFailed=/error/${``file:name.noext``}-${date:now:yyyyMMddHHmmssSSS}.${``file:ext`}.
 
-See more examples at <<file-language,File Language>>
+See more examples at xref:file-language.adoc[File Language]
 
 === Message Headers
 
@@ -323,7 +323,7 @@ The following headers are supported by this component:
 
 |`CamelFileName` |Specifies the name of the file to write (relative to the 
endpoint
 directory). This name can be a `String`; a `String` with a
-<<file-language,File Language>> or <<simple-language,Simple>>
+xref:file-language,File Language>> or <<simple-language.adoc[Simple]
 expression; or an Expression object. If it's
 `null` then Camel will auto-generate a filename based on the message
 unique ID.
@@ -530,8 +530,8 @@ 
from("direct:report").to("file:target/reports/?fileName=report.txt");
 === Filename Expression
 
 Filename can be set either using the *expression* option or as a
-string-based <<file-language,File Language>> expression in the
-`CamelFileName` header. See the <<file-language,File Language>>
+string-based xref:file-language.adoc[File Language] expression in the
+`CamelFileName` header. See the xref:file-language.adoc[File Language]
 for syntax and samples.
 
 [[File2-Consumingfilesfromfolderswhereothersdropfilesdirectly]]
@@ -814,7 +814,7 @@ today's date as a sub-folder name:
 from("file://inbox?move=backup/${date:now:yyyyMMdd}/${file:name}").to("...");
 ----
 
-See <<file-language,File Language>> for more samples.
+See xref:file-language.adoc[File Language] for more samples.
 
 === Avoiding reading the same file more than once (idempotent consumer)
 
@@ -1011,7 +1011,7 @@ Registry for a bean with the ID, `mySorter`.
 ==== Sorting using sortBy
 
 Camel supports pluggable sorting strategies. This strategy it to use the
-<<file-language,File Language>> to configure the sorting. The
+xref:file-language.adoc[File Language] to configure the sorting. The
 `sortBy` option is configured as follows:
 
 [source]
@@ -1035,7 +1035,7 @@ This will sort by file name, you can reverse the order by 
prefixing
 sortBy=reverse:file:name
 ----
 
-As we have the full power of <<file-language,File Language>> we
+As we have the full power of xref:file-language.adoc[File Language] we
 can use some of the other parameters, so if we want to sort by file size
 we do:
 
@@ -1079,7 +1079,7 @@ sortBy=file:modified;file:name
 Now there is an issue here, can you spot it? Well the modified timestamp
 of the file is too fine as it will be in milliseconds, but what if we
 want to sort by date only and then subgroup by name? +
- Well as we have the true power of <<file-language,File Language>> we can use 
its date command that supports patterns. So this
+ Well as we have the true power of xref:file-language.adoc[File Language] we 
can use its date command that supports patterns. So this
 can be solved as:
 
 [source]
@@ -1170,6 +1170,6 @@ problems.
 
 === See Also
 
-* <<file-language,File Language>>
+* xref:file-language.adoc[File Language]
 * FTP
 * Polling Consumer
diff --git a/docs/components/modules/ROOT/pages/flatpack-component.adoc 
b/docs/components/modules/ROOT/pages/flatpack-component.adoc
index b7cb0d8..b21aa21 100644
--- a/docs/components/modules/ROOT/pages/flatpack-component.adoc
+++ b/docs/components/modules/ROOT/pages/flatpack-component.adoc
@@ -255,7 +255,7 @@ easy Bean Integration
 
 ### Flatpack DataFormat
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack 
data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
diff --git a/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc 
b/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
index 2df15ed..8a2065a 100644
--- a/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.1*
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack 
data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
diff --git a/docs/components/modules/ROOT/pages/ftps-component.adoc 
b/docs/components/modules/ROOT/pages/ftps-component.adoc
index 48ffb64..575ae79 100644
--- a/docs/components/modules/ROOT/pages/ftps-component.adoc
+++ b/docs/components/modules/ROOT/pages/ftps-component.adoc
@@ -19,7 +19,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 ### URI Options
 
diff --git a/docs/components/modules/ROOT/pages/groovy-language.adoc 
b/docs/components/modules/ROOT/pages/groovy-language.adoc
index 0181cde..cc62bba 100644
--- a/docs/components/modules/ROOT/pages/groovy-language.adoc
+++ b/docs/components/modules/ROOT/pages/groovy-language.adoc
@@ -135,7 +135,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |Function 
with a `resolve` method to make it easier to use
-Camels <<properties-component,Properties>> component from scripts. See
+Camels xref:properties-component.adoc[Properties] component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -154,7 +154,7 @@ header on the Camel message with the key 
`CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the <<properties-component,Properties>> component from a
+If you need to use the xref:properties-component.adoc[Properties] component 
from a
 script to lookup property placeholders, then its a bit cumbersome to do
 so. 
 For example to set a header name myHeader with a value from a property
diff --git a/docs/components/modules/ROOT/pages/grpc-component.adoc 
b/docs/components/modules/ROOT/pages/grpc-component.adoc
index 123dbc1..baefd4b 100644
--- a/docs/components/modules/ROOT/pages/grpc-component.adoc
+++ b/docs/components/modules/ROOT/pages/grpc-component.adoc
@@ -319,4 +319,4 @@ https://www.xolstice.org/protobuf-maven-plugin[Maven 
Protocol Buffers Plugin]
 * Configuring Camel
 * Component
 * Endpoint
-* <<protobuf-dataformat,Protocol Buffers Data Format>>
+* xref:protobuf-dataformat.adoc[Protocol Buffers Data Format]
diff --git a/docs/components/modules/ROOT/pages/hazelcast.adoc 
b/docs/components/modules/ROOT/pages/hazelcast.adoc
index 98a9da5..2890734 100644
--- a/docs/components/modules/ROOT/pages/hazelcast.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast.adoc
@@ -31,17 +31,17 @@ for this component:
 
 ### Hazelcast components
 See followings for each component usage:
-* <<hazelcast-map-component,map>>
-* <<hazelcast-multimap-component,multimap>>
-* <<hazelcast-queue-component,queue>>
-* <<hazelcast-topic-component,topic>>
-* <<hazelcast-list-component,list>>
-* <<hazelcast-seda-component,seda>>
-* <<hazelcast-set-component,set>>
-* <<hazelcast-atomicvalue-component,atomic number>>
-* <<hazelcast-instance-component,cluster support (instance)>>
-* <<hazelcast-replicatedmap-component,replicatedmap>> 
-* <<hazelcast-ringbuffer-component,ringbuffer>> 
+* xref:hazelcast-map-component.adoc[map]
+* xref:hazelcast-multimap-component.adoc[multimap]
+* xref:hazelcast-queue-component.adoc[queue]
+* xref:hazelcast-topic-component.adoc[topic]
+* xref:hazelcast-list-component.adoc[list]
+* xref:hazelcast-seda-component.adoc[seda]
+* xref:hazelcast-set-component.adoc[set]
+* xref:hazelcast-atomicvalue-component.adoc[atomic number]
+* xref:hazelcast-instance-component.adoc[cluster support (instance)]
+* xref:hazelcast-replicatedmap-component.adoc[replicatedmap] 
+* xref:hazelcast-ringbuffer-component.adoc[ringbuffer] 
 
 
 
diff --git a/docs/components/modules/ROOT/pages/hdfs2-component.adoc 
b/docs/components/modules/ROOT/pages/hdfs2-component.adoc
index 81d117e..4f295ab 100644
--- a/docs/components/modules/ROOT/pages/hdfs2-component.adoc
+++ b/docs/components/modules/ROOT/pages/hdfs2-component.adoc
@@ -249,7 +249,7 @@ split strategy.
 
 ### Controlling to close file stream
 
-When using the <<hdfs2-component,HDFS2>> producer *without* a split
+When using the xref:hdfs2-component.adoc[HDFS2] producer *without* a split
 strategy, then the file output stream is by default closed after the
 write. However you may want to keep the stream open, and only explicitly
 close the stream later. For that you can use the header
diff --git a/docs/components/modules/ROOT/pages/hl7-dataformat.adoc 
b/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
index e13dac1..1951951 100644
--- a/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
@@ -9,12 +9,12 @@ v2 messages] using the http://hl7api.sourceforge.net[HAPI 
library].
 
 This component supports the following:
 
-* HL7 MLLP codec for <<mina2-component,Mina>>
-* HL7 MLLP codec for <<netty4-component,Netty4>>
+* HL7 MLLP codec for xref:mina2-component.adoc[Mina]
+* HL7 MLLP codec for xref:netty4-component.adoc[Netty4]
 * Type Converter from/to HAPI and String
 * HL7 DataFormat using the HAPI library
 * Even more ease-of-use as it's integrated well with the
-<<mina2-component,camel-mina2>> component.
+xref:mina2-component.adoc[camel-mina2] component.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -35,8 +35,8 @@ HL7 is often used with the HL7 MLLP protocol, which is a text 
based TCP
 socket based protocol. This component ships with a Mina and Netty4 Codec
 that conforms to the MLLP protocol so you can easily expose an HL7
 listener accepting HL7 requests over the TCP transport layer. To expose
-a HL7 listener service, the <<mina2-component,camel-mina2>> or
-<<netty4-component,camel-netty4>> component is used with the
+a HL7 listener service, the xref:mina2-component.adoc[camel-mina2] or
+xref:netty4-component.adoc[camel-netty4] component is used with the
 `HL7MLLPCodec` (mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
 (Netty4).
 
@@ -209,7 +209,7 @@ String patientId = 
msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
 
 === HL7 DataFormat
 
-The <<hl7-dataformat,HL7>> component ships with a HL7 data format that can
+The xref:hl7-dataformat.adoc[HL7] component ships with a HL7 data format that 
can
 be used to marshal or unmarshal HL7 model objects.
 
 // dataformat options: START
diff --git a/docs/components/modules/ROOT/pages/http4-component.adoc 
b/docs/components/modules/ROOT/pages/http4-component.adoc
index ee7f655..c1481c9 100644
--- a/docs/components/modules/ROOT/pages/http4-component.adoc
+++ b/docs/components/modules/ROOT/pages/http4-component.adoc
@@ -44,7 +44,7 @@ You can append query options to the URI in the following 
format,
 You can only produce to endpoints generated by the HTTP4 component.
 Therefore it should never be used as input into your Camel Routes. To
 bind/expose an HTTP endpoint via a HTTP server as input to a Camel
-route, use the <<jetty-component,Jetty Component>> instead.
+route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
 ### Http4 Component Options
 
@@ -711,10 +711,10 @@ public class HttpContextFactory {
 [[HTTP4-UsingdifferentSSLContextParameters]]
 Using different SSLContextParameters
 
-The <<http4-component,HTTP4>> component only support one instance of
+The xref:http4-component.adoc[HTTP4] component only support one instance of
 `org.apache.camel.support.jsse.SSLContextParameters` per component. If you
 need to use 2 or more different instances, then you need to setup
-multiple <<http4-component,HTTP4>> components as shown below. Where we have
+multiple xref:http4-component.adoc[HTTP4] components as shown below. Where we 
have
 2 components, each using their own instance of `sslContextParameters`
 property.
 
diff --git a/docs/components/modules/ROOT/pages/ignite.adoc 
b/docs/components/modules/ROOT/pages/ignite.adoc
index ca027ec..00f72e4 100644
--- a/docs/components/modules/ROOT/pages/ignite.adoc
+++ b/docs/components/modules/ROOT/pages/ignite.adoc
@@ -8,13 +8,13 @@ image:apache-ignite.png[]
 
 This component offers seven endpoints to cover much of Ignite's functionality:
 
-* <<ignite-cache-component,Ignite Cache>>.
-* <<ignite-compute-component,Ignite Compute>>.
-* <<ignite-messaging-component,Ignite Messaging>>.
-* <<ignite-events-component,Ignite Events>>.
-* <<ignite-set-component,Ignite Sets>>.
-* <<ignite-queue-component,Ignite Queues>>.
-* <<ignite-idgen-component,Ignite ID Generator>>.
+* xref:ignite-cache-component.adoc[Ignite Cache].
+* xref:ignite-compute-component.adoc[Ignite Compute].
+* xref:ignite-messaging-component.adoc[Ignite Messaging].
+* xref:ignite-events-component.adoc[Ignite Events].
+* xref:ignite-set-component.adoc[Ignite Sets].
+* xref:ignite-queue-component.adoc[Ignite Queues].
+* xref:ignite-idgen-component.adoc[Ignite ID Generator].
 
 To use this component, add the following dependency to your pom.xml:
 
@@ -29,7 +29,7 @@ To use this component, add the following dependency to your 
pom.xml:
 
 [IMPORTANT,title=Running in OSGi]
 ====
-If running in an OSGi container, please don't miss the 
<<Ignite-OsgiSupport,OSGi Support>> section below.
+If running in an OSGi container, please don't miss the 
xref:Ignite-OsgiSupport.adoc[OSGi Support] section below.
 ====
 
 
diff --git a/docs/components/modules/ROOT/pages/jasypt.adoc 
b/docs/components/modules/ROOT/pages/jasypt.adoc
index df07c12..aa4c43f 100644
--- a/docs/components/modules/ROOT/pages/jasypt.adoc
+++ b/docs/components/modules/ROOT/pages/jasypt.adoc
@@ -4,7 +4,7 @@
 
 http://www.jasypt.org/[Jasypt] is a simplified encryption library which
 makes encryption and decryption easy. Camel integrates with Jasypt to
-allow sensitive information in <<properties-component,Properties>> files to
+allow sensitive information in xref:properties-component.adoc[Properties] 
files to
 be encrypted. By dropping *`camel-jasypt`* on the classpath those
 encrypted values will automatically be decrypted on-the-fly by Camel.
 This ensures that human eyes can't easily spot sensitive information
@@ -97,7 +97,7 @@ Decrypted text: tiger
 ---------------------
 
 The idea is then to use those encrypted values in your
-<<properties-component,Properties>> files. Notice how the password value is
+xref:properties-component.adoc[Properties] files. Notice how the password 
value is
 encrypted and the value has the tokens surrounding `ENC(value here)`
 
 TIP: When running jasypt tooling, if you come across 
`java.lang.NoClassDefFoundError: 
org/jasypt/encryption/pbe/StandardPBEStringEncryptor` this means you have to 
include jasypt{version}.jar in your classpath. Example of adding jar to 
classpath may be copying jasypt{version}.jar to $JAVA_HOME\jre\lib\ext if you 
are going to run as `java -jar ...`. The latter may be adding 
jasypt{version}.jar to classpath using `-cp`, in that case you should provide 
main class to execute as eg: `java -cp  [...]
@@ -154,7 +154,7 @@ The `password` option is then a matter of defining as 
follows:
 
 In Java DSL you need to configure Jasypt as a
 `JasyptPropertiesParser` instance and set it on the
-<<properties-component,Properties>> component as show below:
+xref:properties-component.adoc[Properties] component as show below:
 
 The properties file `myproperties.properties` then contain the encrypted
 value, such as shown below. Notice how the password value is encrypted
@@ -163,7 +163,7 @@ and the value has the tokens surrounding `ENC(value here)`
 ### Example with Spring XML
 
 In Spring XML you need to configure the `JasyptPropertiesParser` which
-is shown below. Then the Camel <<properties-component,Properties>>
+is shown below. Then the Camel xref:properties-component.adoc[Properties]
 component is told to use `jasypt` as the properties parser, which means
 Jasypt has its chance to decrypt values looked up in
 the properties.
@@ -184,7 +184,7 @@ the properties.
 </bean>
 
-----------------------------------------------------------------------------------------------------------
 
-The <<properties-component,Properties>> component can also be inlined
+The xref:properties-component.adoc[Properties] component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer to
 Jasypt.
@@ -214,7 +214,7 @@ Jasypt.
 
 In Blueprint XML you need to configure
 the `JasyptPropertiesParser` which is shown below. Then the
-Camel <<properties-component,Properties>> component is told to
+Camel xref:properties-component.adoc[Properties] component is told to
 use `jasypt` as the properties parser, which
 means Jasypt has its chance to decrypt values looked
 up in the properties.
@@ -254,7 +254,7 @@ up in the properties.
 </blueprint>
 
----------------------------------------------------------------------------------------------------------------
 
-The <<properties-component,Properties>> component can also be inlined
+The xref:properties-component.adoc[Properties] component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer
 to Jasypt.
@@ -289,7 +289,7 @@ to Jasypt.
 ### See Also
 
 * Security
-* <<properties-component,Properties>>
+* xref:properties-component.adoc[Properties]
 * http://activemq.apache.org/encrypted-passwords.html[Encrypted
 passwords in ActiveMQ] - ActiveMQ has a similar feature as this
 `camel-jasypt` component
diff --git a/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc 
b/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
index 82dd07a..bb61d2e 100644
--- a/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
@@ -232,7 +232,7 @@ In this Spring DSL we have defined to use `iso-8859-1` as 
the encoding:
 
 *Available as of Camel 2.11*
 
-When marshalling using <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> 
then
+When marshalling using xref:jaxb-dataformat,JAXB>> or 
<<jaxb-dataformat.adoc[SOAP] then
 the JAXB implementation will automatic assign namespace prefixes, such
 as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer
 to a map which contains the desired mapping.
@@ -254,7 +254,7 @@ namespace "http://www.mycompany.com/foo/2"; is not using any 
prefix.
   </util:map>
 -----------------------------------------------------------------------
 
-To use this in <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> you refer 
to
+To use this in xref:jaxb-dataformat,JAXB>> or <<jaxb-dataformat.adoc[SOAP] you 
refer to
 this map, using the `namespacePrefixRef` attribute as shown below. Then
 Camel will lookup in the Registry a `java.util.Map`
 with the id "myMap", which was what we defined above.
diff --git a/docs/components/modules/ROOT/pages/jdbc-component.adoc 
b/docs/components/modules/ROOT/pages/jdbc-component.adoc
index 08818c6..9d9fbe2 100644
--- a/docs/components/modules/ROOT/pages/jdbc-component.adoc
+++ b/docs/components/modules/ROOT/pages/jdbc-component.adoc
@@ -6,7 +6,7 @@
 The JDBC component enables you to access databases through JDBC, where
 SQL queries (SELECT) and operations (INSERT, UPDATE, etc) are sent in
 the message body. This component uses the standard JDBC API, unlike the
-<<sql-component,SQL Component>> component, which uses
+xref:sql-component.adoc[SQL Component] component, which uses
 spring-jdbc.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -171,7 +171,7 @@ type.
 *Available as of Camel 2.10*
 
 If you insert data using SQL INSERT, then the RDBMS may support auto
-generated keys. You can instruct the <<jdbc-component,JDBC>> producer to
+generated keys. You can instruct the xref:jdbc-component.adoc[JDBC] producer to
 return the generated keys in headers. +
  To do that set the header `CamelRetrieveGeneratedKeys=true`. Then the
 generated keys will be provided as headers with the keys listed in the
@@ -241,8 +241,8 @@ from("direct:hello")
 === Sample - Polling the database every minute
 
 If we want to poll a database using the JDBC component, we need to
-combine it with a polling scheduler such as the <<timer-component,Timer>>
-or <<quartz-component,Quartz>> etc. In the following example, we retrieve
+combine it with a polling scheduler such as the 
xref:timer-component.adoc[Timer]
+or xref:quartz-component.adoc[Quartz] etc. In the following example, we 
retrieve
 data from the database every 60 seconds:
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/jetty-component.adoc 
b/docs/components/modules/ROOT/pages/jetty-component.adoc
index eba8fb4..8c8d5b3 100644
--- a/docs/components/modules/ROOT/pages/jetty-component.adoc
+++ b/docs/components/modules/ROOT/pages/jetty-component.adoc
@@ -227,7 +227,7 @@ The component supports 35 options, which are listed below.
 
 === Message Headers
 
-Camel uses the same message headers as the <<http-component,HTTP>>
+Camel uses the same message headers as the xref:http-component.adoc[HTTP]
 component. 
 It also uses (Exchange.HTTP_CHUNKED,CamelHttpChunked)
 header to turn on or turn off the chuched encoding on the camel-jetty
@@ -283,8 +283,8 @@ Jetty component will copy the HTTP request parameter, `one` 
to the
 exchange's `in.header`. We can then use the `simple` language to route
 exchanges that contain this header to a specific endpoint and all others
 to another. If we used a language more powerful than
-<<simple-language,Simple>> (such as <<el-language,EL>> or
-<<ognl-language,OGNL>>) we could also test for the parameter value and do
+xref:simple-language,Simple>> (such as <<el-language.adoc[EL] or
+xref:ognl-language.adoc[OGNL]) we could also test for the parameter value and 
do
 routing based on the header value as well.
 
 === Session Support
@@ -626,7 +626,7 @@ comma-separated list of bean IDs.
 === How to return a custom HTTP 500 reply message
 
 You may want to return a custom reply message when something goes wrong,
-instead of the default reply message Camel <<jetty-component,Jetty>>
+instead of the default reply message Camel xref:jetty-component.adoc[Jetty]
 replies with. +
  You could use a custom `HttpBinding` to be in control of the message
 mapping, but often it may be easier to use Camel's
diff --git a/docs/components/modules/ROOT/pages/jgroups-component.adoc 
b/docs/components/modules/ROOT/pages/jgroups-component.adoc
index 20fa34a..aaee27e 100644
--- a/docs/components/modules/ROOT/pages/jgroups-component.adoc
+++ b/docs/components/modules/ROOT/pages/jgroups-component.adoc
@@ -209,7 +209,7 @@ method. The expression created by this factory method will 
return given
 delay value only if the Camel context is in the state different than
 `started`. This expression is particularly useful if you would like to
 use JGroups component for keeping singleton (master) route within the
-cluster. <<controlbus-component,Control Bus>> `start` command
+cluster. xref:controlbus-component.adoc[Control Bus] `start` command
 won't initialize the singleton route if the Camel Context hasn't been
 yet started. So you need to delay a startup of the master route, to be
 sure that it has been initialized after the Camel Context startup.
@@ -284,7 +284,7 @@ mockEndpoint.assertIsSatisfied();
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
 of the slaves will be elected as a new master and started. In this
-particular example we want to keep singleton <<jetty-component,jetty>>
+particular example we want to keep singleton xref:jetty-component.adoc[jetty]
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
diff --git a/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc 
b/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
index 2d568af..efda4a9 100644
--- a/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
+++ b/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
@@ -196,7 +196,7 @@ 
from("jgroups-raft:clusterName?enableRoleChangeEvents=true").to(mock:mockEndpoin
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
 of the slaves will be elected as a new master and started. In this
-particular example we want to keep singleton <<jetty-component,jetty>>
+particular example we want to keep singleton xref:jetty-component.adoc[jetty]
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
diff --git a/docs/components/modules/ROOT/pages/jing-component.adoc 
b/docs/components/modules/ROOT/pages/jing-component.adoc
index 9a4eb6c..7bb9fef 100644
--- a/docs/components/modules/ROOT/pages/jing-component.adoc
+++ b/docs/components/modules/ROOT/pages/jing-component.adoc
@@ -24,7 +24,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<msv-component,MSV>> component can also support RelaxNG XML
+Note that the xref:msv-component.adoc[MSV] component can also support RelaxNG 
XML
 syntax.
 
 ### URI format
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc 
b/docs/components/modules/ROOT/pages/jms-component.adoc
index e53c9e9..aed022e 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -33,7 +33,7 @@ component.
 *Transacted and caching*
 
 See section _Transactions and Cache Levels_ below if you are using
-transactions with <<jms-component,JMS>> as it can impact performance.
+transactions with xref:jms-component.adoc[JMS] as it can impact performance.
 ====
 
 [NOTE]
@@ -690,9 +690,9 @@ the documentation.
 
 #### Using JMS as a Dead Letter Queue storing Exchange
 
-Normally, when using <<jms-component,JMS>> as the transport, it only
+Normally, when using xref:jms-component.adoc[JMS] as the transport, it only
 transfers the body and headers as the payload. If you want to use
-<<jms-component,JMS>> with a xref:dead-letter-channel.adoc[Dead Letter
+xref:jms-component.adoc[JMS] with a xref:dead-letter-channel.adoc[Dead Letter
 Channel], using a JMS queue as the Dead Letter Queue, then normally the
 caused Exception is not stored in the JMS message. You can, however, use
 the `transferExchange` option on the JMS dead letter queue to instruct
@@ -728,7 +728,7 @@ You can use JMS to store the cause error message or to 
store a custom
 body, which you can initialize yourself. The following example uses the
 Message Translator EIP to do a
 transformation on the failed exchange before it is moved to the
-<<jms-component,JMS>> dead letter queue:
+xref:jms-component.adoc[JMS] dead letter queue:
 
 [source,java]
 
--------------------------------------------------------------------------------------------------
@@ -1306,7 +1306,7 @@ reply queues instead.
 ### Synchronizing clocks between senders and receivers
 
 When doing messaging between systems, its desirable that the systems
-have synchronized clocks. For example when sending a <<jms-component,JMS>>
+have synchronized clocks. For example when sending a 
xref:jms-component.adoc[JMS]
 message, then you can set a time to live value on the message. Then the
 receiver can inspect this value, and determine if the message is already
 expired, and thus drop the message instead of consume and process it.
@@ -1319,18 +1319,18 @@ plugin] to synchronize clocks.
 
 Read first above about synchronized clocks.
 
-When you do request/reply (InOut) over <<jms-component,JMS>> with Camel
+When you do request/reply (InOut) over xref:jms-component.adoc[JMS] with Camel
 then Camel uses a timeout on the sender side, which is default 20
 seconds from the `requestTimeout` option. You can control this by
 setting a higher/lower value. However the time to live value is still
-set on the <<jms-component,JMS>> message being send. So that requires the
+set on the xref:jms-component.adoc[JMS] message being send. So that requires 
the
 clocks to be synchronized between the systems. If they are not, then you
 may want to disable the time to live value being set. This is now
 possible using the `disableTimeToLive` option from *Camel 2.8* onwards.
 So if you set this option to `disableTimeToLive=true`, then Camel does
-*not* set any time to live value when sending <<jms-component,JMS>>
+*not* set any time to live value when sending xref:jms-component.adoc[JMS]
 messages. *But* the request timeout is still active. So for example if
-you do request/reply over <<jms-component,JMS>> and have disabled time to
+you do request/reply over xref:jms-component.adoc[JMS] and have disabled time 
to
 live, then Camel will still use a timeout by 20 seconds (the
 `requestTimeout` option). That option can of course also be configured.
 So the two options `requestTimeout` and `disableTimeToLive` gives you
@@ -1373,7 +1373,7 @@ from("direct:someWhere")
   .to("bean:processReply");
 
----------------------------------------------------------------------------------------
 
-When you do fire and forget (InOut) over <<jms-component,JMS>> with Camel
+When you do fire and forget (InOut) over xref:jms-component.adoc[JMS] with 
Camel
 then Camel by default does *not* set any time to live value on the
 message. You can configure a value by using the `timeToLive` option. For
 example to indicate a 5 sec., you set `timeToLive=5000`. The option
@@ -1478,7 +1478,7 @@ we wait for a return reply:
 
 ### Sending an InOnly message and keeping the JMSReplyTo header
 
-When sending to a <<jms-component,JMS>> destination using *camel-jms* the
+When sending to a xref:jms-component.adoc[JMS] destination using *camel-jms* 
the
 producer will use the MEP to detect if its _InOnly_ or _InOut_ messaging.
 However there can be times where you want to send an _InOnly_ message but
 keeping the `JMSReplyTo` header. To do so you have to instruct Camel to
diff --git a/docs/components/modules/ROOT/pages/jmx-component.adoc 
b/docs/components/modules/ROOT/pages/jmx-component.adoc
index 1e949d9..a6284e1 100644
--- a/docs/components/modules/ROOT/pages/jmx-component.adoc
+++ b/docs/components/modules/ROOT/pages/jmx-component.adoc
@@ -15,7 +15,7 @@ endif::[]
 Apache Camel has extensive support for JMX to allow you to monitor and
 control the Camel managed objects with a JMX client.
 
-Camel also provides a <<jmx-component,JMX>> component that allows you to
+Camel also provides a xref:jmx-component.adoc[JMX] component that allows you to
 subscribe to MBean notifications. This page is about how to manage and
 monitor Camel using JMX.
 
diff --git a/docs/components/modules/ROOT/pages/jpa-component.adoc 
b/docs/components/modules/ROOT/pages/jpa-component.adoc
index e3f5cfa..d81545e 100644
--- a/docs/components/modules/ROOT/pages/jpa-component.adoc
+++ b/docs/components/modules/ROOT/pages/jpa-component.adoc
@@ -393,7 +393,7 @@ the message body.
 ### Example
 
 See http://camel.apache.org/tracer-example.html[Tracer Example] for an example 
using
-<<jpa-component,JPA>> to store traced messages into a database.
+xref:jpa-component.adoc[JPA] to store traced messages into a database.
 
 ### Using the JPA-Based Idempotent Repository
 
diff --git a/docs/components/modules/ROOT/pages/jsonpath-language.adoc 
b/docs/components/modules/ROOT/pages/jsonpath-language.adoc
index 6903a91..92fbb12 100644
--- a/docs/components/modules/ROOT/pages/jsonpath-language.adoc
+++ b/docs/components/modules/ROOT/pages/jsonpath-language.adoc
@@ -78,7 +78,7 @@ The component supports 7 options, which are listed below.
 === Using XML configuration
 
 If you prefer to configure your routes in your Spring
-XML file then you can use <<jsonpath-language,JSonPath>> expressions as
+XML file then you can use xref:jsonpath-language.adoc[JSonPath] expressions as
 follows
 
 [source,xml]
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
index a19029d..5750cf6 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes ConfigMap component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes ConfigMap component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes ConfigMap operations.
 
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
index 28093c7..670b12d 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.20*
 
-The Kubernetes Deployments component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Deployments component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
index 50ca486..d0347ab 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.23*
 
-The Kubernetes HPA component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes HPA component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes hpa operations and a consumer to 
consume kubernetes
 hpa events.
  
diff --git a/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
index 0fb988d..2513128 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.23*
 
-The Kubernetes Job component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Job component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes job operations.
  
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
index b2161a4..d6fbb27 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Namespaces component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Namespaces component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes namespace operations and a consumer 
to consume
 kubernetes namespace events.
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
index 9ea1467..a4fe028 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Nodes component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Nodes component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes node operations and a consumer to 
consume kubernetes
 node events.
  
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
 
b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
index a37111b..5e155c8 100644
--- 
a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
+++ 
b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Persistent Volume Claim component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Persistent Volume Claim component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume claim operations.
  
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
 
b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
index 24b3ce8..c466f78 100644
--- 
a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
+++ 
b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Persistent Volume component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Persistent Volume component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume operations.
 
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
index 5bd87ef..49a240a 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Pods component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Pods component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes pod operations.
 
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
 
b/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
index afb115a..ef92661 100644
--- 
a/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
+++ 
b/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Replication Controller component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Replication Controller component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes replication controller operations 
and a consumer to
 consume kubernetes replication controller events.
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
index 184ecbf..308d6f3 100644
--- 
a/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
+++ 
b/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Resources Quota component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Resources Quota component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes resource quota operations.
 
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
index 901d259..e0040a2 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Secrets component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Secrets component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
index ece061a..29e5b5d 100644
--- 
a/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
+++ 
b/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Service Account component is one of 
<<kubernetes-component,Kubernetes Components>> which
+The Kubernetes Service Account component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes Service Account operations.
 
 
diff --git 
a/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc 
b/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
index 1d5cdb8..4769fa5 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Services component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Services component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes service operations and a consumer to 
consume kubernetes
 service events.
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes.adoc 
b/docs/components/modules/ROOT/pages/kubernetes.adoc
index b5f5fb0..c5b1f38 100644
--- a/docs/components/modules/ROOT/pages/kubernetes.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes.adoc
@@ -6,21 +6,21 @@ The Kubernetes components integrate your application with 
Kubernetes standalone
 
 The camel-kubernetes consists of 13 components:
 
-* <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
-* <<kubernetes-namespaces-component,Kubernetes Namespace>>
-* <<kubernetes-nodes-component,Kubernetes Node>>
-* <<kubernetes-persistent-volumes-component,Kubernetes Persistent Volume>>
-* <<kubernetes-persistent-volumes-claims-component,Kubernetes Persistent 
Volume Claim>>
-* <<kubernetes-pods-component,Kubernetes Pod>>
-* <<kubernetes-replication-controllers-component,Kubernetes Replication 
Controller>>
-* <<kubernetes-resources-quota-component,Kubernetes Resource Quota>>
-* <<kubernetes-secrets-component,Kubernetes Secrets>>
-* <<kubernetes-service-accounts-component,Kubernetes Service Account>>
-* <<kubernetes-services-component,Kubernetes Service>>
+* xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap]
+* xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace]
+* xref:kubernetes-nodes-component.adoc[Kubernetes Node]
+* xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent 
Volume]
+* xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes 
Persistent Volume Claim]
+* xref:kubernetes-pods-component.adoc[Kubernetes Pod]
+* xref:kubernetes-replication-controllers-component.adoc[Kubernetes 
Replication Controller]
+* xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota]
+* xref:kubernetes-secrets-component.adoc[Kubernetes Secrets]
+* xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account]
+* xref:kubernetes-services-component.adoc[Kubernetes Service]
 
 In OpenShift, also:
 
-* <<openshift-build-configs-component,Kubernetes Build Config>>
+* xref:openshift-build-configs-component.adoc[Kubernetes Build Config]
 * Kubernetes Build
 
 
diff --git a/docs/components/modules/ROOT/pages/language-component.adoc 
b/docs/components/modules/ROOT/pages/language-component.adoc
index b4f9f07..68b2c1a 100644
--- a/docs/components/modules/ROOT/pages/language-component.adoc
+++ b/docs/components/modules/ROOT/pages/language-component.adoc
@@ -15,7 +15,7 @@ script is dynamic defined as well.
 This component is provided out of the box in `camel-core` and hence no
 additional JARs is needed. You only have to include additional Camel
 components if the language of choice mandates it, such as using
-<<groovy-language,Groovy>> or <<groovy-language,JavaScript>> languages.
+xref:groovy-language,Groovy>> or <<groovy-language.adoc[JavaScript] languages.
 
 === URI format
 
@@ -26,7 +26,7 @@ language://languageName[:script][?options]
 
 You can refer to an external resource for
 the script using same notation as supported by the other
-<<language-component,Language>>s in Camel
+xref:language-component.adoc[Language]s in Camel
 
 [source]
 ----
@@ -132,17 +132,17 @@ script configured on the endpoint.
 
 === Examples
 
-For example you can use the <<simple-language,Simple>> language to
+For example you can use the xref:simple-language.adoc[Simple] language to
 Message Translator a message:
 
 In case you want to convert the message body type you can do this as
 well:
 
-You can also use the <<groovy-language,Groovy>> language, such as this
+You can also use the xref:groovy-language.adoc[Groovy] language, such as this
 example where the input message will by multiplied with 2:
 
 You can also provide the script as a header as shown below. Here we use
-<<xpath-language,XPath>> language to extract the text from the `<foo>`
+xref:xpath-language.adoc[XPath] language to extract the text from the `<foo>`
 tag.
 
 [source,java]
@@ -169,5 +169,5 @@ evaluation. +
 updated script is used:
 
 You can refer to the resource similar to the
-other <<language-component,Language>>s in Camel by prefixing with
+other xref:language-component.adoc[Language]s in Camel by prefixing with
 `"resource:"` as shown below:
diff --git a/docs/components/modules/ROOT/pages/log-component.adoc 
b/docs/components/modules/ROOT/pages/log-component.adoc
index 3ecb61e..37ca27d 100644
--- a/docs/components/modules/ROOT/pages/log-component.adoc
+++ b/docs/components/modules/ROOT/pages/log-component.adoc
@@ -266,7 +266,7 @@ Note that the masking formatter must implement 
`org.apache.camel.spi.MaskingForm
 
 *Available as of Camel 2.11*
 
-With the options outlined in the <<log-component,#Formatting>> section, you
+With the options outlined in the xref:log-component.adoc[#Formatting] section, 
you
 can control much of the output of the logger. However, log lines will
 always follow this structure:
 
diff --git a/docs/components/modules/ROOT/pages/mina2-component.adoc 
b/docs/components/modules/ROOT/pages/mina2-component.adoc
index 92a9792..52260fa 100644
--- a/docs/components/modules/ROOT/pages/mina2-component.adoc
+++ b/docs/components/modules/ROOT/pages/mina2-component.adoc
@@ -6,7 +6,7 @@
 The Mina2 component is a transport for working with
 http://mina.apache.org/[Apache MINA 2.x]
 
-TIP: Favor using <<netty-component,Netty>> as Netty is a much more active
+TIP: Favor using xref:netty-component.adoc[Netty] as Netty is a much more 
active
 maintained and popular project than Apache Mina currently is.
 
 WARNING: Be careful with `sync=false` on consumer endpoints. Since camel-mina2 
all
@@ -209,7 +209,7 @@ See the Mina how to write your own codec. To use your 
custom codec with
 `camel-mina`, you should register your codec in the
 Registry; for example, by creating a bean in the
 Spring XML file. Then use the `codec` option to specify the bean ID of
-your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
+your codec. See xref:hl7-dataformat.adoc[HL7] that has a custom codec.
 
 ### Sample with sync=false
 
@@ -265,7 +265,7 @@ assertEquals("Bye World", response);
 
 ### Sample with Spring DSL
 
-Spring DSL can, of course, also be used for <<mina2-component,MINA>>. In the
+Spring DSL can, of course, also be used for xref:mina2-component.adoc[MINA]. 
In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -331,4 +331,4 @@ is, after `codec` and `logger`.
 * Component
 * Endpoint
 * Getting Started
-* <<netty-component,Netty>>
+* xref:netty-component.adoc[Netty]
diff --git a/docs/components/modules/ROOT/pages/mock-component.adoc 
b/docs/components/modules/ROOT/pages/mock-component.adoc
index bf3993d..2e05129 100644
--- a/docs/components/modules/ROOT/pages/mock-component.adoc
+++ b/docs/components/modules/ROOT/pages/mock-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 1.0*
 
 Testing of distributed and asynchronous processing is
-notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
-and <<dataset-component,DataSet>> endpoints work great with the
+notoriously difficult. The xref:mock-component,Mock>>, 
<<mock-component.adoc[Test]
+and xref:dataset-component.adoc[DataSet] endpoints work great with the
 Camel Testing Framework to simplify your unit and
 integration testing using
 xref:enterprise-integration-patterns.adoc[Enterprise Integration
@@ -28,16 +28,16 @@ Expression to create an order testing function,
 * Messages arrive match some kind of Predicate such
 as that specific headers have certain values, or that parts of the
 messages match some predicate, such as by evaluating an
-<<xpath-language,XPath>> or <<xpath-language,XQuery>>
+xref:xpath-language,XPath>> or <<xpath-language.adoc[XQuery]
 Expression.
 
 [NOTE]
-There is also the <<test-component,Test endpoint>> which is a
+There is also the xref:test-component.adoc[Test endpoint] which is a
 Mock endpoint, but which uses a second endpoint to provide the list of
 expected message bodies and automatically sets up the Mock endpoint
 assertions. In other words, it's a Mock endpoint that automatically sets
 up its assertions from some sample messages in a File
-or <<jpa-component,database>>, for example.
+or xref:jpa-component.adoc[database], for example.
 
 [CAUTION]
 *Mock endpoints keep received Exchanges in memory indefinitely.* +
@@ -257,7 +257,7 @@ Camel routes.
 
 [NOTE]
 *How it works* The endpoints are still in action. What happens differently
-is that a <<mock-component,Mock>> endpoint is injected and receives the
+is that a xref:mock-component.adoc[Mock] endpoint is injected and receives the
 message first and then delegates the message to the target endpoint. You
 can view this as a kind of intercept and delegate or endpoint listener.
 
@@ -364,7 +364,7 @@ 
include::../../../../components/camel-spring/src/test/resources/org/apache/camel
 Then in your unit test you load the new XML file
 (`test-camel-route.xml`) instead of `camel-route.xml`.
 
-To only mock all <<log-component,Log>> endpoints you can define the pattern
+To only mock all xref:log-component.adoc[Log] endpoints you can define the 
pattern
 in the constructor for the bean:
 
 [source,xml]
@@ -404,7 +404,7 @@ 
include::../../../../components/camel-test/src/test/java/org/apache/camel/test/p
 
 *Available as of Camel 2.10*
 
-The <<mock-component,Mock>> endpoints will by default keep a copy of every
+The xref:mock-component.adoc[Mock] endpoints will by default keep a copy of 
every
 Exchange that it received. So if you test with a lot
 of messages, then it will consume memory. +
 We have introduced two options `retainFirst` and
@@ -439,7 +439,7 @@ expectations on the 10 retained messages.
 
 *Available as of Camel 2.7*
 
-The <<mock-component,Mock>> endpoint stores the arrival time of the message
+The xref:mock-component.adoc[Mock] endpoint stores the arrival time of the 
message
 as a property on the Exchange.
 
 [source,java]
@@ -450,7 +450,7 @@ Date time = 
exchange.getProperty(Exchange.RECEIVED_TIMESTAMP, Date.class);
 You can use this information to know when the message arrived on the
 mock. But it also provides foundation to know the time interval between
 the previous and next message arrived on the mock. You can use this to
-set expectations using the `arrives` DSL on the <<mock-component,Mock>>
+set expectations using the `arrives` DSL on the xref:mock-component.adoc[Mock]
 endpoint.
 
 For example to say that the first message should arrive between 0-2
diff --git a/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc 
b/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
index b12d319..945ee0d 100644
--- a/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
+++ b/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
@@ -139,7 +139,7 @@ MongoDB instance.
 ### Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb-gridfs-component,*findOne*>> on a collection.
+xref:mongodb-gridfs-component.adoc[*findOne*] on a collection.
 
 *Get a file from GridFS*
 
diff --git a/docs/components/modules/ROOT/pages/mongodb3-component.adoc 
b/docs/components/modules/ROOT/pages/mongodb3-component.adoc
index 7c6cad3..a03c1f5 100644
--- a/docs/components/modules/ROOT/pages/mongodb3-component.adoc
+++ b/docs/components/modules/ROOT/pages/mongodb3-component.adoc
@@ -183,7 +183,7 @@ 
xsi:schemaLocation="http://www.springframework.org/schema/context
 === Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb3-component,*dbStats*>> on a collection.
+xref:mongodb3-component.adoc[*dbStats*] on a collection.
 
 *Get DB stats for specified collection*
 
@@ -219,7 +219,7 @@ from("direct:findById")
 
 
 TIP: *Supports optional parameters*. This operation supports specifying a 
fields filter. See
-<<mongodb3-component,Specifying optional parameters>>.
+xref:mongodb3-component.adoc[Specifying optional parameters].
 
 ===== findOneByQuery
 
@@ -227,7 +227,7 @@ Use this operation to retrieve just one element (the first) 
from the collection
 matches a MongoDB query. *The query object is extracted `CamelMongoDbCriteria` 
header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
-`Bson`. It can be a JSON String or a Hashmap. See <<mongodb3-component,#Type 
conversions>> for more info.
+`Bson`. It can be a JSON String or a Hashmap. See 
xref:mongodb3-component.adoc[#Type conversions] for more info.
 you can use the Filters class from MongoDB Driver.
 
 Example with no query (returns any object of the collection):
@@ -250,7 +250,7 @@ from("direct:findOneByQuery")
 
------------------------------------------------------------------------------------
 
 TIP: *Supports optional parameters*. This operation supports specifying a 
fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
+xref:mongodb3-component.adoc[Specifying optional parameters].
 
 ===== findAll
 
@@ -260,7 +260,7 @@ returned.  *The query object is extracted 
`CamelMongoDbCriteria` header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
 `Bson`. It can be
-a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for
+a JSON String or a Hashmap. See xref:mongodb3-component.adoc[#Type 
conversions] for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -333,7 +333,7 @@ consideration. |int/Integer
 |=======================================================================
 
 TIP: *Supports optional parameters*. This operation supports specifying a 
fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
+xref:mongodb3-component.adoc[Specifying optional parameters].
 
 ===== count
 
diff --git a/docs/components/modules/ROOT/pages/msv-component.adoc 
b/docs/components/modules/ROOT/pages/msv-component.adoc
index f1edd3c..8c8966d 100644
--- a/docs/components/modules/ROOT/pages/msv-component.adoc
+++ b/docs/components/modules/ROOT/pages/msv-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<jing-component,Jing>> component also supports
+Note that the xref:jing-component.adoc[Jing] component also supports
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax]
 
diff --git a/docs/components/modules/ROOT/pages/mybatis-component.adoc 
b/docs/components/modules/ROOT/pages/mybatis-component.adoc
index 82f883f..30e4a69 100644
--- a/docs/components/modules/ROOT/pages/mybatis-component.adoc
+++ b/docs/components/modules/ROOT/pages/mybatis-component.adoc
@@ -321,9 +321,9 @@ See "ScheduledPollConsumer Options"
 on Polling Consumer for more options.
 
 Alternatively you can use another mechanism for triggering the scheduled
-polls, such as the <<timer-component,Timer>> or <<timer-component,Quartz>>
+polls, such as the xref:timer-component,Timer>> or 
<<timer-component.adoc[Quartz]
 components. In the sample below we poll the database, every 30 seconds
-using the <<timer-component,Timer>> component and send the data to the JMS
+using the xref:timer-component.adoc[Timer] component and send the data to the 
JMS
 queue:
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/nagios-component.adoc 
b/docs/components/modules/ROOT/pages/nagios-component.adoc
index a25bc5f..9a92409 100644
--- a/docs/components/modules/ROOT/pages/nagios-component.adoc
+++ b/docs/components/modules/ROOT/pages/nagios-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-The <<nagios-component,Nagios>> component allows you to send passive checks
+The xref:nagios-component.adoc[Nagios] component allows you to send passive 
checks
 to http://nagios.org[Nagios].
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -26,7 +26,7 @@ for this component:
 nagios://host[:port][?Options]
 ------------------------------
 
-Camel provides two abilities with the <<nagios-component,Nagios>>
+Camel provides two abilities with the xref:nagios-component.adoc[Nagios]
 component. You can send passive check messages by sending a message to
 its endpoint. +
  Camel also provides a EventNotifer which allows
@@ -164,7 +164,7 @@ To send a `CRITICAL` message you can send the headers such 
as:
 
 ### Using `NagiosEventNotifer`
 
-The <<nagios-component,Nagios>> component also provides an
+The xref:nagios-component.adoc[Nagios] component also provides an
 EventNotifer which you can use to send events to
 Nagios. For example we can enable this from Java as follows:
 
diff --git a/docs/components/modules/ROOT/pages/netty4-component.adoc 
b/docs/components/modules/ROOT/pages/netty4-component.adoc
index 79cdf47..1b456de 100644
--- a/docs/components/modules/ROOT/pages/netty4-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty4-component.adoc
@@ -486,7 +486,7 @@ Getting access to SSLSession and the client certificate
 
 You can get access to the `javax.net.ssl.SSLSession` if you eg need to
 get details about the client certificate. When `ssl=true` then the
-<<netty4-component,Netty4>> component will store the `SSLSession` as a
+xref:netty4-component.adoc[Netty4] component will store the `SSLSession` as a
 header on the Camel Message as shown below:
 
 [source,java]
@@ -798,5 +798,5 @@ under the `camel-example-netty-custom-correlation` 
directory.
 
 === See Also
 
-* <<netty-http-component,Netty HTTP>>
-* <<mina2-component,MINA>>
+* xref:netty-http-component.adoc[Netty HTTP]
+* xref:mina2-component.adoc[MINA]
diff --git a/docs/components/modules/ROOT/pages/netty4-http-component.adoc 
b/docs/components/modules/ROOT/pages/netty4-http-component.adoc
index d3b4231..1c33ec8 100644
--- a/docs/components/modules/ROOT/pages/netty4-http-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty4-http-component.adoc
@@ -3,8 +3,8 @@
 
 *Available as of Camel version 2.14*
 
-The Netty4 HTTP component is an extension to <<netty4-component,Netty4>>
-component to facilitiate HTTP transport with <<netty4-component,Netty4>>.
+The Netty4 HTTP component is an extension to xref:netty4-component.adoc[Netty4]
+component to facilitiate HTTP transport with 
xref:netty4-component.adoc[Netty4].
 
 This camel component supports both producer and consumer endpoints.
 
@@ -77,9 +77,9 @@ at the endpoint URI definition level (like `to` or `from` DSL 
elements).
 *A lot more options*
 
 This component inherits all the options from
-<<netty4-component,Netty4>>, so make sure to look at
-the <<netty4-component,Netty4>> documentation as well.
-Notice that some options from <<netty4-component,Netty4>> is not
+xref:netty4-component.adoc[Netty4], so make sure to look at
+the xref:netty4-component.adoc[Netty4] documentation as well.
+Notice that some options from xref:netty4-component.adoc[Netty4] is not
 applicable when using this Netty4 HTTP component, such as options
 related to UDP transport.
 ====
@@ -633,6 +633,6 @@ below:
 * Endpoint
 * Getting Started
 
-* <<netty-component,Netty>>
+* xref:netty-component.adoc[Netty]
 * Netty HTTP Server Example
-* <<jetty-component,Jetty>>
+* xref:jetty-component.adoc[Jetty]
diff --git a/docs/components/modules/ROOT/pages/openshift-builds-component.adoc 
b/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
index d143e94..def68ec 100644
--- a/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
+++ b/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Kubernetes Builds component is one of <<kubernetes-component,Kubernetes 
Components>> which
+The Kubernetes Builds component is one of 
xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes build operations.
 
 
diff --git a/docs/components/modules/ROOT/pages/openstack.adoc 
b/docs/components/modules/ROOT/pages/openstack.adoc
index 3d1c09e..9e57e8e 100644
--- a/docs/components/modules/ROOT/pages/openstack.adoc
+++ b/docs/components/modules/ROOT/pages/openstack.adoc
@@ -21,12 +21,12 @@ for this component:
 [width="100%", options="header"]
 |=======================================================================
 | OpenStack service | Camel Component| Description
-| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | 
<<openstack-cinder-component,openstack-cinder>> | Component to maintain 
OpenStack cinder.
-| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | 
<<openstack-glance-component,openstack-glance>> | Component to maintain 
OpenStack glance.
-| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | 
<<openstack-keystone-component,openstack-keystone>> | Component to maintain 
OpenStack keystone.
-| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | 
<<openstack-neutron-component,openstack-neutron>> | Component to maintain 
OpenStack neutron.
-| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | 
<<openstack-nova-component,openstack-nova>> | Component to maintain OpenStack 
nova.
-| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | 
<<openstack-swift-component,openstack-swift>> | Component to maintain OpenStack 
swift.
+| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | 
xref:openstack-cinder-component.adoc[openstack-cinder] | Component to maintain 
OpenStack cinder.
+| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | 
xref:openstack-glance-component.adoc[openstack-glance] | Component to maintain 
OpenStack glance.
+| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | 
xref:openstack-keystone-component.adoc[openstack-keystone] | Component to 
maintain OpenStack keystone.
+| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | 
xref:openstack-neutron-component.adoc[openstack-neutron] | Component to 
maintain OpenStack neutron.
+| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | 
xref:openstack-nova-component.adoc[openstack-nova] | Component to maintain 
OpenStack nova.
+| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | 
xref:openstack-swift-component.adoc[openstack-swift] | Component to maintain 
OpenStack swift.
 |=======================================================================
 
 
diff --git a/docs/components/modules/ROOT/pages/properties-component.adoc 
b/docs/components/modules/ROOT/pages/properties-component.adoc
index e357c01..aa73ceb 100644
--- a/docs/components/modules/ROOT/pages/properties-component.adoc
+++ b/docs/components/modules/ROOT/pages/properties-component.adoc
@@ -158,7 +158,7 @@ The property placeholder is generally in use when doing:
 * lookup of beans in the Registry
 * additional supported in Spring XML (see below in examples)
 * using Blueprint PropertyPlaceholder with Camel
-<<properties-component,Properties>> component
+xref:properties-component.adoc[Properties] component
 * using `@PropertyInject` to inject a property in a POJO
 * Using default value if a property does not exists
 * Include out of the box functions, to lookup property
@@ -364,7 +364,7 @@ inside the Spring as well as the Blueprint XML.
 For example in OSGi you may want to expose a service which returns the
 properties as a `java.util.Properties` object.
 
-Then you could setup the <<properties-component,Properties>> component as
+Then you could setup the xref:properties-component.adoc[Properties] component 
as
 follows:
 
 [source,xml]
@@ -463,9 +463,9 @@ ProducerTemplate for example:
 template.sendBody("{{cool.start}}", "Hello World");
 ----
 
-=== Example with <<simple-language,Simple>> language
+=== Example with xref:simple-language.adoc[Simple] language
 
-The <<simple-language,Simple>> language now also support using property
+The xref:simple-language.adoc[Simple] language now also support using property
 placeholders, for example in the route below:
 
 [source,java]
@@ -478,7 +478,7 @@ from("direct:start")
     .transform().simple("Hi ${body} do you think ${properties:cheese.quote}?");
 ----
 
-You can also specify the location in the <<simple-language,Simple>>
+You can also specify the location in the xref:simple-language.adoc[Simple]
 language for example:
 
 [source,java]
@@ -780,7 +780,7 @@ placeholder notation with `{{` and `}}`.
 === Clashing Spring property placeholders with Camels Simple language
 
 Take notice when using Spring bridging placeholder then the spring `${ }`
-syntax clashes with the <<simple-language,Simple>> in Camel, and therefore
+syntax clashes with the xref:simple-language.adoc[Simple] in Camel, and 
therefore
 take care. For example:
 
 [source,xml]
@@ -791,7 +791,7 @@ take care. For example:
 ----
 
 clashes with Spring property placeholders, and you should use `$simple{ }`
-to indicate using the <<simple-language,Simple>> language in Camel.
+to indicate using the xref:simple-language.adoc[Simple] language in Camel.
 
 [source,xml]
 ----
@@ -808,7 +808,7 @@ An alternative is to configure the 
`PropertyPlaceholderConfigurer` with
 *Available as of Camel 2.10*
 
 When Testing with Camel and using the
-<<properties-component,Properties>> component, you may want to be able to
+xref:properties-component.adoc[Properties] component, you may want to be able 
to
 provide the properties to be used from directly within the unit test
 source code. +
 Camel test kits, eg `CamelTestSupport` class offers the following methods
@@ -886,7 +886,7 @@ private int timeout;
 
 *Available as of Camel 2.14.1*
 
-The <<properties-component,Properties>> component includes the following
+The xref:properties-component.adoc[Properties] component includes the following
 functions out of the box
 
 * `env` - A function to lookup the property from OS environment variables
@@ -954,7 +954,7 @@ export $FOO_SERVICE_PORT=8888
 
 For example if the FOO service a remote HTTP service, then we can refer
 to the service in the Camel endpoint uri, and use
-the <<http-component,HTTP>> component to make the HTTP call:
+the xref:http-component.adoc[HTTP] component to make the HTTP call:
 
 [source,xml]
 ----
@@ -983,7 +983,7 @@ example to call a service on localhost, maybe for unit 
testing etc
 
 *Available as of Camel 2.14.1*
 
-The <<properties-component,Properties>> component allow to plugin 3rd party
+The xref:properties-component.adoc[Properties] component allow to plugin 3rd 
party
 functions which can be used during parsing of the property placeholders.
 These functions are then able to do custom logic to resolve the
 placeholders, such as looking up in databases, do custom computations,
@@ -1051,6 +1051,6 @@ pc.addFunction(new MyBeerFunction());
 
 === See Also
 
-* <<properties-component,Properties>> component
+* xref:properties-component.adoc[Properties] component
 * Jasypt for using encrypted values (eg passwords) in
 the properties
diff --git a/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc 
b/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
index 765af9e..1de8baa 100644
--- a/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
@@ -242,4 +242,4 @@ To use Protobuf in your camel routes you need to add the a 
dependency on
 </dependency>
 -----------------------------------------
 ### See Also
-* <<grpc-component,Camel gRPC component>>
+* xref:grpc-component.adoc[Camel gRPC component]
diff --git a/docs/components/modules/ROOT/pages/pubnub-component.adoc 
b/docs/components/modules/ROOT/pages/pubnub-component.adoc
index 2327242..d33d4be 100644
--- a/docs/components/modules/ROOT/pages/pubnub-component.adoc
+++ b/docs/components/modules/ROOT/pages/pubnub-component.adoc
@@ -244,4 +244,4 @@ The example illustrates the PubNub component subscribing to 
a infinite stream of
 * Endpoint
 * Getting Started
 
-* <<rss-component,RSS>>
+* xref:rss-component.adoc[RSS]
diff --git a/docs/components/modules/ROOT/pages/quartz2-component.adoc 
b/docs/components/modules/ROOT/pages/quartz2-component.adoc
index 1ab9f23..11072d3 100644
--- a/docs/components/modules/ROOT/pages/quartz2-component.adoc
+++ b/docs/components/modules/ROOT/pages/quartz2-component.adoc
@@ -178,7 +178,7 @@ for the next execution.
 
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-<<quartz2-component,Quartz2>> endpoints, then make sure if you assign an `id` 
+xref:quartz2-component.adoc[Quartz2] endpoints, then make sure if you assign 
an `id` 
 to the `<camelContext>` that this id is unique, as this is
 required by the `QuartzScheduler` in the OSGi container. If you do not
 set any `id` on `<camelContext>` then a unique id is auto assigned, and there 
is no problem.
@@ -191,7 +191,7 @@ By default Quartz will look for a `quartz.properties` file 
in the
 deployments this means just drop the quartz.properties in
 `WEB-INF/classes/org/quartz`.
 
-However the Camel <<quartz2-component,Quartz2>> component also allows you
+However the Camel xref:quartz2-component.adoc[Quartz2] component also allows 
you
 to configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -223,7 +223,7 @@ This option is set to true by default, unless explicitly 
disabled.
 
 === Starting the Quartz scheduler
 
-The <<quartz2-component,Quartz2>> component offers an option to let the
+The xref:quartz2-component.adoc[Quartz2] component offers an option to let the
 Quartz scheduler be started delayed, or not auto started at all.
 
 This is an example:
@@ -238,7 +238,7 @@ This is an example:
 === Clustering
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then the <<quartz2-component,Quartz2>> component will *not* pause/remove
+Then the xref:quartz2-component.adoc[Quartz2] component will *not* pause/remove
 triggers when a node is being stopped/shutdown. This allows the trigger
 to keep running on the other nodes in the cluster.
 
@@ -403,7 +403,7 @@ but it does not want to be fired now.
 
 === Using QuartzScheduledPollConsumerScheduler
 
-The <<quartz2-component,Quartz2>> component provides a
+The xref:quartz2-component.adoc[Quartz2] component provides a
 Polling Consumer scheduler which allows to
 use cron based scheduling for xref:polling-consumer.adoc[Polling
 Consumer] such as the File and FTP
@@ -419,8 +419,8 @@ second, then a Camel route can be define simply as:
 ----
 
 Notice we define the `scheduler=quartz2` to instruct Camel to use the
-<<quartz2-component,Quartz2>> based scheduler. Then we use `scheduler.xxx`
-options to configure the scheduler. The <<quartz2-component,Quartz2>>
+xref:quartz2-component.adoc[Quartz2] based scheduler. Then we use 
`scheduler.xxx`
+options to configure the scheduler. The xref:quartz2-component.adoc[Quartz2]
 scheduler requires the cron option to be set.
 
 The following options is supported:
@@ -430,7 +430,7 @@ The following options is supported:
 |Parameter |Default |Type |Description
 
 |`quartzScheduler` |`null` |`org.quartz.Scheduler` |To use a custom Quartz 
scheduler. If none configure then the shared
-scheduler from the <<quartz2-component,Quartz2>> component is used.
+scheduler from the xref:quartz2-component.adoc[Quartz2] component is used.
 
 |`cron` |`null` |`String` |*Mandatory*: To define the cron expression for 
triggering the polls.
 
diff --git a/docs/components/modules/ROOT/pages/quickfix-component.adoc 
b/docs/components/modules/ROOT/pages/quickfix-component.adoc
index e06ab62..ee69825 100644
--- a/docs/components/modules/ROOT/pages/quickfix-component.adoc
+++ b/docs/components/modules/ROOT/pages/quickfix-component.adoc
@@ -583,7 +583,7 @@ initially as a collection of key value pairs data. You can 
use this
 object or you can use the method 'toString' to retrieve the original FIX
 message.
 
-*Note:* Alternatively, you can use <<bindy-dataformat,camel bindy dataformat>> 
to transform the FIX message into your own java POJO
+*Note:* Alternatively, you can use xref:bindy-dataformat.adoc[camel bindy 
dataformat] to transform the FIX message into your own java POJO
 
 When a message must be send to QuickFix, then you must create a
 QuickFix.Message instance.
diff --git a/docs/components/modules/ROOT/pages/rest-component.adoc 
b/docs/components/modules/ROOT/pages/rest-component.adoc
index f23f5d2..12e7a2b 100644
--- a/docs/components/modules/ROOT/pages/rest-component.adoc
+++ b/docs/components/modules/ROOT/pages/rest-component.adoc
@@ -288,4 +288,4 @@ containers.
 === See Also
 
 * Rest DSL
-* <<servlet-component,SERVLET>>
+* xref:servlet-component.adoc[SERVLET]
diff --git a/docs/components/modules/ROOT/pages/rest-swagger-component.adoc 
b/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
index 405cc94..0e47121 100644
--- a/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
+++ b/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
@@ -8,12 +8,12 @@ http://swagger.io/[Swagger] (Open API) specification document 
and
 delegates to a component implementing the _RestProducerFactory_
 interface. Currently known working components are:
 
-* <<http-component,http>>
-* <<http4-component,http4>>
-* <<netty4-http-component,netty4-http>>
-* <<restlet-component,restlet>>
-* <<jetty-component,jetty>>
-* <<undertow-component,undertow>>
+* xref:http-component.adoc[http]
+* xref:http4-component.adoc[http4]
+* xref:netty4-http-component.adoc[netty4-http]
+* xref:restlet-component.adoc[restlet]
+* xref:jetty-component.adoc[jetty]
+* xref:undertow-component.adoc[undertow]
 
 Maven users will need to add the following dependency to their
 `pom.xml` for this component:
@@ -188,7 +188,7 @@ http://petstore.swagger.io/[_PetStore_] provided REST API 
simply
 reference the specification URI and desired operation id from the
 Swagger specification or download the specification and store it as
 `swagger.json` (in the root) of CLASSPATH that way it will be 
-automaticaly used. Let's use the <<undertow-component,Undertow>>
+automaticaly used. Let's use the xref:undertow-component.adoc[Undertow]
 component to perform all the requests and Camels excelent support for 
 Spring Boot.
 
diff --git a/docs/components/modules/ROOT/pages/rss-component.adoc 
b/docs/components/modules/ROOT/pages/rss-component.adoc
index 14fa8bd..96c21d5 100644
--- a/docs/components/modules/ROOT/pages/rss-component.adoc
+++ b/docs/components/modules/ROOT/pages/rss-component.adoc
@@ -218,4 +218,4 @@ return firstEntry.getTitle().contains("Camel");
 * Endpoint
 * Getting Started
 
-* <<atom-component,Atom>>
+* xref:atom-component.adoc[Atom]
diff --git a/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc 
b/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
index ede8a20..1d4381a 100644
--- a/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
+++ b/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
@@ -231,4 +231,4 @@ Destination airport: SFO
 * Endpoint
 * Getting Started
 
-* <<http-component,HTTP>>
+* xref:http-component.adoc[HTTP]
diff --git a/docs/components/modules/ROOT/pages/scheduler-component.adoc 
b/docs/components/modules/ROOT/pages/scheduler-component.adoc
index 5887764..09b9e74 100644
--- a/docs/components/modules/ROOT/pages/scheduler-component.adoc
+++ b/docs/components/modules/ROOT/pages/scheduler-component.adoc
@@ -5,7 +5,7 @@
 
 The Scheduler component is used to generate message exchanges when a
 scheduler fires. This component is similar to the
- <<timer-component,Timer>> component, but it offers more functionality in
+ xref:timer-component.adoc[Timer] component, but it offers more functionality 
in
 terms of scheduling. Also this component uses
 JDK `ScheduledExecutorService`. Where as the timer uses a JDK `Timer`.
 
@@ -192,5 +192,5 @@ exchange.
 
 === See Also
 
-* <<timer-component,Timer>>
-* <<quartz-component,Quartz>>
+* xref:timer-component.adoc[Timer]
+* xref:quartz-component.adoc[Quartz]
diff --git a/docs/components/modules/ROOT/pages/scp-component.adoc 
b/docs/components/modules/ROOT/pages/scp-component.adoc
index 8ae445e..e1d2796 100644
--- a/docs/components/modules/ROOT/pages/scp-component.adoc
+++ b/docs/components/modules/ROOT/pages/scp-component.adoc
@@ -6,7 +6,7 @@
 The Camel-Jsch component supports the
 http://en.wikipedia.org/wiki/Secure_copy[SCP protocol] using the Client
 API of the http://www.jcraft.com/jsch/[Jsch] project. Jsch is already
-used in camel by the <<ftp-component,FTP>> component for the *sftp:*
+used in camel by the xref:ftp-component.adoc[FTP] component for the *sftp:*
 protocol.
 
 Maven users will need to add the following dependency to their `pom.xml`
diff --git a/docs/components/modules/ROOT/pages/seda-component.adoc 
b/docs/components/modules/ROOT/pages/seda-component.adoc
index ba4088d..2f52fe1 100644
--- a/docs/components/modules/ROOT/pages/seda-component.adoc
+++ b/docs/components/modules/ROOT/pages/seda-component.adoc
@@ -12,15 +12,15 @@ and consumers are invoked in a separate thread from the 
producer.
 Note that queues are only visible within a _single_
 CamelContext. If you want to communicate across
 `CamelContext` instances (for example, communicating between Web
-applications), see the <<vm-component,VM>> component.
+applications), see the xref:vm-component.adoc[VM] component.
 
 This component does not implement any kind of persistence or recovery,
 if the VM terminates while messages are yet to be processed. If you need
 persistence, reliability or distributed SEDA, try using either
-<<jms-component,JMS>> or <<jms-component,ActiveMQ>>.
+xref:jms-component,JMS>> or <<jms-component.adoc[ActiveMQ].
 
 TIP:*Synchronous*
-The <<direct-component,Direct>> component provides synchronous invocation
+The xref:direct-component.adoc[Direct] component provides synchronous 
invocation
 of any consumers when a producer sends a message exchange.
 
 === URI format
@@ -175,7 +175,7 @@ ArrayBlockingQueueFactory and PriorityBlockingQueueFactory:
 
 === Use of Request Reply
 
-The <<seda-component,SEDA>> component supports using
+The xref:seda-component.adoc[SEDA] component supports using
 Request Reply, where the caller will wait for
 the Async route to complete. For instance:
 
@@ -219,7 +219,7 @@ from("seda:stageName").thread(5).process(...)
 
 Can wind up with two `BlockQueues`: one from the SEDA endpoint, and one
 from the workqueue of the thread pool, which may not be what you want.
-Instead, you might wish to configure a <<direct-component,Direct>> endpoint
+Instead, you might wish to configure a xref:direct-component.adoc[Direct] 
endpoint
 with a thread pool, which can process messages both synchronously and
 asynchronously. For example:
 
@@ -273,7 +273,7 @@ int size = seda.getExchanges().size();
 
 === See Also
 
-* <<vm-component,VM>>
-* <<disruptor-component,Disruptor>>
-* <<direct-component,Direct>>
+* xref:vm-component.adoc[VM]
+* xref:disruptor-component.adoc[Disruptor]
+* xref:direct-component.adoc[Direct]
 * Async
diff --git a/docs/components/modules/ROOT/pages/servlet-component.adoc 
b/docs/components/modules/ROOT/pages/servlet-component.adoc
index e613cd9..f0a20d1 100644
--- a/docs/components/modules/ROOT/pages/servlet-component.adoc
+++ b/docs/components/modules/ROOT/pages/servlet-component.adoc
@@ -160,7 +160,7 @@ The component supports 14 options, which are listed below.
 
 === Message Headers
 
-Camel will apply the same Message Headers as the <<http-component,HTTP>>
+Camel will apply the same Message Headers as the xref:http-component.adoc[HTTP]
 component.
 
 Camel will also populate *all* `request.parameter` and
@@ -173,7 +173,7 @@ header named `orderid` with the value 123.
 You can consume only `from` endpoints generated by the Servlet component.
 Therefore, it should be used only as input into your Camel routes. To
 issue HTTP requests against other HTTP endpoints, use the
-<<http-component,HTTP Component>>.
+xref:http-component.adoc[HTTP Component].
 
 === Putting Camel JARs in the app server boot classpath
 
@@ -236,8 +236,8 @@ side-effects.
 
 === Sample
 
-Use <<servlet-component,Servlet>> in Spring web applications for simplicity's 
sake. See
-<<ServletTomcatExample-ServletTomcatExample,Servlet Tomcat Example>> for 
details.
+Use xref:servlet-component.adoc[Servlet] in Spring web applications for 
simplicity's sake. See
+xref:ServletTomcatExample-ServletTomcatExample.adoc[Servlet Tomcat Example] 
for details.
 
 In this sample, we define a route that exposes a HTTP service at
 http://localhost:8080/camel/services/hello.
@@ -303,7 +303,7 @@ address: `("http://localhost:8080/camel/services";) + 
RELATIVE_PATH("/hello")`
 
 ==== Sample when using Spring 3.x
 
-See <<ServletTomcatExample-ServletTomcatExample,,Servlet Tomcat Example>>.
+See xref:ServletTomcatExample-ServletTomcatExample,.adoc[Servlet Tomcat 
Example].
 
 ==== Sample when using Spring 2.x
 
@@ -506,8 +506,8 @@ The automatic mapping of the Camel servlet can also be 
disabled.
 * Endpoint
 * Getting Started
 
-* <<ServletTomcatExample-ServletTomcatExample,Servlet Tomcat Example>>
+* xref:ServletTomcatExample-ServletTomcatExample.adoc[Servlet Tomcat Example]
 * xref:servlet-tomcat-no-spring-example.adoc[Servlet Tomcat No Spring
 Example]
-* <<http-component,HTTP>>
-* <<jetty-component,Jetty>>
+* xref:http-component.adoc[HTTP]
+* xref:jetty-component.adoc[Jetty]
diff --git a/docs/components/modules/ROOT/pages/sftp-component.adoc 
b/docs/components/modules/ROOT/pages/sftp-component.adoc
index 8d483c5..d2168d7 100644
--- a/docs/components/modules/ROOT/pages/sftp-component.adoc
+++ b/docs/components/modules/ROOT/pages/sftp-component.adoc
@@ -19,7 +19,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 ### URI Options
 
diff --git a/docs/components/modules/ROOT/pages/shiro.adoc 
b/docs/components/modules/ROOT/pages/shiro.adoc
index 49f2418..6526e09 100644
--- a/docs/components/modules/ROOT/pages/shiro.adoc
+++ b/docs/components/modules/ROOT/pages/shiro.adoc
@@ -131,7 +131,7 @@ of the roles in the list are applicable.
 these or pass in your own Cipher implementation
 
 |`base64` |`false` |`boolean` |To use base64 encoding for the security token 
header,
-which allows transferring the header over <<jms-component,JMS>> etc. This
+which allows transferring the header over xref:jms-component.adoc[JMS] etc. 
This
 option must also be set on `ShiroSecurityTokenInjector` as well.
 
 |`allPermissionsRequired` |`false` |`boolean` |The default is that 
authorization is granted if any of the
diff --git a/docs/components/modules/ROOT/pages/sjms-batch-component.adoc 
b/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
index 05025fb..a035d82 100644
--- a/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
+++ b/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
@@ -14,7 +14,7 @@ In order to ensure that data is not lost if the system 
performing the
 processing fails, it is typically consumed within a transaction from the
 queue, and once aggregated stored in a persistent
 `AggregationRepository`, such as the one found in the
-<<jdbc-component,JDBC Component>>.
+xref:jdbc-component.adoc[JDBC Component].
 
 The behavior of the aggregator pattern involves fetching data from the
 `AggregationRepository` before an incoming message is aggregated, and
@@ -101,7 +101,7 @@ Topic consumption is not supported, as there is no 
advantage to using
 batch consumption within that context. Topic messages are usually
 non-persistent, and loss is acceptable. If consumed within a transaction
 that fails, a topic message will likely not be redelivered by the
-broker. A plain <<sjms-component,SJMS>> consumer endpoint can be used in
+broker. A plain xref:sjms-component.adoc[SJMS] consumer endpoint can be used in
 conjunction with a regular non-persistence backed
 aggregator in this scenario.
 
diff --git a/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc 
b/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
index f725057..491b15b 100644
--- a/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
@@ -9,7 +9,7 @@ basic features of Apache CXF without need for the CXF Stack.
 
 *Namespace prefix mapping*
 
-See <<jaxb-dataformat,JAXB>> for details how you can control namespace
+See xref:jaxb-dataformat.adoc[JAXB] for details how you can control namespace
 prefix mappings when marshalling using SOAP data format.
 
 ### SOAP Options
@@ -118,7 +118,7 @@ from("direct:start")
 
-------------------------------------------------------------------------------------------------------------------------------------
 
 TIP: *See also*
-As the SOAP dataformat inherits from the <<jaxb-dataformat,JAXB>> dataformat
+As the SOAP dataformat inherits from the xref:jaxb-dataformat.adoc[JAXB] 
dataformat
 most settings apply here as well
 
 
diff --git a/docs/components/modules/ROOT/pages/solr-component.adoc 
b/docs/components/modules/ROOT/pages/solr-component.adoc
index 408ab7a..1d439fc 100644
--- a/docs/components/modules/ROOT/pages/solr-component.adoc
+++ b/docs/components/modules/ROOT/pages/solr-component.adoc
@@ -227,7 +227,7 @@ delete routes and then call the commit route.
 ### Querying Solr
 
 Currently, this component doesn't support querying data natively (may be
-added later). For now, you can query Solr using <<http-component,HTTP>> as
+added later). For now, you can query Solr using xref:http-component.adoc[HTTP] 
as
 follows:
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/spring-security.adoc 
b/docs/components/modules/ROOT/pages/spring-security.adoc
index 267d74a..0dcae4e 100644
--- a/docs/components/modules/ROOT/pages/spring-security.adoc
+++ b/docs/components/modules/ROOT/pages/spring-security.adoc
@@ -84,7 +84,7 @@ authorization is not specified by this component. You can 
write your own
 processors or components which get authentication information from the
 exchange depending on your needs. For example, you might create a
 processor that gets credentials from an HTTP request header originating
-in the <<jetty-component,Jetty>> component. No matter how the credentials
+in the xref:jetty-component.adoc[Jetty] component. No matter how the 
credentials
 are collected, they need to be placed in the In message or the
 `SecurityContextHolder` so the Camel xref:spring-security.adoc[Spring
 Security] component can access them:
@@ -143,7 +143,7 @@ implementation of the
 `org.apache.camel.component.spring.security.AuthenticationAdapter` to
 your `<authorizationPolicy>` bean. This can be useful if you are working
 with components that do not use Spring Security but do provide a
-`Subject`. At this time, only the <<cxf-component,CXF>> component populates
+`Subject`. At this time, only the xref:cxf-component.adoc[CXF] component 
populates
 the `Exchange.AUTHENTICATION` header.
 
 [[SpringSecurity-Handlingauthenticationandauthorizationerrors]]
diff --git a/docs/components/modules/ROOT/pages/spring.adoc 
b/docs/components/modules/ROOT/pages/spring.adoc
index dc76de0..7476461 100644
--- a/docs/components/modules/ROOT/pages/spring.adoc
+++ b/docs/components/modules/ROOT/pages/spring.adoc
@@ -5,7 +5,7 @@ Apache Camel is designed to work nicely with the
 http://www.springframework.org/[Spring Framework] in a number of ways.
 
 * Camel uses Spring Transactions as the default transaction handling in
-components like <<jms-component,JMS>> and <<jms-component,JPA>>
+components like xref:jms-component,JMS>> and <<jms-component.adoc[JPA]
 * Camel works with Spring 2 XML processing with the
 Xml Configuration
 * Camel Spring XML Schema's is defined at xref:xml-reference.adoc[Xml
@@ -25,8 +25,8 @@ and auto-expose Spring beans as components and endpoints.
 * Allows you to reuse the Spring Testing
 framework to simplify your unit and integration testing using
 xref:enterprise-integration-patterns.adoc[Enterprise Integration
-Patterns] and Camel's powerful <<mock-component,Mock>> and
-<<test-component,Test>> endpoints
+Patterns] and Camel's powerful xref:mock-component.adoc[Mock] and
+xref:test-component.adoc[Test] endpoints
 Camel supports Spring Boot using the `camel-spring-boot` component.
 
 === Using Spring to configure the CamelContext
diff --git a/docs/components/modules/ROOT/pages/sql-component.adoc 
b/docs/components/modules/ROOT/pages/sql-component.adoc
index fbc3270..b35f887 100644
--- a/docs/components/modules/ROOT/pages/sql-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 1.4*
 
 The SQL component allows you to work with databases using JDBC
-queries. The difference between this component and <<jdbc-component,JDBC>>
+queries. The difference between this component and 
xref:jdbc-component.adoc[JDBC]
 component is that in case of SQL the query is a property of the endpoint
 and it uses message payload as parameters passed to the query.
 
diff --git a/docs/components/modules/ROOT/pages/stub-component.adoc 
b/docs/components/modules/ROOT/pages/stub-component.adoc
index ee147c6..c16971c 100644
--- a/docs/components/modules/ROOT/pages/stub-component.adoc
+++ b/docs/components/modules/ROOT/pages/stub-component.adoc
@@ -6,12 +6,12 @@
 The Stub component provides a simple way to stub out any physical
 endpoints while in development or testing, allowing you for example to
 run a route without needing to actually connect to a specific
-<<mail-component,SMTP>> or <<mail-component,Http>> endpoint. Just add *stub:*
+xref:mail-component,SMTP>> or <<mail-component.adoc[Http] endpoint. Just add 
*stub:*
 in front of any endpoint URI to stub out the endpoint.
 
-Internally the Stub component creates <<vm-component,VM>> endpoints. The
-main difference between <<stub-component,Stub>> and <<stub-component,VM>> is
-that <<vm-component,VM>> will validate the URI and parameters you give it,
+Internally the Stub component creates xref:vm-component.adoc[VM] endpoints. The
+main difference between xref:stub-component,Stub>> and 
<<stub-component.adoc[VM] is
+that xref:vm-component.adoc[VM] will validate the URI and parameters you give 
it,
 so putting vm: in front of a typical URI with query arguments will
 usually fail. Stub won't though, as it basically ignores all query
 parameters to let you quickly stub out one or more endpoints in your
diff --git a/docs/components/modules/ROOT/pages/syslog-dataformat.adoc 
b/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
index 8a56504..bf0b3b8 100644
--- a/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
@@ -13,8 +13,8 @@ This component supports the following:
 SyslogMessage model objects.
 * Type Converter from/to SyslogMessage and
 String
-* Integration with the <<mina2-component,camel-mina>> component.
-* Integration with the <<netty-component,camel-netty>> component.
+* Integration with the xref:mina2-component.adoc[camel-mina] component.
+* Integration with the xref:netty-component.adoc[camel-netty] component.
 * Encoder and decoder for
 the xref:netty4-component.adoc[Netty4 Component] component.
 * Support for RFC5424 also.
diff --git a/docs/components/modules/ROOT/pages/test-blueprint.adoc 
b/docs/components/modules/ROOT/pages/test-blueprint.adoc
index f7dd187..ca95566 100644
--- a/docs/components/modules/ROOT/pages/test-blueprint.adoc
+++ b/docs/components/modules/ROOT/pages/test-blueprint.adoc
@@ -113,7 +113,7 @@ services.put("myService", asService(myService, null));
 ------------------------------------------------------
 
 This allows us to use the service by calling a method on it from a Camel
-<<bean-component,Bean>> component in a route as shown:
+xref:bean-component.adoc[Bean] component in a route as shown:
 
 [source,xml]
 --------------------------------
diff --git a/docs/components/modules/ROOT/pages/test-cdi.adoc 
b/docs/components/modules/ROOT/pages/test-cdi.adoc
index 4328d5e..33525a3 100644
--- a/docs/components/modules/ROOT/pages/test-cdi.adoc
+++ b/docs/components/modules/ROOT/pages/test-cdi.adoc
@@ -17,7 +17,7 @@ Camel:
 [width="100%",cols="1,1,4",options="header",]
 |=======================================================================
 |Name |Testing Frameworks Supported |Description
-|<<CDITesting-CamelCDITest,Camel CDI Test>> a|
+|xref:CDITesting-CamelCDITest.adoc[Camel CDI Test] a|
 * JUnit 4
 
  a|
@@ -26,7 +26,7 @@ that bootstraps a test environment using CDI so that you 
don't have to
 be familiar with any CDI testing frameworks and can concentrate on the
 testing logic of your Camel CDI applications.
 
-|<<CDITesting-Arquillian,Arquillian>> a|
+|xref:CDITesting-Arquillian.adoc[Arquillian] a|
 * JUnit 4
 * TestNG 5
 
@@ -43,7 +43,7 @@ descriptors]. The benefit is that you have a very 
fine-grained control
 over the application configuration that you want to test. The downside
 is more code and more complex _classpath_ / class loading structure.
 
-|<<CDITesting-PAXExam,PAX Exam>> a|
+|xref:CDITesting-PAXExam.adoc[PAX Exam] a|
 * JUnit 4
 * TestNG 6
 
@@ -278,7 +278,7 @@ Using ShrinkWarp Descriptors, you have a complete control 
over the
 configuration and kind of Camel CDI applications you want to test. For
 example, to test a Camel CDI application that uses the Camel
 REST DSL configured with the
-<<servlet-component,Servlet component>>, you need to create a Web archive,
+xref:servlet-component.adoc[Servlet component], you need to create a Web 
archive,
 e.g.:
 
 [source,java]
@@ -629,7 +629,7 @@ Camel context bean provided by the Camel CDI component.
 can _advice_ an existing route before its being tested. It allows to
 add http://camel.apache.org/intercept.html[Intercept] or _weave_ routes
 for testing purpose, for example using
-the <<mock-component,Mock>> component.
+the xref:mock-component.adoc[Mock] component.
 
 It is recommended to only advice routes which are not started already.
 To meet that requirement, you can use the `CamelContextStartingEvent`
diff --git a/docs/components/modules/ROOT/pages/test-spring.adoc 
b/docs/components/modules/ROOT/pages/test-spring.adoc
index 42647fd..a952601 100644
--- a/docs/components/modules/ROOT/pages/test-spring.adoc
+++ b/docs/components/modules/ROOT/pages/test-spring.adoc
@@ -15,7 +15,7 @@ We can use Spring for IoC and the Camel 
http://camel.apache.org/mock.html[Mock]
 [width="100%",cols="1,1,4,1",options="header",]
 |=======================================================================
 |Name |Testing Frameworks Supported |Description |Required Camel Test 
Dependencies
-|<<SpringTesting-CamelSpringTestSupport,CamelSpringTestSupport>> a|
+|xref:SpringTesting-CamelSpringTestSupport.adoc[CamelSpringTestSupport] a|
 * JUnit 3.x (deprecated)
 * JUnit 4.x
 * TestNG
@@ -34,7 +34,7 @@ a|
 * JUnit 4.x - camel-test-spring
 * TestNG - camel-test-ng
 
-|<<SpringTesting-PlainSpringTest,Plain Spring Test>> a|
+|xref:SpringTesting-PlainSpringTest.adoc[Plain Spring Test] a|
 * JUnit 3.x
 * JUnit 4.x
 * TestNG
@@ -59,7 +59,7 @@ a|
 * JUnit 4.x - None
 * TestNG - None
 
-|<<SpringTesting-CamelEnhancedSpringTest,Camel Enhanced Spring Test>> a|
+|xref:SpringTesting-CamelEnhancedSpringTest.adoc[Camel Enhanced Spring Test] a|
 * JUnit 4.x
 * TestNG
 
diff --git a/docs/components/modules/ROOT/pages/timer-component.adoc 
b/docs/components/modules/ROOT/pages/timer-component.adoc
index eda5704..48f285f 100644
--- a/docs/components/modules/ROOT/pages/timer-component.adoc
+++ b/docs/components/modules/ROOT/pages/timer-component.adoc
@@ -24,7 +24,7 @@ You can append query options to the URI in the following 
format,
 `exchange.getIn().getBody()` returns `null`.
 
 TIP:*Advanced Scheduler*
-See also the <<quartz-component,Quartz>> component that supports much more
+See also the xref:quartz-component.adoc[Quartz] component that supports much 
more
 advanced scheduling.
 
 TIP:*Specify time in human friendly format*
@@ -205,5 +205,5 @@ starting the route. To do that you use the repeatCount 
option as shown:
 
 === See Also
 
-* <<scheduler-component,Scheduler>>
-* <<quartz-component,Quartz>>
+* xref:scheduler-component.adoc[Scheduler]
+* xref:quartz-component.adoc[Quartz]
diff --git a/docs/components/modules/ROOT/pages/twitter.adoc 
b/docs/components/modules/ROOT/pages/twitter.adoc
index f25f233..6a7668b 100644
--- a/docs/components/modules/ROOT/pages/twitter.adoc
+++ b/docs/components/modules/ROOT/pages/twitter.adoc
@@ -4,10 +4,10 @@
 
 The Camel Twitter consists of 4 components:
 
-* <<twitter-directmessage-component,Twitter Direct Message>>
-* <<twitter-search-component,Twitter Search>>
-* <<twitter-streaming-component,Twitter Streaming>>
-* <<twitter-timeline-component,Twitter Timeline>>
+* xref:twitter-directmessage-component.adoc[Twitter Direct Message]
+* xref:twitter-search-component.adoc[Twitter Search]
+* xref:twitter-streaming-component.adoc[Twitter Streaming]
+* xref:twitter-timeline-component.adoc[Twitter Timeline]
 
 The Twitter components enable the most useful features of the Twitter
 API by encapsulating http://twitter4j.org/[Twitter4J]. It allows direct,
@@ -43,13 +43,13 @@ will be executed five times (one for each Status).
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
 |Endpoint |Context |Body Type |Notice
-|<<twitter-directmessage-component,twitter-directmessage>> |direct, polling 
|twitter4j.DirectMessage | 
+|xref:twitter-directmessage-component.adoc[twitter-directmessage] |direct, 
polling |twitter4j.DirectMessage | 
 
-|<<twitter-search-component,twitter-search>> |direct, polling 
|twitter4j.Status | 
+|xref:twitter-search-component.adoc[twitter-search] |direct, polling 
|twitter4j.Status | 
 
-|<<twitter-streaming-component,twitter-streaming>> |event, polling 
|twitter4j.Status | 
+|xref:twitter-streaming-component.adoc[twitter-streaming] |event, polling 
|twitter4j.Status | 
 
-|<<twitter-timeline-component,twitter-timeline>> |direct, polling 
|twitter4j.Status | 
+|xref:twitter-timeline-component.adoc[twitter-timeline] |direct, polling 
|twitter4j.Status | 
 |=======================================================================
 
 ### Producer endpoints
@@ -57,9 +57,9 @@ will be executed five times (one for each Status).
 [width="100%",cols="10%,10%,80%",options="header",]
 |==============================
 |Endpoint |Body Type |Notice
-|<<twitter-directmessage-component,twitter-directmessage>> |String |
-|<<twitter-search-component,twitter-search>> |List<twitter4j.Status> |
-|<<twitter-timeline-component,twitter-timeline>> |String |Only 'user' 
timelineType is supported for producer
+|xref:twitter-directmessage-component.adoc[twitter-directmessage] |String |
+|xref:twitter-search-component.adoc[twitter-search] |List<twitter4j.Status> |
+|xref:twitter-timeline-component.adoc[twitter-timeline] |String |Only 'user' 
timelineType is supported for producer
 |==============================
 
 ### Message headers
diff --git a/docs/components/modules/ROOT/pages/undertow-component.adoc 
b/docs/components/modules/ROOT/pages/undertow-component.adoc
index f9287bd..8ec4319 100644
--- a/docs/components/modules/ROOT/pages/undertow-component.adoc
+++ b/docs/components/modules/ROOT/pages/undertow-component.adoc
@@ -154,7 +154,7 @@ The component supports 11 options, which are listed below.
 
 === Message Headers
 
-Camel uses the same message headers as the <<http-component,HTTP>>
+Camel uses the same message headers as the xref:http-component.adoc[HTTP]
 component. It also uses `Exchange.HTTP_CHUNKED,CamelHttpChunked` header to 
turn on or turn off
 the chunked encoding on the camel-undertow consumer.
 
diff --git a/docs/components/modules/ROOT/pages/validator-component.adoc 
b/docs/components/modules/ROOT/pages/validator-component.adoc
index 147351b..9fc2ecf 100644
--- a/docs/components/modules/ROOT/pages/validator-component.adoc
+++ b/docs/components/modules/ROOT/pages/validator-component.adoc
@@ -8,14 +8,14 @@ using the JAXP Validation API and based on any of the 
supported XML
 schema languages, which defaults to http://www.w3.org/XML/Schema[XML
 Schema]
 
-Note that the <<jing-component,Jing>> component also supports the following
+Note that the xref:jing-component.adoc[Jing] component also supports the 
following
 useful schema languages:
 
 * http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax]
 * http://relaxng.org/[RelaxNG XML Syntax]
 
-The <<msv-component,MSV>> component also supports
+The xref:msv-component.adoc[MSV] component also supports
 http://relaxng.org/[RelaxNG XML Syntax].
 
 === URI format
diff --git a/docs/components/modules/ROOT/pages/vm-component.adoc 
b/docs/components/modules/ROOT/pages/vm-component.adoc
index 26bdec2..c9389b9 100644
--- a/docs/components/modules/ROOT/pages/vm-component.adoc
+++ b/docs/components/modules/ROOT/pages/vm-component.adoc
@@ -9,12 +9,12 @@ messages on a
 
http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[BlockingQueue]
 and invoking consumers in a separate thread pool.
 
-This component differs from the <<seda-component,Seda>> component in that
+This component differs from the xref:seda-component.adoc[Seda] component in 
that
 VM supports communication across CamelContext instances - so you can use
 this mechanism to communicate across web applications (provided that
 `camel-core.jar` is on the `system/boot` classpath).
 
-VM is an extension to the <<seda-component,Seda>> component.
+VM is an extension to the xref:seda-component.adoc[Seda] component.
 
 === URI format
 
@@ -141,8 +141,8 @@ The component supports 8 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-See the <<seda-component,Seda>> component for options and other important
-usage details as the same rules apply to the <<vm-component,Vm>> component.
+See the xref:seda-component.adoc[Seda] component for options and other 
important
+usage details as the same rules apply to the xref:vm-component.adoc[Vm] 
component.
 
 === Samples
 
@@ -164,4 +164,4 @@ from("vm:order.email").bean(MyOrderEmailSender.class);
 
 === See Also
 
-* <<seda-component,Seda>>
+* xref:seda-component.adoc[Seda]
diff --git a/docs/components/modules/ROOT/pages/websocket-component.adoc 
b/docs/components/modules/ROOT/pages/websocket-component.adoc
index 408b18c..16f3864 100644
--- a/docs/components/modules/ROOT/pages/websocket-component.adoc
+++ b/docs/components/modules/ROOT/pages/websocket-component.adoc
@@ -186,7 +186,7 @@ message, we need to send the transformed message to the 
same endpoint
 
 This example is part of an unit test, which you can find
 
https://svn.apache.org/repos/asf/camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketRouteExampleTest.java[here].
-As a client we use the <<ahc-component,AHC>> library which offers support
+As a client we use the xref:ahc-component.adoc[AHC] library which offers 
support
 for web socket as well.
 
 Here is another example where webapp resources location have been
@@ -288,8 +288,8 @@ Java DSL based configuration of endpoint
 * Endpoint
 * Getting Started
 
-* <<ahc-component,AHC>>
-* <<jetty-component,Jetty>>
+* xref:ahc-component.adoc[AHC]
+* xref:jetty-component.adoc[Jetty]
 * Twitter Websocket Example
 demonstrates how to poll a constant feed of twitter searches and publish
 results in real time using web socket to a web page.
diff --git a/docs/components/modules/ROOT/pages/xpath-language.adoc 
b/docs/components/modules/ROOT/pages/xpath-language.adoc
index e4c6fff..31fe4c2 100644
--- a/docs/components/modules/ROOT/pages/xpath-language.adoc
+++ b/docs/components/modules/ROOT/pages/xpath-language.adoc
@@ -16,7 +16,7 @@ Recipient List.
 If the message body is stream based, which means the input it receives
 is submitted to Camel as a stream. That means you will only be able to
 read the content of the stream *once*. So often when you use
-<<xpath-language,XPath>> as <<xpath-language,Message Filter>> or
+xref:xpath-language,XPath>> as <<xpath-language.adoc[Message Filter] or
 Content Based Router then you need to
 access the data multiple times, and you should use
 Stream Caching or convert the message body to
@@ -125,9 +125,9 @@ exchange:
 |out:header |the header name |Object |Will return the *out* message header.
 
 |function:properties |key for property |String |To lookup a property using the
-<<properties-component,Properties>> component (property placeholders).
+xref:properties-component.adoc[Properties] component (property placeholders).
 
-|function:simple |simple expression |Object |To evaluate a 
<<simple-language,Simple>> expression.
+|function:simple |simple expression |Object |To evaluate a 
xref:simple-language.adoc[Simple] expression.
 |===
 
 CAUTION: `function:properties` and `function:simple` is not supported
@@ -170,10 +170,10 @@ on the mailinglist] about using your own namespaces with 
xpath
 
 === Setting result type
 
-The <<xpath-language,XPath>> expression will return a result type using
+The xref:xpath-language.adoc[XPath] expression will return a result type using
 native XML objects such as `org.w3c.dom.NodeList`. But many times you
 want a result type to be a String. To do this you have to instruct the
-<<xpath-language,XPath>> which result type to use.
+xref:xpath-language.adoc[XPath] which result type to use.
 
 In Java DSL:
 
@@ -420,7 +420,7 @@ Any of these options can be used to activate this logging:
 `org.apache.camel.builder.xml.XPathBuilder` logger, or some parent
 logger such as `org.apache.camel` or the root logger
 2.  Enable the `logNamespaces` option as indicated in
-<<xpath-language,Auditing Namespaces>>, in which case the logging will
+xref:xpath-language.adoc[Auditing Namespaces], in which case the logging will
 occur on the INFO level
 
 === Auditing namespaces
diff --git a/docs/components/modules/ROOT/pages/xslt-component.adoc 
b/docs/components/modules/ROOT/pages/xslt-component.adoc
index 7aa81b3..9c35e61 100644
--- a/docs/components/modules/ROOT/pages/xslt-component.adoc
+++ b/docs/components/modules/ROOT/pages/xslt-component.adoc
@@ -35,7 +35,7 @@ Documentation] for more detail of the URI syntax.
 |xslt:http://acme.com/cheese/foo.xsl|Refers to the remote http resource
 |=================================================================
 
-The <<xslt-component,XSLT>> component is provided directly in the camel-core.
+The xref:xslt-component.adoc[XSLT] component is provided directly in the 
camel-core.
 
 === Options
 

Reply via email to