You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2018/02/09 13:24:51 UTC

[camel] branch master updated (ee26d31 -> 61a5883)

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

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


    from ee26d31  Upgrade Rest Assured to version 3.0.7
     new 2f368e5  CAMEL-12246 Fixed a duplicate ID in the AsciiDoc source
     new 1a9242c  CAMEL-12246 Replaced file links with AsciiDoc internal cross references
     new 3e4021b  CAMEL-12246 Replaced file links that were split over two lines (manually)
     new 61a5883  CAMEL-12246 Replaced bad links with plain text, except for the files in camel-core/src/main/docs/eips/, which will be fixed later

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 camel-core/src/main/docs/bean-component.adoc       |  34 ++--
 camel-core/src/main/docs/bean-language.adoc        |  26 +--
 camel-core/src/main/docs/binding-component.adoc    |  14 +-
 camel-core/src/main/docs/browse-component.adoc     |  10 +-
 camel-core/src/main/docs/class-component.adoc      |  26 +--
 camel-core/src/main/docs/constant-language.adoc    |   4 +-
 camel-core/src/main/docs/controlbus-component.adoc |  28 ++--
 camel-core/src/main/docs/dataformat-component.adoc |   8 +-
 camel-core/src/main/docs/dataset-component.adoc    |  20 +--
 camel-core/src/main/docs/direct-component.adoc     |  10 +-
 camel-core/src/main/docs/direct-vm-component.adoc  |  10 +-
 camel-core/src/main/docs/dynamic-router.adoc       |  42 ++---
 camel-core/src/main/docs/eips/aggregate-eip.adoc   |   2 +-
 camel-core/src/main/docs/eips/bean-eip.adoc        |   6 +-
 .../src/main/docs/eips/correlation-identifier.adoc |   4 +-
 .../src/main/docs/eips/dead-letter-channel.adoc    |   2 +-
 camel-core/src/main/docs/eips/event-message.adoc   |   4 +-
 .../src/main/docs/eips/guaranteed-delivery.adoc    |  12 +-
 .../src/main/docs/eips/idempotentConsumer-eip.adoc |  12 +-
 camel-core/src/main/docs/eips/log-eip.adoc         |   6 +-
 camel-core/src/main/docs/eips/message-bus.adoc     |   2 +-
 camel-core/src/main/docs/eips/message-channel.adoc |   2 +-
 .../src/main/docs/eips/message-endpoint.adoc       |  12 +-
 .../src/main/docs/eips/message-translator.adoc     |   2 +-
 .../src/main/docs/eips/point-to-point-channel.adoc |  10 +-
 .../main/docs/eips/publish-subscribe-channel.adoc  |   8 +-
 camel-core/src/main/docs/file-component.adoc       |  64 ++++----
 camel-core/src/main/docs/file-language.adoc        |  45 +++---
 camel-core/src/main/docs/gzip-dataformat.adoc      |   4 +-
 camel-core/src/main/docs/language-component.adoc   |  20 +--
 camel-core/src/main/docs/log-component.adoc        |   8 +-
 camel-core/src/main/docs/mock-component.adoc       |  70 ++++----
 camel-core/src/main/docs/properties-component.adoc |  46 +++---
 camel-core/src/main/docs/ref-component.adoc        |   8 +-
 camel-core/src/main/docs/ref-language.adoc         |  12 +-
 camel-core/src/main/docs/request-reply.adoc        |  14 +-
 camel-core/src/main/docs/rest-api-component.adoc   |   4 +-
 camel-core/src/main/docs/rest-component.adoc       |  12 +-
 camel-core/src/main/docs/rest-dsl.adoc             |  46 +++---
 camel-core/src/main/docs/return-address.adoc       |   6 +-
 camel-core/src/main/docs/scheduler-component.adoc  |   8 +-
 camel-core/src/main/docs/seda-component.adoc       |  32 ++--
 .../src/main/docs/serialization-dataformat.adoc    |   4 +-
 camel-core/src/main/docs/simple-language.adoc      |  62 +++----
 camel-core/src/main/docs/string-dataformat.adoc    |   2 +-
 camel-core/src/main/docs/stub-component.adoc       |   8 +-
 camel-core/src/main/docs/test-component.adoc       |  26 +--
 camel-core/src/main/docs/timer-component.adoc      |   8 +-
 camel-core/src/main/docs/tokenize-language.adoc    |   6 +-
 camel-core/src/main/docs/transformer.adoc          |  12 +-
 camel-core/src/main/docs/validator-component.adoc  |   6 +-
 camel-core/src/main/docs/validator.adoc            |  14 +-
 camel-core/src/main/docs/vm-component.adoc         |  14 +-
 camel-core/src/main/docs/xpath-language.adoc       |  42 ++---
 camel-core/src/main/docs/xslt-component.adoc       |  12 +-
 camel-core/src/main/docs/xtokenize-language.adoc   |   4 +-
 camel-core/src/main/docs/zip-dataformat.adoc       |   2 +-
 .../src/main/docs/ahc-ws-component.adoc            |  14 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  16 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  12 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   4 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |  10 +-
 .../main/docs/atmosphere-websocket-component.adoc  |  16 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |  10 +-
 .../camel-aws-xray/src/main/docs/aws-xray.adoc     |   2 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |  14 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |  14 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |  16 +-
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |  12 +-
 .../src/main/docs/aws-kinesis-component.adoc       |  16 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |  12 +-
 .../src/main/docs/aws-lambda-component.adoc        |  12 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |  12 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |  16 +-
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |  18 +--
 .../camel-aws/src/main/docs/aws-swf-component.adoc |  14 +-
 .../src/main/docs/azure-blob-component.adoc        |  10 +-
 .../src/main/docs/azure-queue-component.adoc       |  10 +-
 components/camel-azure/src/main/docs/azure.adoc    |   4 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |  34 ++--
 components/camel-bam/src/main/docs/bam.adoc        |   8 +-
 .../src/main/docs/barcode-dataformat.adoc          |   2 +-
 .../src/main/docs/bean-validator-component.adoc    |   8 +-
 .../src/main/docs/beanio-dataformat.adoc           |   6 +-
 .../src/main/docs/beanstalk-component.adoc         |  10 +-
 .../src/main/docs/bindy-dataformat.adoc            |   8 +-
 .../src/main/docs/bonita-component.adoc            |   2 +-
 .../camel-cache/src/main/docs/cache-component.adoc |   2 +-
 .../src/main/docs/castor-dataformat.adoc           |   4 +-
 components/camel-cdi/src/main/docs/cdi.adoc        |  12 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |  10 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   8 +-
 .../src/main/docs/cometd-component.adoc            |   8 +-
 .../src/main/docs/context-component.adoc           |   4 +-
 .../src/main/docs/crypto-component.adoc            |  10 +-
 .../src/main/docs/crypto-dataformat.adoc           |   8 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   6 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc    |  10 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  10 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |   2 +-
 .../src/main/docs/disruptor-component.adoc         |  10 +-
 .../src/main/docs/docker-component.adoc            |   2 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   8 +-
 .../camel-eclipse/src/main/docs/eclipse.adoc       |   6 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |  32 ++--
 .../src/main/docs/elasticsearch-component.adoc     |   8 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   8 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |  18 +--
 .../camel-exec/src/main/docs/exec-component.adoc   |  11 +-
 .../src/main/docs/json-fastjson-dataformat.adoc    |   4 +-
 .../src/main/docs/flatpack-component.adoc          |  16 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   6 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   8 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   8 +-
 .../src/main/docs/freemarker-component.adoc        |  10 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  28 ++--
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   2 +-
 .../src/main/docs/geocoder-component.adoc          |   2 +-
 .../camel-grape/src/main/docs/grape-component.adoc |   8 +-
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |  12 +-
 .../src/main/docs/groovy-language.adoc             |  20 +--
 .../camel-grpc/src/main/docs/grpc-component.adoc   |  10 +-
 .../src/main/docs/json-gson-dataformat.adoc        |   4 +-
 components/camel-guice/src/main/docs/guice.adoc    |  16 +-
 components/camel-hawtdb/src/main/docs/hawtdb.adoc  |  44 ++---
 .../main/docs/hazelcast-atomicvalue-component.adoc |   2 +-
 .../main/docs/hazelcast-instance-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   2 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   2 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   2 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   2 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   2 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   2 +-
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   |  22 +--
 .../camel-hbase/src/main/docs/hbase-component.adoc |   2 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |   8 +-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   8 +-
 .../src/main/docs/hipchat-component.adoc           |   6 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |  24 +--
 .../camel-http/src/main/docs/http-component.adoc   |  20 +--
 .../camel-http4/src/main/docs/http4-component.adoc |   8 +-
 .../src/main/docs/ibatis-component.adoc            |  16 +-
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   8 +-
 .../src/main/docs/ignite-cache-component.adoc      |   2 +-
 .../src/main/docs/ignite-compute-component.adoc    |   2 +-
 .../src/main/docs/ignite-events-component.adoc     |   2 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   2 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   2 +-
 .../src/main/docs/ignite-queue-component.adoc      |   2 +-
 .../src/main/docs/ignite-set-component.adoc        |   2 +-
 components/camel-ignite/src/main/docs/ignite.adoc  |  14 +-
 .../src/main/docs/infinispan-component.adoc        |   8 +-
 .../src/main/docs/influxdb-component.adoc          |   8 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   8 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   4 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   6 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |  34 ++--
 .../src/main/docs/javaspace-component.adoc         |   8 +-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |  24 +--
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   8 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   8 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |  20 +--
 .../src/main/docs/jetty-component.adoc             |  28 ++--
 .../src/main/docs/jgroups-component.adoc           |   6 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   4 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |  10 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  88 +++++-----
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  20 +--
 .../src/main/docs/json-johnzon-dataformat.adoc     |   4 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   8 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  20 +--
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   8 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |  10 +-
 .../src/main/docs/jsonpath-language.adoc           |  10 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |   8 +-
 .../camel-juel/src/main/docs/el-language.adoc      |  14 +-
 .../src/main/docs/jxpath-language.adoc             |  20 +--
 .../src/main/docs/kestrel-component.adoc           |   8 +-
 .../src/main/docs/kubernetes-component.adoc        |  28 ++--
 .../docs/kubernetes-config-maps-component.adoc     |   2 +-
 .../docs/kubernetes-deployments-component.adoc     |   2 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   2 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   2 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   2 +-
 .../kubernetes-persistent-volumes-component.adoc   |   2 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   2 +-
 ...bernetes-replication-controllers-component.adoc |   2 +-
 .../docs/kubernetes-resources-quota-component.adoc |   2 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   2 +-
 .../kubernetes-service-accounts-component.adoc     |   2 +-
 .../main/docs/kubernetes-services-component.adoc   |   2 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc |  26 +--
 .../docs/openshift-build-configs-component.adoc    |   2 +-
 .../src/main/docs/openshift-builds-component.adoc  |   2 +-
 components/camel-kura/src/main/docs/kura.adoc      |   8 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   8 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |  44 ++---
 .../camel-mail/src/main/docs/mail-component.adoc   |  34 ++--
 .../src/main/docs/master-component.adoc            |   8 +-
 .../src/main/docs/metrics-component.adoc           |  10 +-
 .../src/main/docs/milo-client-component.adoc       |   8 +-
 .../src/main/docs/milo-server-component.adoc       |   8 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |  22 +--
 .../camel-mina2/src/main/docs/mina2-component.adoc |  22 +--
 .../src/main/docs/mongodb-gridfs-component.adoc    |   2 +-
 .../src/main/docs/mongodb-component.adoc           |  12 +-
 .../src/main/docs/mongodb3-component.adoc          |  12 +-
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |  18 +--
 .../camel-msv/src/main/docs/msv-component.adoc     |  10 +-
 .../src/main/docs/mustache-component.adoc          |  10 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |  10 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |  16 +-
 .../src/main/docs/mybatis-component.adoc           |  18 +--
 .../src/main/docs/nagios-component.adoc            |  20 +--
 .../src/main/docs/netty-http-component.adoc        |  52 +++---
 .../camel-netty/src/main/docs/netty-component.adoc |  28 ++--
 .../src/main/docs/netty4-http-component.adoc       |  34 ++--
 .../src/main/docs/netty4-component.adoc            |  26 +--
 .../camel-ognl/src/main/docs/ognl-language.adoc    |  16 +-
 .../src/main/docs/openshift-component.adoc         |   8 +-
 .../src/main/docs/openstack-cinder-component.adoc  |  10 +-
 .../src/main/docs/openstack-glance-component.adoc  |  10 +-
 .../main/docs/openstack-keystone-component.adoc    |  10 +-
 .../src/main/docs/openstack-neutron-component.adoc |  10 +-
 .../src/main/docs/openstack-nova-component.adoc    |  10 +-
 .../src/main/docs/openstack-swift-component.adoc   |  10 +-
 .../camel-openstack/src/main/docs/openstack.adoc   |  12 +-
 .../src/main/docs/opentracing.adoc                 |   4 +-
 .../src/main/docs/optaplanner-component.adoc       |   8 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   8 +-
 .../src/main/docs/pgevent-component.adoc           |   8 +-
 .../src/main/docs/protobuf-dataformat.adoc         |   6 +-
 .../src/main/docs/pubnub-component.adoc            |  10 +-
 .../src/main/docs/quartz-component.adoc            |  22 +--
 .../src/main/docs/quartz2-component.adoc           |  26 +--
 .../src/main/docs/quickfix-component.adoc          |  12 +-
 .../src/main/docs/rabbitmq-component.adoc          |   8 +-
 .../src/main/docs/reactive-streams-component.adoc  |   8 +-
 .../src/main/docs/rest-swagger-component.adoc      |  16 +-
 .../src/main/docs/restlet-component.adoc           |  12 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |  10 +-
 .../src/main/docs/routebox-component.adoc          |   4 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |  12 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |  22 +--
 components/camel-rx/src/main/docs/rx.adoc          |   5 +-
 .../src/main/docs/salesforce-component.adoc        |  14 +-
 .../src/main/docs/sap-netweaver-component.adoc     |  10 +-
 .../src/main/docs/xquery-component.adoc            |  22 +--
 .../camel-saxon/src/main/docs/xquery-language.adoc |  22 +--
 .../camel-scala/src/main/docs/scala-eip.adoc       |  16 +-
 .../src/main/docs/scala-getting-started.adoc       |   6 +-
 .../src/main/docs/scala-supported-languages.adoc   |  10 +-
 components/camel-scala/src/main/docs/scala.adoc    |  16 +-
 .../src/main/docs/javaScript-language.adoc         |  22 +--
 .../camel-script/src/main/docs/php-language.adoc   |  20 +--
 .../src/main/docs/python-language.adoc             |  22 +--
 .../camel-script/src/main/docs/ruby-language.adoc  |  22 +--
 components/camel-script/src/main/docs/script.adoc  |  12 +-
 .../src/main/docs/servlet-component.adoc           |  26 +--
 .../src/main/docs/servletlistener.adoc             |  50 +++---
 components/camel-shiro/src/main/docs/shiro.adoc    |   2 +-
 .../src/main/docs/sjms-batch-component.adoc        |   8 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   8 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |   8 +-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   6 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   8 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   8 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |  10 +-
 .../src/main/docs/spark-rest-component.adoc        |  14 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   8 +-
 .../src/main/docs/splunk-component.adoc            |   8 +-
 .../src/main/docs/spring-batch-component.adoc      |   6 +-
 .../src/main/docs/spring-boot.adoc                 |  12 +-
 .../main/docs/spring-integration-component.adoc    |   8 +-
 .../src/main/docs/spring-javaconfig.adoc           |   4 +-
 .../src/main/docs/spring-redis-component.adoc      |   8 +-
 .../src/main/docs/spring-security.adoc             |  16 +-
 .../src/main/docs/spring-ws-component.adoc         |  12 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |  10 +-
 .../src/main/docs/spring-event-component.adoc      |   8 +-
 components/camel-spring/src/main/docs/spring.adoc  |  56 +++----
 .../camel-sql/src/main/docs/sql-component.adoc     |  30 ++--
 .../src/main/docs/sql-stored-component.adoc        |  12 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   8 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |  14 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |  18 +--
 .../src/main/docs/stream-component.adoc            |   8 +-
 .../src/main/docs/string-template-component.adoc   |  10 +-
 .../src/main/docs/swagger-java.adoc                |   4 +-
 .../camel-swagger/src/main/docs/swagger.adoc       |   8 +-
 .../src/main/docs/syslog-dataformat.adoc           |  24 +--
 .../src/main/docs/tidyMarkup-dataformat.adoc       |  10 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   8 +-
 .../src/main/docs/test-blueprint.adoc              |   6 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |  10 +-
 components/camel-test/src/main/docs/test.adoc      |  34 ++--
 .../src/main/docs/thrift-component.adoc            |   8 +-
 .../src/main/docs/thrift-dataformat.adoc           |   4 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   8 +-
 .../src/main/docs/twitter-component.adoc           |  20 +--
 .../camel-twitter/src/main/docs/twitter.adoc       |  32 ++--
 .../src/main/docs/undertow-component.adoc          |  16 +-
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc |  38 ++---
 .../src/main/docs/velocity-component.adoc          |  10 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   8 +-
 .../src/main/docs/websocket-component.adoc         |  18 +--
 .../src/main/docs/xmlBeans-dataformat.adoc         |   4 +-
 .../src/main/docs/xmljson-dataformat.adoc          |   6 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   2 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   8 +-
 .../src/main/docs/json-xstream-dataformat.adoc     |   2 +-
 .../src/main/docs/xstream-dataformat.adoc          |   2 +-
 .../src/main/docs/yammer-component.adoc            |   8 +-
 .../src/main/docs/zipfile-dataformat.adoc          |   8 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |  12 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   8 +-
 .../src/main/docs/zookeeper-component.adoc         |  12 +-
 docs/user-manual/en/architecture.adoc              |  26 +--
 docs/user-manual/en/async.adoc                     | 180 ++++++++++-----------
 .../en/asynchronous-routing-engine.adoc            |  56 +++----
 docs/user-manual/en/backlogdebugger.adoc           |  22 +--
 docs/user-manual/en/bam-example.adoc               |  34 ++--
 docs/user-manual/en/bam.adoc                       |   8 +-
 docs/user-manual/en/batch-consumer.adoc            |  38 ++---
 docs/user-manual/en/bean-integration.adoc          |  56 +++----
 docs/user-manual/en/book-getting-started.adoc      |  12 +-
 docs/user-manual/en/browsable-endpoint.adoc        |  14 +-
 docs/user-manual/en/building.adoc                  |  12 +-
 .../en/camel-configuration-utilities.adoc          |  20 +--
 docs/user-manual/en/camelcontext.adoc              |  12 +-
 docs/user-manual/en/cep.adoc                       |   8 +-
 docs/user-manual/en/debugger.adoc                  |  22 +--
 docs/user-manual/en/delay-interceptor.adoc         |   4 +-
 docs/user-manual/en/dependency-injection.adoc      |   8 +-
 docs/user-manual/en/dsl.adoc                       |  24 +--
 docs/user-manual/en/endpoint.adoc                  |  18 +--
 .../en/enterprise-integration-patterns.adoc        | 110 ++++++-------
 docs/user-manual/en/error-handler.adoc             | 148 ++++++++---------
 docs/user-manual/en/exchange-pattern.adoc          |  12 +-
 docs/user-manual/en/exchange.adoc                  |  22 +--
 docs/user-manual/en/expression.adoc                |  80 ++++-----
 docs/user-manual/en/getting-started.adoc           |  34 ++--
 docs/user-manual/en/groovy-dsl.adoc                |  12 +-
 .../en/how-do-i-configure-endpoints.adoc           |  49 +++---
 docs/user-manual/en/http-session.adoc              |   6 +-
 docs/user-manual/en/injector.adoc                  |  10 +-
 docs/user-manual/en/intercept.adoc                 |  76 ++++-----
 .../inversion-of-control-with-smart-defaults.adoc  |   4 +-
 docs/user-manual/en/java-dsl.adoc                  |  20 +--
 docs/user-manual/en/json.adoc                      |  18 +--
 docs/user-manual/en/lifecycle.adoc                 |  28 ++--
 docs/user-manual/en/oncompletion.adoc              |  28 ++--
 docs/user-manual/en/registry.adoc                  |   4 +-
 docs/user-manual/en/scala-dsl-eip.adoc             |  16 +-
 docs/user-manual/en/scala-dsl-getting-started.adoc |   6 +-
 .../en/scala-dsl-supported-languages.adoc          |  10 +-
 docs/user-manual/en/scala-dsl.adoc                 |  16 +-
 docs/user-manual/en/scripting-languages.adoc       |  18 +--
 docs/user-manual/en/spring-testing.adoc            |  40 ++---
 docs/user-manual/en/testing.adoc                   |  74 ++++-----
 .../en/using-osgi-blueprint-with-camel.adoc        |   2 +-
 368 files changed, 2738 insertions(+), 2746 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
acosentino@apache.org.

[camel] 04/04: CAMEL-12246 Replaced bad links with plain text, except for the files in camel-core/src/main/docs/eips/, which will be fixed later

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 61a58836da57bab38ce719cbd1effd36253687a4
Author: Fintan Bolton <fb...@redhat.com>
AuthorDate: Fri Feb 9 13:38:18 2018 +0100

    CAMEL-12246 Replaced bad links with plain text, except for the files in camel-core/src/main/docs/eips/, which will be fixed later
---
 camel-core/src/main/docs/bean-component.adoc       |  28 ++--
 camel-core/src/main/docs/bean-language.adoc        |  22 +--
 camel-core/src/main/docs/binding-component.adoc    |  14 +-
 camel-core/src/main/docs/browse-component.adoc     |  10 +-
 camel-core/src/main/docs/class-component.adoc      |  18 +--
 camel-core/src/main/docs/constant-language.adoc    |   4 +-
 camel-core/src/main/docs/controlbus-component.adoc |  14 +-
 camel-core/src/main/docs/dataformat-component.adoc |   6 +-
 camel-core/src/main/docs/dataset-component.adoc    |  14 +-
 camel-core/src/main/docs/dynamic-router.adoc       |  34 ++---
 camel-core/src/main/docs/file-component.adoc       |  36 ++---
 camel-core/src/main/docs/file-language.adoc        |   8 +-
 camel-core/src/main/docs/gzip-dataformat.adoc      |   2 +-
 camel-core/src/main/docs/language-component.adoc   |   8 +-
 camel-core/src/main/docs/log-component.adoc        |   6 +-
 camel-core/src/main/docs/mock-component.adoc       |  50 +++----
 camel-core/src/main/docs/properties-component.adoc |  22 +--
 camel-core/src/main/docs/ref-component.adoc        |   8 +-
 camel-core/src/main/docs/ref-language.adoc         |  12 +-
 camel-core/src/main/docs/request-reply.adoc        |  10 +-
 camel-core/src/main/docs/rest-api-component.adoc   |   4 +-
 camel-core/src/main/docs/rest-component.adoc       |  10 +-
 camel-core/src/main/docs/rest-dsl.adoc             |  24 ++--
 camel-core/src/main/docs/return-address.adoc       |   4 +-
 camel-core/src/main/docs/scheduler-component.adoc  |   2 +-
 camel-core/src/main/docs/seda-component.adoc       |  14 +-
 .../src/main/docs/serialization-dataformat.adoc    |   4 +-
 camel-core/src/main/docs/simple-language.adoc      |  30 ++---
 camel-core/src/main/docs/string-dataformat.adoc    |   2 +-
 camel-core/src/main/docs/test-component.adoc       |  12 +-
 camel-core/src/main/docs/timer-component.adoc      |   2 +-
 camel-core/src/main/docs/tokenize-language.adoc    |   6 +-
 camel-core/src/main/docs/transformer.adoc          |  12 +-
 camel-core/src/main/docs/validator-component.adoc  |   2 +-
 camel-core/src/main/docs/validator.adoc            |  12 +-
 camel-core/src/main/docs/xpath-language.adoc       |  30 ++---
 camel-core/src/main/docs/xslt-component.adoc       |  10 +-
 camel-core/src/main/docs/xtokenize-language.adoc   |   4 +-
 camel-core/src/main/docs/zip-dataformat.adoc       |   2 +-
 .../src/main/docs/ahc-ws-component.adoc            |  10 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  10 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |   8 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   4 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |  10 +-
 .../main/docs/atmosphere-websocket-component.adoc  |  10 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   8 +-
 .../camel-aws-xray/src/main/docs/aws-xray.adoc     |   2 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |  14 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |  14 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |  16 +--
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |  12 +-
 .../src/main/docs/aws-kinesis-component.adoc       |  16 +--
 .../main/docs/aws-kinesis-firehose-component.adoc  |  12 +-
 .../src/main/docs/aws-lambda-component.adoc        |  12 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |  12 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |  16 +--
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |  14 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |  18 +--
 .../camel-aws/src/main/docs/aws-swf-component.adoc |  14 +-
 .../src/main/docs/azure-blob-component.adoc        |  10 +-
 .../src/main/docs/azure-queue-component.adoc       |  10 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |  26 ++--
 components/camel-bam/src/main/docs/bam.adoc        |   8 +-
 .../src/main/docs/barcode-dataformat.adoc          |   2 +-
 .../src/main/docs/bean-validator-component.adoc    |   8 +-
 .../src/main/docs/beanio-dataformat.adoc           |   6 +-
 .../src/main/docs/beanstalk-component.adoc         |  10 +-
 .../src/main/docs/bindy-dataformat.adoc            |   8 +-
 .../src/main/docs/bonita-component.adoc            |   2 +-
 .../camel-cache/src/main/docs/cache-component.adoc |   2 +-
 .../src/main/docs/castor-dataformat.adoc           |   4 +-
 components/camel-cdi/src/main/docs/cdi.adoc        |  12 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |  10 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   8 +-
 .../src/main/docs/cometd-component.adoc            |   8 +-
 .../src/main/docs/context-component.adoc           |   2 +-
 .../src/main/docs/crypto-component.adoc            |  10 +-
 .../src/main/docs/crypto-dataformat.adoc           |   6 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   6 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc    |  10 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  10 +-
 .../src/main/docs/disruptor-component.adoc         |   6 +-
 .../src/main/docs/docker-component.adoc            |   2 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   8 +-
 .../camel-eclipse/src/main/docs/eclipse.adoc       |   6 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |  20 +--
 .../src/main/docs/elasticsearch-component.adoc     |   8 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   8 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   8 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   8 +-
 .../src/main/docs/json-fastjson-dataformat.adoc    |   4 +-
 .../src/main/docs/flatpack-component.adoc          |  14 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   4 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   8 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   8 +-
 .../src/main/docs/freemarker-component.adoc        |  10 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  28 ++--
 .../src/main/docs/geocoder-component.adoc          |   2 +-
 .../camel-grape/src/main/docs/grape-component.adoc |   8 +-
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |  12 +-
 .../src/main/docs/groovy-language.adoc             |  16 +--
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   8 +-
 .../src/main/docs/json-gson-dataformat.adoc        |   4 +-
 components/camel-guice/src/main/docs/guice.adoc    |  16 +--
 components/camel-hawtdb/src/main/docs/hawtdb.adoc  |  44 +++---
 .../main/docs/hazelcast-atomicvalue-component.adoc |   2 +-
 .../main/docs/hazelcast-instance-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   2 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   2 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   2 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   2 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   2 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   2 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   2 +-
 .../camel-hbase/src/main/docs/hbase-component.adoc |   2 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |   6 +-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   6 +-
 .../src/main/docs/hipchat-component.adoc           |   6 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |  12 +-
 .../camel-http/src/main/docs/http-component.adoc   |  12 +-
 .../camel-http4/src/main/docs/http4-component.adoc |   2 +-
 .../src/main/docs/ibatis-component.adoc            |   8 +-
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   8 +-
 .../src/main/docs/ignite-cache-component.adoc      |   2 +-
 .../src/main/docs/ignite-compute-component.adoc    |   2 +-
 .../src/main/docs/ignite-events-component.adoc     |   2 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   2 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   2 +-
 .../src/main/docs/ignite-queue-component.adoc      |   2 +-
 .../src/main/docs/ignite-set-component.adoc        |   2 +-
 .../src/main/docs/infinispan-component.adoc        |   8 +-
 .../src/main/docs/influxdb-component.adoc          |   8 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   8 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   4 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   6 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |  18 +--
 .../src/main/docs/javaspace-component.adoc         |   8 +-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |  20 +--
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   8 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   8 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |  10 +-
 .../src/main/docs/jetty-component.adoc             |  16 +--
 .../src/main/docs/jgroups-component.adoc           |   2 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   4 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   8 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  66 ++++-----
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  18 +--
 .../src/main/docs/json-johnzon-dataformat.adoc     |   4 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   8 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  12 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   6 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   8 +-
 .../src/main/docs/jsonpath-language.adoc           |   8 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |   8 +-
 .../camel-juel/src/main/docs/el-language.adoc      |  14 +-
 .../src/main/docs/jxpath-language.adoc             |  18 +--
 .../src/main/docs/kestrel-component.adoc           |   8 +-
 .../src/main/docs/kubernetes-component.adoc        |   2 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc |   2 +-
 components/camel-kura/src/main/docs/kura.adoc      |   8 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   8 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |  44 +++---
 .../camel-mail/src/main/docs/mail-component.adoc   |  34 ++---
 .../src/main/docs/master-component.adoc            |   8 +-
 .../src/main/docs/metrics-component.adoc           |  10 +-
 .../src/main/docs/milo-client-component.adoc       |   8 +-
 .../src/main/docs/milo-server-component.adoc       |   8 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |  12 +-
 .../camel-mina2/src/main/docs/mina2-component.adoc |  12 +-
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |  18 +--
 .../camel-msv/src/main/docs/msv-component.adoc     |   8 +-
 .../src/main/docs/mustache-component.adoc          |  10 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |  10 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |  16 +--
 .../src/main/docs/mybatis-component.adoc           |  14 +-
 .../src/main/docs/nagios-component.adoc            |  14 +-
 .../src/main/docs/netty-http-component.adoc        |  20 +--
 .../camel-netty/src/main/docs/netty-component.adoc |  20 +--
 .../src/main/docs/netty4-http-component.adoc       |  20 +--
 .../src/main/docs/netty4-component.adoc            |  20 +--
 .../camel-ognl/src/main/docs/ognl-language.adoc    |  16 +--
 .../src/main/docs/openshift-component.adoc         |   8 +-
 .../src/main/docs/openstack-cinder-component.adoc  |  10 +-
 .../src/main/docs/openstack-glance-component.adoc  |  10 +-
 .../main/docs/openstack-keystone-component.adoc    |  10 +-
 .../src/main/docs/openstack-neutron-component.adoc |  10 +-
 .../src/main/docs/openstack-nova-component.adoc    |  10 +-
 .../src/main/docs/openstack-swift-component.adoc   |  10 +-
 .../src/main/docs/opentracing.adoc                 |   4 +-
 .../src/main/docs/optaplanner-component.adoc       |   8 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   8 +-
 .../src/main/docs/pgevent-component.adoc           |   8 +-
 .../src/main/docs/protobuf-dataformat.adoc         |   4 +-
 .../src/main/docs/pubnub-component.adoc            |   8 +-
 .../src/main/docs/quartz-component.adoc            |  10 +-
 .../src/main/docs/quartz2-component.adoc           |   8 +-
 .../src/main/docs/quickfix-component.adoc          |   8 +-
 .../src/main/docs/rabbitmq-component.adoc          |   8 +-
 .../src/main/docs/reactive-streams-component.adoc  |   8 +-
 .../src/main/docs/rest-swagger-component.adoc      |   2 +-
 .../src/main/docs/restlet-component.adoc           |  12 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |  10 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |  10 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |  18 +--
 components/camel-rx/src/main/docs/rx.adoc          |   4 +-
 .../src/main/docs/salesforce-component.adoc        |  10 +-
 .../src/main/docs/sap-netweaver-component.adoc     |   8 +-
 .../src/main/docs/xquery-component.adoc            |  22 +--
 .../camel-saxon/src/main/docs/xquery-language.adoc |  22 +--
 .../camel-scala/src/main/docs/scala-eip.adoc       |  14 +-
 .../src/main/docs/scala-getting-started.adoc       |   6 +-
 .../src/main/docs/scala-supported-languages.adoc   |   6 +-
 components/camel-scala/src/main/docs/scala.adoc    |  16 +--
 .../src/main/docs/javaScript-language.adoc         |  18 +--
 .../camel-script/src/main/docs/php-language.adoc   |  16 +--
 .../src/main/docs/python-language.adoc             |  18 +--
 .../camel-script/src/main/docs/ruby-language.adoc  |  18 +--
 components/camel-script/src/main/docs/script.adoc  |  12 +-
 .../src/main/docs/servlet-component.adoc           |  16 +--
 .../src/main/docs/servletlistener.adoc             |  38 +++---
 .../src/main/docs/sjms-batch-component.adoc        |   4 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   8 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |   8 +-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   6 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   8 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   4 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   8 +-
 .../src/main/docs/spark-rest-component.adoc        |  12 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   8 +-
 .../src/main/docs/splunk-component.adoc            |   8 +-
 .../src/main/docs/spring-batch-component.adoc      |   6 +-
 .../src/main/docs/spring-boot.adoc                 |  10 +-
 .../main/docs/spring-integration-component.adoc    |   8 +-
 .../src/main/docs/spring-javaconfig.adoc           |   4 +-
 .../src/main/docs/spring-redis-component.adoc      |   8 +-
 .../src/main/docs/spring-security.adoc             |  12 +-
 .../src/main/docs/spring-ws-component.adoc         |  12 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |  10 +-
 .../src/main/docs/spring-event-component.adoc      |   8 +-
 components/camel-spring/src/main/docs/spring.adoc  |  50 +++----
 .../camel-sql/src/main/docs/sql-component.adoc     |  26 ++--
 .../src/main/docs/sql-stored-component.adoc        |   8 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   8 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |  14 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |  18 +--
 .../src/main/docs/stream-component.adoc            |   8 +-
 .../src/main/docs/string-template-component.adoc   |  10 +-
 .../src/main/docs/swagger-java.adoc                |   4 +-
 .../camel-swagger/src/main/docs/swagger.adoc       |   8 +-
 .../src/main/docs/syslog-dataformat.adoc           |  10 +-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |  10 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   8 +-
 .../src/main/docs/test-blueprint.adoc              |   4 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |   6 +-
 components/camel-test/src/main/docs/test.adoc      |  20 +--
 .../src/main/docs/thrift-component.adoc            |   8 +-
 .../src/main/docs/thrift-dataformat.adoc           |   4 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   8 +-
 .../src/main/docs/twitter-component.adoc           |  10 +-
 .../camel-twitter/src/main/docs/twitter.adoc       |  10 +-
 .../src/main/docs/undertow-component.adoc          |  10 +-
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc |  12 +-
 .../src/main/docs/velocity-component.adoc          |  10 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   8 +-
 .../src/main/docs/websocket-component.adoc         |  12 +-
 .../src/main/docs/xmlBeans-dataformat.adoc         |   4 +-
 .../src/main/docs/xmljson-dataformat.adoc          |   4 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   2 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   8 +-
 .../src/main/docs/json-xstream-dataformat.adoc     |   2 +-
 .../src/main/docs/xstream-dataformat.adoc          |   2 +-
 .../src/main/docs/yammer-component.adoc            |   8 +-
 .../src/main/docs/zipfile-dataformat.adoc          |   8 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |  12 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   8 +-
 .../src/main/docs/zookeeper-component.adoc         |  12 +-
 docs/user-manual/en/architecture.adoc              |  26 ++--
 docs/user-manual/en/async.adoc                     | 144 ++++++++++----------
 .../en/asynchronous-routing-engine.adoc            |  16 +--
 docs/user-manual/en/backlogdebugger.adoc           |  20 +--
 docs/user-manual/en/bam-example.adoc               |  26 ++--
 docs/user-manual/en/bam.adoc                       |   8 +-
 docs/user-manual/en/batch-consumer.adoc            |  16 +--
 docs/user-manual/en/bean-integration.adoc          |  50 +++----
 docs/user-manual/en/book-getting-started.adoc      |  12 +-
 docs/user-manual/en/browsable-endpoint.adoc        |   6 +-
 docs/user-manual/en/building.adoc                  |  12 +-
 .../en/camel-configuration-utilities.adoc          |   2 +-
 docs/user-manual/en/camelcontext.adoc              |  12 +-
 docs/user-manual/en/cep.adoc                       |   8 +-
 docs/user-manual/en/debugger.adoc                  |  22 +--
 docs/user-manual/en/delay-interceptor.adoc         |   4 +-
 docs/user-manual/en/dependency-injection.adoc      |   8 +-
 docs/user-manual/en/dsl.adoc                       |  24 ++--
 docs/user-manual/en/endpoint.adoc                  |  18 +--
 .../en/enterprise-integration-patterns.adoc        | 102 +++++++-------
 docs/user-manual/en/error-handler.adoc             | 148 ++++++++++-----------
 docs/user-manual/en/exchange-pattern.adoc          |  10 +-
 docs/user-manual/en/exchange.adoc                  |  22 +--
 docs/user-manual/en/expression.adoc                |  32 ++---
 docs/user-manual/en/getting-started.adoc           |  34 ++---
 docs/user-manual/en/groovy-dsl.adoc                |  12 +-
 .../en/how-do-i-configure-endpoints.adoc           |  44 +++---
 docs/user-manual/en/http-session.adoc              |   6 +-
 docs/user-manual/en/injector.adoc                  |   8 +-
 docs/user-manual/en/intercept.adoc                 |  72 +++++-----
 .../inversion-of-control-with-smart-defaults.adoc  |   4 +-
 docs/user-manual/en/java-dsl.adoc                  |  20 +--
 docs/user-manual/en/json.adoc                      |  16 +--
 docs/user-manual/en/lifecycle.adoc                 |  28 ++--
 docs/user-manual/en/oncompletion.adoc              |  28 ++--
 docs/user-manual/en/registry.adoc                  |   4 +-
 docs/user-manual/en/scala-dsl-eip.adoc             |  14 +-
 docs/user-manual/en/scala-dsl-getting-started.adoc |   6 +-
 .../en/scala-dsl-supported-languages.adoc          |   6 +-
 docs/user-manual/en/scala-dsl.adoc                 |  16 +--
 docs/user-manual/en/scripting-languages.adoc       |  14 +-
 docs/user-manual/en/spring-testing.adoc            |  26 ++--
 docs/user-manual/en/testing.adoc                   |  58 ++++----
 .../en/using-osgi-blueprint-with-camel.adoc        |   2 +-
 324 files changed, 2051 insertions(+), 2051 deletions(-)

diff --git a/camel-core/src/main/docs/bean-component.adoc b/camel-core/src/main/docs/bean-component.adoc
index f80f929..64fec82 100644
--- a/camel-core/src/main/docs/bean-component.adoc
+++ b/camel-core/src/main/docs/bean-component.adoc
@@ -13,7 +13,7 @@ bean:beanName[?options]
 ----
 
 Where *beanID* can be any string which is used to look up the bean in
-the link:registry.html[Registry]
+the Registry
 
 === Options
 
@@ -61,7 +61,7 @@ You can append query options to the URI in the following format,
 === Using
 
 The object instance that is used to consume messages must be explicitly
-registered with the link:registry.html[Registry]. For example, if you
+registered with the Registry. For example, if you
 are using Spring you must define the bean in the Spring configuration,
 `spring.xml`; or if you don't use Spring, by registering the bean in
 JNDI.
@@ -74,7 +74,7 @@ use it to process exchanges.
 
 A *bean:* endpoint cannot be defined as the input to the route; i.e. you
 cannot consume from it, you can only route from some inbound message
-link:endpoint.html[Endpoint] to the bean endpoint as output. So consider
+Endpoint to the bean endpoint as output. So consider
 using a *direct:* or *queue:* endpoint as the input.
 
 You can use the `createProxy()` methods on
@@ -98,10 +98,10 @@ Camel also supports invoking <<bean-component,Bean>> as an Endpoint. In the
 route below:
 
 What happens is that when the exchange is routed to the `myBean` Camel
-will use the link:bean-binding.html[Bean Binding] to invoke the bean. +
+will use the Bean Binding to invoke the bean. +
  The source for the bean is just a plain POJO:
 
-Camel will use link:bean-binding.html[Bean Binding] to invoke the
+Camel will use Bean Binding to invoke the
 `sayHello` method, by converting the Exchange's In body to the `String`
 type and storing the output of the method on the Exchange Out body.
 
@@ -141,18 +141,18 @@ from("direct:start").bean(ExampleBean.class);
 
 How bean methods to be invoked are chosen (if they are not specified
 explicitly through the *method* parameter) and how parameter values are
-constructed from the link:message.html[Message] are all defined by the
-link:bean-binding.html[Bean Binding] mechanism which is used throughout
-all of the various link:bean-integration.html[Bean Integration]
+constructed from the Message are all defined by the
+Bean Binding mechanism which is used throughout
+all of the various Bean Integration
 mechanisms in Camel.
 
 === See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<class-component,Class>> component
-* link:bean-binding.html[Bean Binding]
-* link:bean-integration.html[Bean Integration]
\ No newline at end of file
+* Bean Binding
+* Bean Integration
\ No newline at end of file
diff --git a/camel-core/src/main/docs/bean-language.adoc b/camel-core/src/main/docs/bean-language.adoc
index 3742d23..2b590ba 100644
--- a/camel-core/src/main/docs/bean-language.adoc
+++ b/camel-core/src/main/docs/bean-language.adoc
@@ -4,20 +4,20 @@
 *Available as of Camel version 1.3*
 
 The purpose of the Bean Language is to be able to implement an
-link:expression.html[Expression] or link:predicate.html[Predicate] using
+Expression or Predicate using
 a simple method on a bean.
 
 So the idea is you specify a bean name which will then be resolved in
-the link:registry.html[Registry] such as the link:spring.html[Spring]
+the Registry such as the Spring
 ApplicationContext then a method is invoked to evaluate the
-link:expression.html[Expression] or link:predicate.html[Predicate].
+Expression or Predicate.
 
 If no method name is provided then one is attempted to be chosen using
-the rules for link:bean-binding.html[Bean Binding]; using the type of
+the rules for Bean Binding; using the type of
 the message body and using any annotations on the bean methods.
 
-The link:bean-binding.html[Bean Binding] rules are used to bind the
-link:message.html[Message] Exchange to the method parameters; so you can
+The Bean Binding rules are used to bind the
+Message Exchange to the method parameters; so you can
 annotate the bean to extract headers or other expressions such as
 <<xpath-language,XPath>> or <<xpath-language,XQuery>> from the message.
 
@@ -82,7 +82,7 @@ public class MyBean {
 }
 ----
 
-We can also use the link:bean-integration.html[Bean Integration]
+We can also use the Bean Integration
 annotations. For example you could do...
 
 [source,java]
@@ -102,16 +102,16 @@ public boolean isGoldCustomer(@Header(name = "foo") Integer fooHeader) {
 ----
 
 So you can bind parameters of the method to the Exchange, the
-link:message.html[Message] or individual headers, properties, the body
+Message or individual headers, properties, the body
 or other expressions.
 
 === Non registry beans
 
 The <<bean-language,Bean Language>> also supports invoking beans
-that isn't registered in the link:registry.html[Registry]. This is
+that isn't registered in the Registry. This is
 usable for quickly to invoke a bean from Java DSL where you don't need
-to register the bean in the link:registry.html[Registry] such as the
-link:spring.html[Spring] ApplicationContext.
+to register the bean in the Registry such as the
+Spring ApplicationContext.
 
 Camel can instantiate the bean and invoke the method if given a class or
 invoke an already existing instance. This is illustrated from the
diff --git a/camel-core/src/main/docs/binding-component.adoc b/camel-core/src/main/docs/binding-component.adoc
index ca2ec7c..8802d3e 100644
--- a/camel-core/src/main/docs/binding-component.adoc
+++ b/camel-core/src/main/docs/binding-component.adoc
@@ -4,10 +4,10 @@
 *Available as of Camel version 2.11*
 
 In Camel terms a _binding_ is a way of wrapping an
-link:endpoint.html[Endpoint] in a contract; such as a
-link:data-format.html[Data Format], a link:content-enricher.html[Content
+Endpoint in a contract; such as a
+Data Format, a link:content-enricher.html[Content
 Enricher] or validation step. Bindings are completely optional and you
-can choose to use them on any link:components.html[camel endpoint].
+can choose to use them on any camel endpoint.
 
 Bindings are inspired by the work of
 http://www.jboss.org/switchyard[SwitchYard project] adding service
@@ -76,13 +76,13 @@ from("binding:jaxb:activemq:myQueue").to("binding:jaxb:activemq:anotherQueue")
 ----
 
 Here we are using the "jaxb" binding which may, for example, use the
-JAXB link:data-format.html[Data Format] to marshal and unmarshal
+JAXB Data Format to marshal and unmarshal
 messages.
 
 === Using a BindingComponent
 
-There is a link:component.html[Component] called BindingComponent which
-can be configured in your link:registry.html[Registry] by dependency
+There is a Component called BindingComponent which
+can be configured in your Registry by dependency
 injection which allows the creation of endpoints which are already bound
 to some binding.
 
@@ -103,7 +103,7 @@ from("jsonmq:myQueue").to("jsonmq:anotherQueue")
 ----
 
 which would be using the queueus "foo.myQueue" and "foo.anotherQueue"
-and would use the given Jackson link:data-format.html[Data Format] to
+and would use the given Jackson Data Format to
 marshal on and off the queue.
 
 === When to use Bindings
diff --git a/camel-core/src/main/docs/browse-component.adoc b/camel-core/src/main/docs/browse-component.adoc
index 7398b3a..457e954 100644
--- a/camel-core/src/main/docs/browse-component.adoc
+++ b/camel-core/src/main/docs/browse-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 1.3*
 
 The Browse component provides a simple
-link:browsableendpoint.html[BrowsableEndpoint] which can be useful for
+BrowsableEndpoint which can be useful for
 testing, visualisation tools or debugging. The exchanges sent to the
 endpoint are all available to be browsed.
 
@@ -87,7 +87,7 @@ public void inspectRecievedOrders() {
 
 === See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/camel-core/src/main/docs/class-component.adoc b/camel-core/src/main/docs/class-component.adoc
index 954a9ce..b60bf60 100644
--- a/camel-core/src/main/docs/class-component.adoc
+++ b/camel-core/src/main/docs/class-component.adoc
@@ -5,7 +5,7 @@
 
 The *class:* component binds beans to Camel message exchanges. It works
 in the same way as the <<bean-component,Bean>> component but instead of
-looking up beans from a link:registry.html[Registry] it creates the bean
+looking up beans from a Registry it creates the bean
 based on the class name.
 
 === URI format
@@ -96,7 +96,7 @@ instance, for example if it has a `setPrefix` method:
 ---------------------------------------------------------------------------------
 
 And you can also use the `#` syntax to refer to properties to be looked
-up in the link:registry.html[Registry].
+up in the Registry.
 
 [source,java]
 --------------------------------------------------------------------------------
@@ -111,7 +111,7 @@ up in the link:registry.html[Registry].
         .to("mock:result");
 --------------------------------------------------------------------------------
 
-Which will lookup a bean from the link:registry.html[Registry] with the
+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.
 
@@ -120,11 +120,11 @@ component works in much the same way.
 
 === See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<bean-component,Bean>>
-* link:bean-binding.html[Bean Binding]
-* link:bean-integration.html[Bean Integration]
\ No newline at end of file
+* Bean Binding
+* Bean Integration
\ No newline at end of file
diff --git a/camel-core/src/main/docs/constant-language.adoc b/camel-core/src/main/docs/constant-language.adoc
index deee812..6bb2f44 100644
--- a/camel-core/src/main/docs/constant-language.adoc
+++ b/camel-core/src/main/docs/constant-language.adoc
@@ -38,8 +38,8 @@ expression like:
 </route>
 ----
 
-in this case, the link:message.html[Message] coming from the seda:a
-link:endpoint.html[Endpoint] will have 'theHeader' header set to the
+in this case, the Message coming from the seda:a
+Endpoint will have 'theHeader' header set to the
 constant value 'the value'.
 
 And the same example using Java DSL:
diff --git a/camel-core/src/main/docs/controlbus-component.adoc b/camel-core/src/main/docs/controlbus-component.adoc
index 3ee7146..221aab4 100644
--- a/camel-core/src/main/docs/controlbus-component.adoc
+++ b/camel-core/src/main/docs/controlbus-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.11*
 
 The http://www.eaipatterns.com/ControlBus.html[Control Bus] from the
-link:enterprise-integration-patterns.html[EIP patterns] allows for the
+EIP patterns allows for the
 integration system to be monitored and managed from within the
 framework.
 
@@ -15,15 +15,15 @@ Control Bus uses the same messaging mechanism used by the application
 data, but uses separate channels to transmit data that is relevant to
 the management of components involved in the message flow.
 
-In Camel you can manage and monitor using link:camel-jmx.html[JMX], or
+In Camel you can manage and monitor using JMX, or
 by using a Java API from the `CamelContext`, or from the
 `org.apache.camel.api.management` package, +
  or use the event notifier which has an example
-link:eventnotifier-to-log-details-about-all-sent-exchanges.html[here].
+here.
 
 From Camel 2.11 onwards we have introduced a new
 <<controlbus-component,ControlBus Component>> that allows you to
-send messages to a control bus link:endpoint.html[Endpoint] that reacts
+send messages to a control bus Endpoint that reacts
 accordingly.
 
 === ControlBus Component
@@ -33,7 +33,7 @@ accordingly.
 The *controlbus:* component provides easy management of Camel
 applications based on the <<controlbus-component,Control Bus>> EIP
 pattern. 
-For example, by sending a message to an link:endpoint.html[Endpoint]
+For example, by sending a message to an Endpoint
 you can control the lifecycle of routes, or gather performance
 statistics.
 
@@ -129,7 +129,7 @@ String status = template.requestBody("controlbus:route?routeId=foo&action=status
 
 This requires JMX to be enabled (is by default) then you can get the
 performance statics per route, or for the
-link:camelcontext.html[CamelContext]. For example to get the statics for
+CamelContext. For example to get the statics for
 a route named foo, we can do:
 
 [source,java]
@@ -141,7 +141,7 @@ The returned statics is in XML format. Its the same data you can get
 from JMX with the `dumpRouteStatsAsXml` operation on the
 `ManagedRouteMBean`.
 
-To get statics for the entire link:camelcontext.html[CamelContext] you
+To get statics for the entire CamelContext you
 just omit the routeId parameter as shown below:
 
 [source,java]
diff --git a/camel-core/src/main/docs/dataformat-component.adoc b/camel-core/src/main/docs/dataformat-component.adoc
index 1239c8a..3698d46 100644
--- a/camel-core/src/main/docs/dataformat-component.adoc
+++ b/camel-core/src/main/docs/dataformat-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.12*
 
 The *dataformat:* component allows to use link:data-format.html[Data
-Format] as a Camel link:component.html[Component].
+Format] as a Camel Component.
 
 === URI format
 
@@ -13,10 +13,10 @@ Format] as a Camel link:component.html[Component].
 dataformat:name:(marshal|unmarshal)[?options]
 ----
 
-Where *name* is the name of the link:data-format.html[Data Format]. And
+Where *name* is the name of the Data Format. And
 then followed by the operation which must either be `marshal` or
 `unmarshal`. The options is used for configuring the link:data-format.html[Data
-Format] in use. See the link:data-format.html[Data Format] documentation
+Format] in use. See the Data Format documentation
 for which options it support.
 
 === DataFormat Options
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 8052a89..364dada 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -3,14 +3,14 @@
 
 *Available as of Camel version 1.3*
 
-link:testing.html[Testing] of distributed and asynchronous processing is
+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
-link:testing.html[Camel Testing Framework] to simplify your unit and
+Camel Testing Framework to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's large range of link:components.html[Components]
-together with the powerful link:bean-integration.html[Bean Integration].
+Patterns] and Camel's large range of Components
+together with the powerful Bean Integration.
 
 The DataSet component provides a mechanism to easily perform load & soak
 testing of your system. It works by allowing you to create
@@ -30,7 +30,7 @@ dataset:name[?options]
 
 Where *name* is used to find the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/dataset/DataSet.html[DataSet
-instance] in the link:registry.html[Registry]
+instance] in the Registry
 
 Camel ships with a support implementation of
 `org.apache.camel.component.dataset.DataSet`, the
@@ -100,7 +100,7 @@ You can append query options to the URI in the following format,
 
 === Configuring DataSet
 
-Camel will lookup in the link:registry.html[Registry] for a bean
+Camel will lookup in the Registry for a bean
 implementing the DataSet interface. So you can register your own DataSet
 as:
 
@@ -125,7 +125,7 @@ from("dataset:foo").to("activemq:SomeQueue");
 from("activemq:SomeQueue").to("dataset:foo");
 ----
 
-The above would look in the link:registry.html[Registry] to find the
+The above would look in the Registry to find the
 *foo* DataSet instance which is used to create the messages.
 
 Then you create a DataSet implementation, such as using the
diff --git a/camel-core/src/main/docs/dynamic-router.adoc b/camel-core/src/main/docs/dynamic-router.adoc
index 07a1f2a..b83e44b 100644
--- a/camel-core/src/main/docs/dynamic-router.adoc
+++ b/camel-core/src/main/docs/dynamic-router.adoc
@@ -3,14 +3,14 @@
 
 The
 http://www.enterpriseintegrationpatterns.com/DynamicRouter.html[Dynamic
-Router] from the link:enterprise-integration-patterns.html[EIP patterns]
+Router] from the EIP patterns
 allows you to route messages while avoiding the dependency of the router
 on all possible destinations while maintaining its efficiency.
 
 image:http://www.enterpriseintegrationpatterns.com/img/DynamicRouter.gif[image]
 
 In *Camel 2.5* we introduced a `dynamicRouter` in the DSL which is like
-a dynamic link:routing-slip.html[Routing Slip] which evaluates the slip
+a dynamic Routing Slip which evaluates the slip
 _on-the-fly_.
 
 WARNING: *Beware*
@@ -25,7 +25,7 @@ bean, will return `null` to indicate the end. Otherwise the
 |=======================================================================
 |Name |Default Value |Description
 
-|`uriDelimiter` |`,` |Delimiter used if the link:expression.html[Expression] returned multiple
+|`uriDelimiter` |`,` |Delimiter used if the Expression returned multiple
 endpoints.
 
 |`ignoreInvalidEndpoints` |`false` |If an endpoint uri could not be resolved, should it be ignored.
@@ -41,12 +41,12 @@ value to -1 allows to turn off the cache all together.
 [[DynamicRouter-DynamicRouterinCamel2.5onwards]]
 === Dynamic Router in Camel 2.5 onwards
 
-From Camel 2.5 the link:dynamic-router.html[Dynamic Router] will set a
-property (Exchange.SLIP_ENDPOINT) on the link:exchange.html[Exchange]
+From Camel 2.5 the Dynamic Router will set a
+property (Exchange.SLIP_ENDPOINT) on the Exchange
 which contains the current endpoint as it advanced though the slip. This
 allows you to know how far we have processed in the slip. (It's a slip
-because the link:dynamic-router.html[Dynamic Router] implementation is
-based on top of link:routing-slip.html[Routing Slip]).
+because the Dynamic Router implementation is
+based on top of Routing Slip).
 
 [[DynamicRouter-JavaDSL]]
 === Java DSL
@@ -92,7 +92,7 @@ public String slip(String body) {
 
 Mind that this example is only for show and tell. The current
 implementation is not thread safe. You would have to store the state on
-the link:exchange.html[Exchange], to ensure thread safety, as shown
+the Exchange, to ensure thread safety, as shown
 below:
 
 [source,java]
@@ -135,13 +135,13 @@ public String slip(String body, @Properties Map<String, Object> properties) {
 
 You could also store state as message headers, but they are not
 guaranteed to be preserved during routing, where as properties on the
-link:exchange.html[Exchange] are. Although there was a bug in the method
+Exchange are. Although there was a bug in the method
 call expression, see the warning below.
 
 WARNING:*Using beans to store state*
 Mind that in Camel 2.9.2 or older, when using a <<bean-component,Bean>> the
 state is not propagated, so you will have to use a
-link:processor.html[Processor] instead. This is fixed in Camel 2.9.3
+Processor instead. This is fixed in Camel 2.9.3
 onwards.
 
 [[DynamicRouter-SpringXML]]
@@ -178,7 +178,7 @@ You can also use the `@DynamicRouter` annotation, for example the Camel
 then be invoked repeatedly as the message is processed dynamically. The
 idea is to return the next endpoint uri where to go. Return `null` to
 indicate the end. You can return multiple endpoints if you like, just as
-the link:routing-slip.html[Routing Slip], where each endpoint is
+the Routing Slip, where each endpoint is
 separated by a delimiter.
 
 [source,java]
@@ -195,15 +195,15 @@ public class MyDynamicRouter {
 ----
 
 In the above we can use the
-link:parameter-binding-annotations.html[Parameter Binding Annotations]
-to bind different parts of the link:message.html[Message] to method
-parameters or use an link:expression.html[Expression] such as using
+Parameter Binding Annotations
+to bind different parts of the Message to method
+parameters or use an Expression such as using
 <<xpath-language,XPath>> or <<xpath-language,XQuery>>.
 
 The method can be invoked in a number of ways as described in the
-link:bean-integration.html[Bean Integration] such as
+Bean Integration such as
 
-* link:pojo-producing.html[POJO Producing]
-* link:spring-remoting.html[Spring Remoting]
+* POJO Producing
+* Spring Remoting
 * <<bean-component,Bean>> component
 
diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index abe9844..12f8704 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 1.0*
 
 The File component provides access to file systems, allowing files to be
-processed by any other Camel link:components.html[Components] or
+processed by any other Camel Components or
 messages from other components to be saved to disk.
 
 === URI format
@@ -228,7 +228,7 @@ processed and after it's processed, it's moved to the `.done` folder.
 === Fine grained control over Move and PreMove option
 
 The *move* and *preMove* options
-are link:expression.html[Expression]-based, so we have the full power of
+are Expression-based, so we have the full power of
 the <<file-language,File Language>> to do advanced configuration
 of the directory and name pattern. +
  Camel will, in fact, internally convert the directory name you enter
@@ -270,7 +270,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 <<file-language,Simple>>
-expression; or an link:expression.html[Expression] object. If it's
+expression; or an Expression object. If it's
 `null` then Camel will auto-generate a filename based on the message
 unique ID.
 
@@ -320,13 +320,13 @@ relative filename. For absolute files this is the absolute path.
 
 === Batch Consumer
 
-This component implements the link:batch-consumer.html[Batch Consumer].
+This component implements the Batch Consumer.
 
 === Exchange Properties, file consumer only
 
 As the file consumer implements the `BatchConsumer` it supports batching
 the files it polls. By batching we mean that Camel will add the
-following additional properties to the link:exchange.html[Exchange], so
+following additional properties to the Exchange, so
 you know the number of files polled, the current index, and whether the
 batch is already completed.
 
@@ -338,12 +338,12 @@ batch is already completed.
 
 |`CamelBatchIndex` |The current index of the batch. Starts from 0.
 
-|`CamelBatchComplete` |A `boolean` value indicating the last link:exchange.html[Exchange] in
+|`CamelBatchComplete` |A `boolean` value indicating the last Exchange in
 the batch. Is only `true` for the last entry.
 |===
 
 This allows you for instance to know how many files exist in this batch
-and for instance let the link:aggregator2.html[Aggregator2] aggregate
+and for instance let the Aggregator2 aggregate
 this number of files.
 
 === Using charset
@@ -764,7 +764,7 @@ See <<file-language,File Language>> for more samples.
 
 === Avoiding reading the same file more than once (idempotent consumer)
 
-Camel supports link:idempotent-consumer.html[Idempotent Consumer]
+Camel supports Idempotent Consumer
 directly within the component so it will skip already processed files.
 This feature can be enabled by setting the `idempotent=true` option.
 
@@ -790,7 +790,7 @@ By default Camel uses a in memory based store for keeping track of
 consumed files, it uses a least recently used cache holding up to 1000
 entries. You can plugin your own implementation of this store by using
 the `idempotentRepository` option using the `#` sign in the value to
-indicate it's a referring to a bean in the link:registry.html[Registry]
+indicate it's a referring to a bean in the Registry
 with the specified `id`.
 
 [source,xml]
@@ -830,7 +830,7 @@ empty file.
 We configure our repository using Spring XML creating our file
 idempotent repository and define our file consumer to use our repository
 with the `idempotentRepository` using `#` sign to indicate
-link:registry.html[Registry] lookup:
+Registry lookup:
 
 === Using a JPA based idempotent repository
 
@@ -954,9 +954,9 @@ file:
 
 TIP: *URI options can reference beans using the # syntax*
 In the Spring DSL route above notice that we can refer to beans in the
-link:registry.html[Registry] by prefixing the id with `#`. So writing
+Registry by prefixing the id with `#`. So writing
 `sorter=#mySorter`, will instruct Camel to go look in the
-link:registry.html[Registry] for a bean with the ID, `mySorter`.
+Registry for a bean with the ID, `mySorter`.
 
 ==== Sorting using sortBy
 
@@ -1083,7 +1083,7 @@ name, can be implemented as follows:
 
 *Available as of Camel 2.10*
 
-If you want to use the Camel link:error-handler.html[Error Handler] to
+If you want to use the Camel Error Handler to
 deal with any exception occurring in the file consumer, then you can
 enable the `consumer.bridgeErrorHandler` option as shown below:
 
@@ -1108,9 +1108,9 @@ the route will take it from there.
 
 IMPORTANT: *Important when using consumer.bridgeErrorHandler*
 When using consumer.bridgeErrorHandler, then
-link:intercept.html[interceptors], link:oncompletion.html[OnCompletion]s
-does *not* apply. The link:exchange.html[Exchange] is processed directly
-by the Camel link:error-handler.html[Error Handler], and does not allow
+interceptors, OnCompletions
+does *not* apply. The Exchange is processed directly
+by the Camel Error Handler, and does not allow
 prior actions such as interceptors, onCompletion to take action.
 
 === Debug logging
@@ -1121,5 +1121,5 @@ problems.
 === See Also
 
 * <<file-language,File Language>>
-* link:ftp2.html[FTP]
-* link:polling-consumer.html[Polling Consumer]
+* FTP
+* Polling Consumer
diff --git a/camel-core/src/main/docs/file-language.adoc b/camel-core/src/main/docs/file-language.adoc
index fce878a..686ec04 100644
--- a/camel-core/src/main/docs/file-language.adoc
+++ b/camel-core/src/main/docs/file-language.adoc
@@ -12,7 +12,7 @@ The File Expression Language is an extension to the
 <<simple-language,Simple>> language, adding file related capabilities.
 These capabilities are related to common use cases working with file
 path and names. The goal is to allow expressions to be used with the
-link:file2.html[File] and link:ftp.html[FTP] components for setting
+File and FTP components for setting
 dynamic file patterns for both consumer and producer.
 
 === File Language options
@@ -45,7 +45,7 @@ All the file tokens use the same expression name as the method on the
 `java.io.File.getAbsolute()` method. Notice that not all expressions are
 supported by the current Exchange. For instance the <<ftp-component,FTP>>
 component supports some of the options, where as the
-link:file2.html[File] component supports all of them.
+File component supports all of them.
 
 
 [width="100%",cols="10%,10%,10%,10%,10%,25%,25%",options="header",]
@@ -231,7 +231,7 @@ is pretty powerful for those common file path patterns.
 
 In Camel you can use the <<file-language,File Language>> directly
 from the <<simple-language,Simple>> language which makes a
-link:content-based-router.html[Content Based Router] easier to do in
+Content Based Router easier to do in
 Spring XML, where we can route based on file extensions as shown below:
 
 [source,xml]
@@ -252,7 +252,7 @@ Spring XML, where we can route based on file extensions as shown below:
   </choice>
 ----
 
-If you use the `fileName` option on the link:file2.html[File] endpoint
+If you use the `fileName` option on the File endpoint
 to set a dynamic filename using the <<file-language,File Language>> then make sure you  +
  use the alternative syntax (available from Camel 2.5 onwards) to avoid
 clashing with Springs `PropertyPlaceholderConfigurer`.
diff --git a/camel-core/src/main/docs/gzip-dataformat.adoc b/camel-core/src/main/docs/gzip-dataformat.adoc
index 2ec6fef..a7c9d60 100644
--- a/camel-core/src/main/docs/gzip-dataformat.adoc
+++ b/camel-core/src/main/docs/gzip-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.0*
 
-The GZip link:data-format.html[Data Format] is a message compression and
+The GZip Data Format is a message compression and
 de-compression format. It uses the same deflate algorithm that is used
 in <<zip-dataformat,Zip DataFormat>>, although some additional
 headers are provided. This format is produced by popular `gzip`/`gunzip`
diff --git a/camel-core/src/main/docs/language-component.adoc b/camel-core/src/main/docs/language-component.adoc
index 4d29204..f33d3c0 100644
--- a/camel-core/src/main/docs/language-component.adoc
+++ b/camel-core/src/main/docs/language-component.adoc
@@ -3,12 +3,12 @@
 
 *Available as of Camel version 2.5*
 
-The language component allows you to send link:exchange.html[Exchange]
+The language component allows you to send Exchange
 to an endpoint which executes a script by any of the supported
-link:languages.html[Languages] in Camel. +
+Languages in Camel. +
  By having a component to execute language scripts, it allows more
 dynamic routing capabilities. For example by using the
-link:routing-slip.html[Routing Slip] or link:dynamic-router.html[Dynamic
+Routing Slip or link:dynamic-router.html[Dynamic
 Router] EIPs you can send messages to `language` endpoints where the
 script is dynamic defined as well.
 
@@ -91,7 +91,7 @@ script configured on the endpoint.
 === Examples
 
 For example you can use the <<simple-language,Simple>> language to
-link:message-translator.html[Message Translator] a message:
+Message Translator a message:
 
 In case you want to convert the message body type you can do this as
 well:
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index 8e46851..7b891e1 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -48,7 +48,7 @@ also ships with the `Throughput` logger, which is used whenever the
 TIP:*Also a log in the DSL*
 There is also a `log` directly in the DSL, but it has a different
 purpose. Its meant for lightweight and human logs. See more details at
-link:logeip.html[LogEIP].
+LogEIP.
 
 === Options
 
@@ -188,7 +188,7 @@ The following will be logged:
 *Available as of Camel 2.19*
 
 You can enable security masking for logging by setting `logMask` flag to `true`.
-Note that this option also affects link:logeip.html[Log EIP].
+Note that this option also affects Log EIP.
 
 To enable mask in Java DSL at CamelContext level:
 [source,java]
@@ -323,5 +323,5 @@ reference it using `logger` URI parameter.
 
 === See Also
 
-* link:logeip.html[LogEIP] for using `log` directly in the DSL for human
+* LogEIP for using `log` directly in the DSL for human
 logs.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index 532b223..b056ce1 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -4,14 +4,14 @@
 *Available as of Camel version 1.0*
 
 
-link:testing.html[Testing] of distributed and asynchronous processing is
+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
-link:testing.html[Camel Testing Framework] to simplify your unit and
+Camel Testing Framework to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's large range of link:components.html[Components]
-together with the powerful link:bean-integration.html[Bean Integration].
+Patterns] and Camel's large range of Components
+together with the powerful Bean Integration.
 
 The Mock component provides a powerful declarative testing mechanism,
 which is similar to http://www.jmock.org[jMock] in
@@ -25,32 +25,32 @@ This allows you to test various things like:
 * The correct number of messages are received on each endpoint,
 * The correct payloads are received, in the right order,
 * Messages arrive on an endpoint in order, using some
-link:expression.html[Expression] to create an order testing function,
-* Messages arrive match some kind of link:predicate.html[Predicate] such
+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>>
-link:expression.html[Expression].
+Expression.
 
 [NOTE]
 There is also the <<test-component,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 link:file2.html[File]
+up its assertions from some sample messages in a File
 or <<jpa-component,database>>, for example.
 
 [CAUTION]
 *Mock endpoints keep received Exchanges in memory indefinitely.* +
  +
 Remember that Mock is designed for testing. When you add Mock endpoints
-to a route, each link:exchange.html[Exchange] sent to the endpoint will
+to a route, each Exchange sent to the endpoint will
 be stored (to allow for later validation) in memory until explicitly
 reset or the JVM is restarted. If you are sending high volume and/or
 large messages, this may cause excessive memory use. If your goal is to
 test deployable routes inline, consider using
-link:notifybuilder.html[NotifyBuilder] or
-link:advicewith.html[AdviceWith] in your tests instead of adding Mock
+NotifyBuilder or
+AdviceWith in your tests instead of adding Mock
 endpoints to routes directly. +
  +
 From Camel 2.10 onwards there are two new options `retainFirst`, and
@@ -195,15 +195,15 @@ methods are as follows:
 
 |http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/mock/MockEndpoint.html#expectsAscending(org.apache.camel.Expression)[expectsAscending(Expression)]
 |To add an expectation that messages are received in order, using the
-given link:expression.html[Expression] to compare messages.
+given Expression to compare messages.
 
 |http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/mock/MockEndpoint.html#expectsDescending(org.apache.camel.Expression)[expectsDescending(Expression)]
 |To add an expectation that messages are received in order, using the
-given link:expression.html[Expression] to compare messages.
+given Expression to compare messages.
 
 |http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/mock/MockEndpoint.html#expectsNoDuplicates(org.apache.camel.Expression)[expectsNoDuplicates(Expression)]
 |To add an expectation that no duplicate messages are received; using an
-link:expression.html[Expression] to calculate a unique identifier for
+Expression to calculate a unique identifier for
 each message. This could be something like the `JMSMessageID` if using
 JMS, or some unique reference number within the message.
 |===
@@ -291,7 +291,7 @@ include::../../test/java/org/apache/camel/processor/interceptor/AdviceWithMockEn
 ----
 
 The pattern supported can be a wildcard or a regular expression. See
-more details about this at link:intercept.html[Intercept] as its the
+more details about this at Intercept as its the
 same matching function used by Camel.
 
 [NOTE]
@@ -368,7 +368,7 @@ in the constructor for the bean:
 Sometimes you want to easily mock and skip sending to a certain
 endpoints. So the message is detoured and send to the mock endpoint
 only. From Camel 2.10 onwards you can now use the `mockEndpointsAndSkip`
-method using link:advicewith.html[AdviceWith] or the
+method using AdviceWith or the
 https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=Test+Kit&linkCreation=true&fromPageId=52081[Test
 Kit]. The example below will skip sending to the two endpoints
 `"direct:foo"`, and `"direct:bar"`.
@@ -379,7 +379,7 @@ Kit]. The example below will skip sending to the two endpoints
 include::../../test/java/org/apache/camel/processor/interceptor/AdviceWithMockMultipleEndpointsWithSkipTest.java[tags=e1]
 ----
 
-The same example using the link:testing.html[Test Kit]
+The same example using the Test Kit
 
 [source,java]
 .*isMockEndpointsAndSkip using camel-test kit*
@@ -392,14 +392,14 @@ 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
-link:exchange.html[Exchange] that it received. So if you test with a lot
+Exchange that it received. So if you test with a lot
 of messages, then it will consume memory. +
 From Camel 2.10 onwards we have introduced two options `retainFirst` and
 `retainLast` that can be used to specify to only keep N'th of the first
-and/or last link:exchange.html[Exchange]s.
+and/or last Exchanges.
 
 For example in the code below, we only want to retain a copy of the
-first 5 and last 5 link:exchange.html[Exchange]s the mock receives.
+first 5 and last 5 Exchanges the mock receives.
 
 [source,java]
 ----
@@ -413,8 +413,8 @@ first 5 and last 5 link:exchange.html[Exchange]s the mock receives.
 
 Using this has some limitations. The `getExchanges()` and
 `getReceivedExchanges()` methods on the `MockEndpoint` will return only
-the retained copies of the link:exchange.html[Exchange]s. So in the
-example above, the list will contain 10 link:exchange.html[Exchange]s;
+the retained copies of the Exchanges. So in the
+example above, the list will contain 10 Exchanges;
 the first five, and the last five. +
 The `retainFirst` and `retainLast` options also have limitations on
 which expectation methods you can use. For example the `expectedXXX`
@@ -427,7 +427,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
-as a property on the link:exchange.html[Exchange].
+as a property on the Exchange.
 
 [source,java]
 ----
@@ -480,5 +480,5 @@ In the example above we use `seconds` as the time unit, but Camel offers
 
 === See Also
 
-* link:spring-testing.html[Spring Testing]
-* link:testing.html[Testing]
\ No newline at end of file
+* Spring Testing
+* Testing
\ No newline at end of file
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index b12529b..d180972 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -86,7 +86,7 @@ You can use the method `resolvePropertyPlaceholders` on the
 
 Camel now provides a new `PropertiesComponent` in *camel-core* which
 allows you to use property placeholders when defining Camel
-link:endpoint.html[Endpoint] URIs.
+Endpoint URIs.
 
 This works much like you would do if using Spring's
 `<property-placeholder>` tag. However Spring have a limitation which
@@ -103,7 +103,7 @@ with Camel, see further below for more details.
 The property placeholder is generally in use when doing:
 
 * lookup or creating endpoints
-* lookup of beans in the link:registry.html[Registry]
+* lookup of beans in the Registry
 * additional supported in Spring XML (see below in examples)
 * using Blueprint PropertyPlaceholder with Camel
 <<properties-component,Properties>> component
@@ -138,9 +138,9 @@ their own resolver to lookup properties. Camel provides a default
 implementation
 `org.apache.camel.component.properties.DefaultPropertiesResolver` which
 is capable of loading properties from the file system, classpath or
-link:registry.html[Registry]. You can prefix the locations with either:
+Registry. You can prefix the locations with either:
 
-* `ref:` *Camel 2.4:* to lookup in the link:registry.html[Registry]
+* `ref:` *Camel 2.4:* to lookup in the Registry
 * `file:` to load the from file system
 * `classpath:` to load from classpath (this is also the default if no
 prefix is provided)
@@ -303,7 +303,7 @@ Setting the properties location through the location tag works just fine but som
 Camel 2.10 onwards supports specifying a value for the cache option both
 inside the Spring as well as the Blueprint XML.
 
-=== Using a Properties from the link:registry.html[Registry]
+=== Using a Properties from the Registry
 
 *Available as of Camel 2.4* +
 For example in OSGi you may want to expose a service which returns the
@@ -319,7 +319,7 @@ follows:
 
 Where `myProperties` is the id to use for lookup in the OSGi registry.
 Notice we use the `ref:` prefix to tell Camel that it should lookup the
-properties for the link:registry.html[Registry].
+properties for the Registry.
 
 === Examples using properties component
 
@@ -401,7 +401,7 @@ from("{{cool.start}}")
 ----
 
 You can also your property placeholders when using
-link:producertemplate.html[ProducerTemplate] for example:
+ProducerTemplate for example:
 
 [source,java]
 ----
@@ -501,7 +501,7 @@ special placeholder namespace.
 In the example below we use the `prop` prefix for the namespace
 `http://camel.apache.org/schema/placeholder` by which we can use the
 `prop` prefix in the attributes in the XML DSLs. Notice how we use that
-in the link:multicast.html[Multicast] to indicate that the option
+in the Multicast to indicate that the option
 `stopOnException` should be the value of the placeholder with the key
 "stop".
 
@@ -516,7 +516,7 @@ stop=true
 
 *Available as of Camel 2.7*
 
-Camel supports link:using-osgi-blueprint-with-camel.html[Blueprint]
+Camel supports Blueprint
 which also offers a property placeholder service. Camel supports
 convention over configuration, so all you have to do is to define the
 OSGi Blueprint property placeholder in the XML file as shown below:
@@ -747,7 +747,7 @@ An alternative is to configure the `PropertyPlaceholderConfigurer` with
 
 *Available as of Camel 2.10*
 
-When link:testing.html[Testing] with Camel and using the
+When Testing with Camel and using the
 <<properties-component,Properties>> component, you may want to be able to
 provide the properties to be used from directly within the unit test
 source code. +
@@ -993,5 +993,5 @@ pc.addFunction(new MyBeerFunction());
 === See Also
 
 * <<properties-component,Properties>> component
-* link:jasypt.html[Jasypt] for using encrypted values (eg passwords) in
+* Jasypt for using encrypted values (eg passwords) in
 the properties
\ No newline at end of file
diff --git a/camel-core/src/main/docs/ref-component.adoc b/camel-core/src/main/docs/ref-component.adoc
index 0f60a33..764f743 100644
--- a/camel-core/src/main/docs/ref-component.adoc
+++ b/camel-core/src/main/docs/ref-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 1.2*
 
 The *ref:* component is used for lookup of existing endpoints bound in
-the link:registry.html[Registry].
+the Registry.
 
 === URI format
 
@@ -14,7 +14,7 @@ ref:someName[?options]
 ----
 
 Where *someName* is the name of an endpoint in the
-link:registry.html[Registry] (usually, but not always, the Spring
+Registry (usually, but not always, the Spring
 registry). If you are using the Spring registry, `someName` would be the
 bean ID of an endpoint in the Spring registry.
 
@@ -58,7 +58,7 @@ with the following path and query parameters:
 === Runtime lookup
 
 This component can be used when you need dynamic discovery of endpoints
-in the link:registry.html[Registry] where you can compute the URI at
+in the Registry where you can compute the URI at
 runtime. Then you can look up the endpoint using the following code:
 
 [source,java]
@@ -75,7 +75,7 @@ producer.process(exchange);
 ----
 
 And you could have a list of endpoints defined in the
-link:registry.html[Registry] such as:
+Registry such as:
 
 [source,xml]
 ----
diff --git a/camel-core/src/main/docs/ref-language.adoc b/camel-core/src/main/docs/ref-language.adoc
index 7ccd9b2..f518d75 100644
--- a/camel-core/src/main/docs/ref-language.adoc
+++ b/camel-core/src/main/docs/ref-language.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.8*
 
 The Ref Expression Language is really just a way to lookup a custom
-link:expression.html[Expression] or link:predicate.html[Predicate] from the link:registry.html[Registry].
+Expression or Predicate from the Registry.
 
 This is particular useable in XML DSLs.
 
@@ -24,7 +24,7 @@ The Ref language supports 1 options which are listed below.
 
 === Example usage
 
-The link:splitter.html[Splitter] in XML DSL can utilize a custom
+The Splitter in XML DSL can utilize a custom
 expression using `<ref>` like:
 
 [source,xml]
@@ -40,10 +40,10 @@ expression using `<ref>` like:
 </route>
 ----
 
-in this case, the link:message.html[Message] coming from the seda:a
-link:endpoint.html[Endpoint] will be splitted using a custom
-link:expression.html[Expression] which has the id `myExpression` in the
-link:registry.html[Registry].
+in this case, the Message coming from the seda:a
+Endpoint will be splitted using a custom
+Expression which has the id `myExpression` in the
+Registry.
 
 And the same example using Java DSL:
 
diff --git a/camel-core/src/main/docs/request-reply.adoc b/camel-core/src/main/docs/request-reply.adoc
index 5b7a75f..8991792 100644
--- a/camel-core/src/main/docs/request-reply.adoc
+++ b/camel-core/src/main/docs/request-reply.adoc
@@ -3,10 +3,10 @@
 
 Camel supports the
 http://www.enterpriseintegrationpatterns.com/RequestReply.html[Request
-Reply] from the link:enterprise-integration-patterns.html[EIP patterns]
-by supporting the link:exchange-pattern.html[Exchange Pattern] on a
-link:message.html[Message] which can be set to *InOut* to indicate a
-request/reply. Camel link:components.html[Components] then implement
+Reply] from the EIP patterns
+by supporting the Exchange Pattern on a
+Message which can be set to *InOut* to indicate a
+request/reply. Camel Components then implement
 this pattern using the underlying transport or protocols.
 
 image:http://www.enterpriseintegrationpatterns.com/img/RequestReply.gif[image]
@@ -22,7 +22,7 @@ by default perform these actions
 using the JMSCorrelationID (as you may be performing many concurrent
 request/responses).
 
-TIP: *Related* See the related link:event-message.html[Event Message] message
+TIP: *Related* See the related Event Message message
 
 [[RequestReply-ExplicitlyspecifyingInOut]]
 === Explicitly specifying InOut
diff --git a/camel-core/src/main/docs/rest-api-component.adoc b/camel-core/src/main/docs/rest-api-component.adoc
index c2cd5e4..041e830 100644
--- a/camel-core/src/main/docs/rest-api-component.adoc
+++ b/camel-core/src/main/docs/rest-api-component.adoc
@@ -49,5 +49,5 @@ with the following path and query parameters:
 
 === See Also
 
-* link:rest-dsl.html[Rest DSL]
-* link:swagger-java.html[Swagger Java]
\ No newline at end of file
+* Rest DSL
+* Swagger Java
\ No newline at end of file
diff --git a/camel-core/src/main/docs/rest-component.adoc b/camel-core/src/main/docs/rest-component.adoc
index f045422..d298966 100644
--- a/camel-core/src/main/docs/rest-component.adoc
+++ b/camel-core/src/main/docs/rest-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.14*
 
 The rest component allows to define REST endpoints (consumer) using the
-link:rest-dsl.html[Rest DSL] and plugin to other Camel components as the
+Rest DSL and plugin to other Camel components as the
 REST transport.
 
 From Camel 2.18 onwards the rest component can also be used as a client (producer) to call REST services.
@@ -77,7 +77,7 @@ with the following path and query parameters:
 
 === Supported rest components
 
-The following components support rest consumer (link:rest-dsl.html[Rest DSL]):
+The following components support rest consumer (Rest DSL):
 
 * camel-coap
 * camel-netty-http
@@ -233,16 +233,16 @@ IMPORTANT: You must configure `outType` option if you want POJO binding to happe
 
 === More examples
 
-See link:rest-dsl.html[Rest DSL] which offers more examples and how you
+See Rest DSL which offers more examples and how you
 can use the Rest DSL to define those in a nicer RESTful way.
 
 There is a *camel-example-servlet-rest-tomcat* example in the Apache
 Camel distribution, that demonstrates how to use the
-link:rest-dsl.html[Rest DSL] with link:servlet.html[SERVLET] as
+Rest DSL with SERVLET as
 transport that can be deployed on Apache Tomcat, or similar web
 containers.
 
 === See Also
 
-* link:rest-dsl.html[Rest DSL]
+* Rest DSL
 * <<servlet-component,SERVLET>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/rest-dsl.adoc b/camel-core/src/main/docs/rest-dsl.adoc
index 7032e42..046e70d 100644
--- a/camel-core/src/main/docs/rest-dsl.adoc
+++ b/camel-core/src/main/docs/rest-dsl.adoc
@@ -20,19 +20,19 @@ The following Camel components supports the Rest DSL. See the bottom of
 this page for how to integrate a component with the Rest DSL.
 
 * <<netty-http-component,camel-netty-http>> (also
-supports link:swagger-java.html[Swagger Java])
+supports Swagger Java)
 * <<netty4-http-component,camel-netty4-http>> (also
-supports link:swagger-java.html[Swagger Java])
+supports Swagger Java)
 * <<jetty-component,camel-jetty>> (also
-supports link:swagger-java.html[Swagger Java])
+supports Swagger Java)
 * <<restlet-component,camel-restlet>> (also
-supports link:swagger-java.html[Swagger Java])
+supports Swagger Java)
 * <<servlet-component,camel-servlet>> (also
-supports link:swagger-java.html[Swagger Java])
+supports Swagger Java)
 * <<spark-rest-component,camel-spark-rest>> (also
-supports link:swagger-java.html[Swagger Java] from Camel 2.17 onwards)
+supports Swagger Java from Camel 2.17 onwards)
 * <<undertow-component,camel-undertow>> (also
-supports link:swagger-java.html[Swagger Java] from Camel 2.17 onwards)
+supports Swagger Java from Camel 2.17 onwards)
 
 === Rest DSL with Java
 
@@ -178,7 +178,7 @@ only. The example above can be defined as:
 
 *Available as of Camel 2.16*
 
-The link:rest-dsl.html[Rest DSL] supports the new .toD <toD> as dynamic
+The Rest DSL supports the new .toD <toD> as dynamic
 to in the rest-dsl. For example to do a request/reply
 over <<jms-component,JMS>> where the queue name is dynamic defined
 
@@ -201,7 +201,7 @@ over <<jms-component,JMS>> where the queue name is dynamic defined
 <rest>
 ----
 
-See more details at link:message-endpoint.html[Message Endpoint] about
+See more details at Message Endpoint about
 the dynamic to, and what syntax it supports. By default it uses
 the <<simple-language,Simple>> language, but it has more power than so.
 
@@ -274,7 +274,7 @@ REST services which has been defined. 
 === Binding to POJOs using
 
 The Rest DSL supports automatic binding json/xml contents to/from POJOs
-using Camels link:data-format.html[Data Format]. By default the binding
+using Camels Data Format. By default the binding
 mode is off, meaning there is no automatic binding happening for
 incoming and outgoing messages.
 
@@ -660,9 +660,9 @@ source code for camel-restlet, camel-spark-rest.
 
 === Swagger API
 
-The Rest DSL supports link:swagger-java.html[Swagger Java] by
+The Rest DSL supports Swagger Java by
 the `camel-swagger-java` module. See more details at
- link:swagger-java.html[Swagger] and the `camel-swagger-java` example
+ Swagger and the `camel-swagger-java` example
 from the Apache Camel distribution.
 
 From *Camel 2.16* onwards you can define each parameter fine grained
diff --git a/camel-core/src/main/docs/return-address.adoc b/camel-core/src/main/docs/return-address.adoc
index 239e788..46a334b 100644
--- a/camel-core/src/main/docs/return-address.adoc
+++ b/camel-core/src/main/docs/return-address.adoc
@@ -19,7 +19,7 @@ getMockEndpoint("queue:bar").expectedBodiesReceived("Bye World");
 template.sendBodyAndHeader("direct:start", "World", "JMSReplyTo", "queue:bar");
 ----
 
-*Route Using the link:fluent-builders.html[Fluent Builders]*
+*Route Using the Fluent Builders*
 
 [source,java]
 ----
@@ -30,7 +30,7 @@ from("activemq:queue:foo").transform(body().prepend("Bye "));
 from("activemq:queue:bar?disableReplyTo=true").to("mock:bar");
 ----
 
-*Route Using the link:spring-xml-extensions.html[Spring XML Extensions]*
+*Route Using the Spring XML Extensions*
 
 [source,xml]
 ----
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index fbb9a49..5d4da8d 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/scheduler-component.adoc
@@ -124,7 +124,7 @@ from("scheduler://foo?period=60s").to("bean:myBean?method=someMethodName");
 
 The above route will generate an event and then invoke the
 `someMethodName` method on the bean called `myBean` in the
-link:registry.html[Registry] such as JNDI or link:spring.html[Spring].
+Registry such as JNDI or Spring.
 
 And the route in Spring DSL:
 
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index 3edb668..d5d4ebc 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/seda-component.adoc
@@ -10,7 +10,7 @@ http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[
 and consumers are invoked in a separate thread from the producer.
 
 Note that queues are only visible within a _single_
-link:camelcontext.html[CamelContext]. If you want to communicate across
+CamelContext. If you want to communicate across
 `CamelContext` instances (for example, communicating between Web
 applications), see the <<vm-component,VM>> component.
 
@@ -31,7 +31,7 @@ seda:someName[?options]
 ----
 
 Where *someName* can be any string that uniquely identifies the endpoint
-within the current link:camelcontext.html[CamelContext].
+within the current CamelContext.
 
 You can append query options to the URI in the following format:
 `?option=value&option=value&…`
@@ -134,8 +134,8 @@ ArrayBlockingQueueFactory and PriorityBlockingQueueFactory:
 === Use of Request Reply
 
 The <<seda-component,SEDA>> component supports using
-link:request-reply.html[Request Reply], where the caller will wait for
-the link:async.html[Async] route to complete. For instance:
+Request Reply, where the caller will wait for
+the Async route to complete. For instance:
 
 [source,java]
 ----
@@ -146,12 +146,12 @@ from("seda:input").to("bean:processInput").to("bean:createResponse");
 
 In the route above, we have a TCP listener on port 9876 that accepts
 incoming requests. The request is routed to the `seda:input` queue. As
-it is a link:request-reply.html[Request Reply] message, we wait for the
+it is a Request Reply message, we wait for the
 response. When the consumer on the `seda:input` queue is complete, it
 copies the response to the original message response.
 
 NOTE: *until 2.2: Works only with 2 endpoints*
-Using link:request-reply.html[Request Reply] over link:seda.html[SEDA]
+Using Request Reply over SEDA
 or <<vm-component,VM>> only works with 2 endpoints. You *cannot* chain
 endpoints by sending to A -> B -> C etc. Only between A -> B. The reason
 is the implementation logic is fairly simple. To support 3+ endpoints
@@ -244,4 +244,4 @@ int size = seda.getExchanges().size();
 * <<vm-component,VM>>
 * <<disruptor-component,Disruptor>>
 * <<direct-component,Direct>>
-* link:async.html[Async]
\ No newline at end of file
+* Async
\ No newline at end of file
diff --git a/camel-core/src/main/docs/serialization-dataformat.adoc b/camel-core/src/main/docs/serialization-dataformat.adoc
index 5010659..9a33d28 100644
--- a/camel-core/src/main/docs/serialization-dataformat.adoc
+++ b/camel-core/src/main/docs/serialization-dataformat.adoc
@@ -3,11 +3,11 @@
 
 *Available as of Camel version 2.12*
 
-Serialization is a link:data-format.html[Data Format] which uses the
+Serialization is a Data Format which uses the
 standard Java Serialization mechanism to unmarshal a binary payload into
 Java objects or to marshal Java objects into a binary blob. +
  For example the following uses Java serialization to unmarshal a binary
-file then send it as an ObjectMessage to link:activemq.html[ActiveMQ]
+file then send it as an ObjectMessage to ActiveMQ
 
 [source,java]
 ----
diff --git a/camel-core/src/main/docs/simple-language.adoc b/camel-core/src/main/docs/simple-language.adoc
index bf66151..dca358a 100644
--- a/camel-core/src/main/docs/simple-language.adoc
+++ b/camel-core/src/main/docs/simple-language.adoc
@@ -6,7 +6,7 @@
 The Simple Expression Language was a really simple language when it was
 created, but has since grown more powerful. It is primarily intended for
 being a really small and simple language for evaluating
-link:expression.html[Expression]s and link:predicate.html[Predicate]s
+Expressions and Predicates
 without requiring any new dependencies or knowledge of
 <<xpath-language,XPath>>; so it is ideal for testing in camel-core. The
 idea was to cover 95% of the common use cases when you need a little bit
@@ -18,7 +18,7 @@ choose a more expressive and powerful language such as:
 * <<spel-language,SpEL>>
 * <<mvel-component,Mvel>>
 * <<groovy-language,Groovy>>
-* link:javascript.html[JavaScript]
+* JavaScript
 * <<el-language,EL>>
 * <<ognl-language,OGNL>>
 * one of the supported link:scripting-languages.html[Scripting
@@ -43,7 +43,7 @@ For example if you have made a typo in one of the operators, then
 previously the parser would not be able to detect this, and cause the
 evaluation to be true. There are a few changes in the syntax which are
 no longer backwards compatible. When using <<simple-language,Simple>>
-language as a link:predicate.html[Predicate] then the literal text
+language as a Predicate then the literal text
 *must* be enclosed in either single or double quotes. For example:
 `"${body} == 'Camel'"`. Notice how we have single quotes around the
 literal. The old style of using `"body"` and `"header.foo"` to refer to
@@ -85,13 +85,13 @@ The Simple language supports 2 options which are listed below.
 |=======================================================================
 |Variable |Type |Description
 
-|camelId |String |*Camel 2.10:* the link:camelcontext.html[CamelContext] name
+|camelId |String |*Camel 2.10:* the CamelContext name
 
 |camelContext.*OGNL* |Object |*Camel 2.11:* the CamelContext invoked using a Camel OGNL expression.
 
-|exchange |Exchange |*Camel 2.16:* the link:exchange.html[Exchange]
+|exchange |Exchange |*Camel 2.16:* the Exchange
 
-|exchange.*OGNL* |Object |*Camel 2.16:* the link:exchange.html[Exchange] invoked using a Camel
+|exchange.*OGNL* |Object |*Camel 2.16:* the Exchange invoked using a Camel
 OGNL expression.
 
 |exchangeId |String |*Camel 2.3:* the exchange id
@@ -222,23 +222,23 @@ component.
 
 |properties:_locations:key_ |String |*Deprecated (use properties-location instead) Camel 2.3:* Lookup a
 property with the given key. The `locations` option is optional. See
-more at link:using-propertyplaceholder.html[Using PropertyPlaceholder].
+more at Using PropertyPlaceholder.
 
 |properties-location:_http://locationskey[locations:key]_ |String |*Camel 2.14.1:* Lookup a property with the given key. The `locations`
 option is optional. See more at
-link:using-propertyplaceholder.html[Using PropertyPlaceholder].
+Using PropertyPlaceholder.
 
 |properties:key:default |String |*Camel 2.14.1*: Lookup a property with the given key. If the key does
 not exists or has no value, then an optional default value can be
 specified.
 
 |routeId |String |*Camel 2.11:* Returns the id of the current route the
-link:exchange.html[Exchange] is being routed.
+Exchange is being routed.
 
 |threadName |String |*Camel 2.3:* Returns the name of the current thread. Can be used for
 logging purpose.
 
-|ref:xxx |Object |*Camel 2.6:* To lookup a bean from the link:registry.html[Registry] with
+|ref:xxx |Object |*Camel 2.6:* To lookup a bean from the Registry with
 the given id.
 
 |type:name.field |Object |*Camel 2.11:* To refer to a type or field by its FQN name. To refer to a
@@ -255,13 +255,13 @@ _max_ (excluded)
 
 |collate(group) |List |*Camel 2.17:* The collate function iterates the message body and groups
 the data into sub lists of specified size. This can be used with the
-link:splitter.html[Splitter] EIP to split a message body and group/batch
+Splitter EIP to split a message body and group/batch
 the splitted sub message into a group of N sub lists. This method works
 similar to the collate method in Groovy.
 
 |skip(number) |Iterator |*Camel 2.19:* The skip function iterates the message body and skips
 the first number of items. This can be used with the
-link:splitter.html[Splitter] EIP to split a message body and skip the first N number of items.
+Splitter EIP to split a message body and skip the first N number of items.
 
 |messageHistory |String |*Camel 2.17:* The message history of the current exchange how it has
 been routed. This is similar to the route stack-trace message history
@@ -741,7 +741,7 @@ In the Spring XML sample below we filter based on a header value:
 --------------------------------------------
 
 The Simple language can be used for the predicate test above in the
-link:message-filter.html[Message Filter] pattern, where we test if the
+Message Filter pattern, where we test if the
 in message has a `foo` header (a header with the key `foo` exists). If
 the expression evaluates to *true* then the message is routed to the
 `mock:fooOrders` endpoint, otherwise the message is dropped.
@@ -788,7 +788,7 @@ from("direct:order")
 ----
 
 Where `orderIdGenerator` is the id of the bean registered in the
-link:registry.html[Registry]. If using Spring then it is the Spring bean
+Registry. If using Spring then it is the Spring bean
 id.
 
 If we want to declare which method to invoke on the order id generator
@@ -857,7 +857,7 @@ From Camel 2.9 onwards you can nest functions, such as shown below:
 
 Suppose you have an enum for customers
 
-And in a link:content-based-router.html[Content Based Router] we can use
+And in a Content Based Router we can use
 the <<simple-language,Simple>> language to refer to this enum, to check
 the message which enum it matches.
 
diff --git a/camel-core/src/main/docs/string-dataformat.adoc b/camel-core/src/main/docs/string-dataformat.adoc
index ffe5adc..221659f 100644
--- a/camel-core/src/main/docs/string-dataformat.adoc
+++ b/camel-core/src/main/docs/string-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.12*
 
-The String link:data-format.html[Data Format] is a textual based format
+The String Data Format is a textual based format
 that supports encoding.
 
 === Options
diff --git a/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index a590b50..5702133 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -3,14 +3,14 @@
 
 *Available as of Camel version 1.3*
 
-link:testing.html[Testing] of distributed and asynchronous processing is
+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
-link:testing.html[Camel Testing Framework] to simplify your unit and
+Camel Testing Framework to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's large range of link:components.html[Components]
-together with the powerful link:bean-integration.html[Bean Integration].
+Patterns] and Camel's large range of Components
+together with the powerful Bean Integration.
 
 The *test* component extends the <<mock-component,Mock>> component to
 support pulling messages from another endpoint on startup to set the
@@ -48,7 +48,7 @@ test:expectedMessagesEndpointUri
 ----
 
 Where *expectedMessagesEndpointUri* refers to some other
-link:component.html[Component] URI that the expected message bodies are
+Component URI that the expected message bodies are
 pulled from before starting the test.
 
 === URI Options
@@ -117,4 +117,4 @@ To see how you can set other expectations on the test endpoint, see the
 
 === See Also
 
-* link:spring-testing.html[Spring Testing]
\ No newline at end of file
+* Spring Testing
\ No newline at end of file
diff --git a/camel-core/src/main/docs/timer-component.adoc b/camel-core/src/main/docs/timer-component.adoc
index 5bc70a6..aced5f1 100644
--- a/camel-core/src/main/docs/timer-component.adoc
+++ b/camel-core/src/main/docs/timer-component.adoc
@@ -111,7 +111,7 @@ TIP: Instead of 60000 you can use period=60s which is more friendly to read.
 
 The above route will generate an event and then invoke the
 `someMethodName` method on the bean called `myBean` in the
-link:registry.html[Registry] such as JNDI or link:spring.html[Spring].
+Registry such as JNDI or Spring.
 
 And the route in Spring DSL:
 
diff --git a/camel-core/src/main/docs/tokenize-language.adoc b/camel-core/src/main/docs/tokenize-language.adoc
index 5734338..242f632 100644
--- a/camel-core/src/main/docs/tokenize-language.adoc
+++ b/camel-core/src/main/docs/tokenize-language.adoc
@@ -4,15 +4,15 @@
 *Available as of Camel version 2.0*
 
 The tokenizer language is a built-in language in camel-core, which is
-most often used only with the link:splitter.html[Splitter] EIP to split
+most often used only with the Splitter EIP to split
 a message using a token-based strategy. +
 The tokenizer language is intended to tokenize text documents using a
 specified delimiter pattern. It can also be used to tokenize XML
 documents with some limited capability. For a truly XML-aware
-tokenization, the use of the link:xmltokenizer.html[XMLTokenizer]
+tokenization, the use of the XMLTokenizer
 language is recommended as it offers a faster, more efficient
 tokenization specifically for XML documents. For more details
-see link:splitter.html[Splitter].
+see Splitter.
 
 === Tokenize Options
 
diff --git a/camel-core/src/main/docs/transformer.adoc b/camel-core/src/main/docs/transformer.adoc
index de17054..a4d69d7 100644
--- a/camel-core/src/main/docs/transformer.adoc
+++ b/camel-core/src/main/docs/transformer.adoc
@@ -34,9 +34,9 @@ a wildcard.
 |===
 | Transformer | Description
 
-| Data Format Transformer | Transform with using link:data-format.html[Data Format]
+| Data Format Transformer | Transform with using Data Format
 
-| Endpoint Transformer | Transform with using link:endpoint.html[Endpoint]
+| Endpoint Transformer | Transform with using Endpoint
 
 | Custom Transformer | Transform with using custom transformer class. Transformer must be a subclass of `org.apache.camel.spi.Transformer`
 |===
@@ -63,9 +63,9 @@ All transformers have following common options to specify which data type is sup
 |===
 | Name | Description
 
-| type | link:data-format.html[Data Format] type
+| type | Data Format type
 
-| ref | reference to the link:data-format.html[Data Format] ID
+| ref | reference to the Data Format ID
 |===
 
 Here is an example to specify bindy DataFormat type:
@@ -96,9 +96,9 @@ XML DSL:
 |===
 | Name | Description
 
-| ref | Reference to the link:endpoint.html[Endpoint] ID
+| ref | Reference to the Endpoint ID
 
-| uri | link:endpoint.html[Endpoint] URI
+| uri | Endpoint URI
 |===
 
 Here is an example to specify endpoint URI in Java DSL:
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index a3dc1f2..cebba07 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/validator-component.adoc
@@ -47,7 +47,7 @@ for this component when using *Camel 2.8* or older:
 </dependency>
 ----
 
-From Camel 2.9 onwards the link:validation.html[Validation] component is
+From Camel 2.9 onwards the Validation component is
 provided directly in the camel-core.
 
 === Options
diff --git a/camel-core/src/main/docs/validator.adoc b/camel-core/src/main/docs/validator.adoc
index 683c3e6..32b449d 100644
--- a/camel-core/src/main/docs/validator.adoc
+++ b/camel-core/src/main/docs/validator.adoc
@@ -29,9 +29,9 @@ data type name.
 |===
 | Validator | Description
 
-| Predicate Validator | Validate with using link:expression.html[Expression] or link:predicate.html[Predicate]
+| Predicate Validator | Validate with using Expression or Predicate
 
-| Endpoint Transformer | Validate by forwarding to the link:endpoint.html[Endpoint] to be used with validation component such as link:validator-component.adoc[Validation Component] or link:bean-validation.html[Bean Validation Component].
+| Endpoint Transformer | Validate by forwarding to the Endpoint to be used with validation component such as Validation Component or Bean Validation Component.
 
 | Custom Transformer | Validate with using custom validator class. Validator must be a subclass of `org.apache.camel.spi.Validator`
 |===
@@ -56,7 +56,7 @@ All validators have following common options to specify which data type is suppo
 |===
 | Name | Description
 
-| expression | link:expression.html[Expression] or link:predicate.html[Predicate] to be used for validation
+| expression | Expression or Predicate to be used for validation
 |===
 
 Here is an example to specify a validation predicate:
@@ -84,9 +84,9 @@ XML DSL:
 |===
 | Name | Description
 
-| ref | Reference to the link:endpoint.html[Endpoint] ID
+| ref | Reference to the Endpoint ID
 
-| uri | link:endpoint.html[Endpoint] URI
+| uri | Endpoint URI
 |===
 
 Here is an example to specify endpoint URI in Java DSL:
@@ -106,7 +106,7 @@ And here is an example to specify endpoint ref in XML DSL:
 Note that the Endpoint Validator just forwards the message to the specified endpoint. In above example,
 camel forwards the message to the `validator:` endpoint, which actually is a
 <<validator-component,Validation Component>>. You can also use any other validation component like
-link:bean-validation.html[Bean Validation Component].
+Bean Validation Component.
 
 [[Validator-Custom]]
 === Custom Validator Options
diff --git a/camel-core/src/main/docs/xpath-language.adoc b/camel-core/src/main/docs/xpath-language.adoc
index c8ace31..a5e60a6 100644
--- a/camel-core/src/main/docs/xpath-language.adoc
+++ b/camel-core/src/main/docs/xpath-language.adoc
@@ -4,12 +4,12 @@
 *Available as of Camel version 1.1*
 
 Camel supports http://www.w3.org/TR/xpath[XPath] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration]. For example you could use XPath to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List].
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List.
 
 *Streams*
 
@@ -17,9 +17,9 @@ 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
-link:content-based-router.html[Content Based Router] then you need to
+Content Based Router then you need to
 access the data multiple times, and you should use
-link:stream-caching.html[Stream Caching] or convert the message body to
+Stream Caching or convert the message body to
 a `String` prior which is safe to be re-read multiple times.
 
 [source,java]
@@ -132,7 +132,7 @@ exchange:
 
 CAUTION: `function:properties` and `function:simple` is not supported
 when the return type is a `NodeSet`, such as when using with a
-link:splitter.html[Splitter] EIP.
+Splitter EIP.
 
 Here's an example showing some of these functions in use.
 
@@ -140,7 +140,7 @@ And the new functions introduced in Camel 2.5:
 
 === Using XML configuration
 
-If you prefer to configure your routes in your link:spring.html[Spring]
+If you prefer to configure your routes in your Spring
 XML file then you can use XPath expressions as follows
 
 [source,xml]
@@ -224,7 +224,7 @@ shown:
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java[example]
 using an XPath expression as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 If you have a standard set of namespaces you wish to work with and wish
 to share them across many different XPath expressions you can use the
@@ -242,7 +242,7 @@ And the spring XML equivalent of the route:
 
 === XPath injection
 
-You can use link:bean-integration.html[Bean Integration] to invoke a
+You can use Bean Integration to invoke a
 method on a bean and use various languages such as XPath to extract a
 value from the message and bind it to a method parameter.
 
@@ -276,13 +276,13 @@ public class Foo {
 *Available as of Camel 2.3*
 
 You can now use the `org.apache.camel.builder.XPathBuilder` without the
-need for an link:exchange.html[Exchange]. This comes handy if you want
+need for an Exchange. This comes handy if you want
 to use it as a helper to do custom xpath evaluations.
 
-It requires that you pass in a link:camelcontext.html[CamelContext]
+It requires that you pass in a CamelContext
 since a lot of the moving parts inside the XPathBuilder requires access
-to the Camel link:type-converter.html[Type Converter] and hence why
-link:camelcontext.html[CamelContext] is needed.
+to the Camel Type Converter and hence why
+CamelContext is needed.
 
 For example you can do something like this:
 
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index 1c8a681..c08ebee 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -5,7 +5,7 @@
 
 The *xslt:* component allows you to process a message using an
 http://www.w3.org/TR/xslt[XSLT] template. This can be ideal when using
-link:templating.html[Templating] to generate respopnses for requests.
+Templating to generate respopnses for requests.
 
 === URI format
 
@@ -358,7 +358,7 @@ Hope this post saves newbie Camel riders some time.
 
 === See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/camel-core/src/main/docs/xtokenize-language.adoc b/camel-core/src/main/docs/xtokenize-language.adoc
index 12bd6dc..658e6cc 100644
--- a/camel-core/src/main/docs/xtokenize-language.adoc
+++ b/camel-core/src/main/docs/xtokenize-language.adoc
@@ -5,13 +5,13 @@
 
 The xml tokenizer language is a built-in language in camel-core, which
 is a truly XML-aware tokenizer that can be used with the Splitter as the
-conventional link:tokenizer.html[Tokenizer] to efficiently and
+conventional Tokenizer to efficiently and
 effectively tokenize XML documents. XMLTokenizer is capable of not only
 recognizing XML namespaces and hierarchical structures of the document
 but also more efficiently tokenizing XML documents than the conventional
 Tokenizer. 
 
-For more details see link:splitter.html[Splitter].
+For more details see Splitter.
 
 === XML Tokenizer Options
 
diff --git a/camel-core/src/main/docs/zip-dataformat.adoc b/camel-core/src/main/docs/zip-dataformat.adoc
index 5bce0b1..a2638d6 100644
--- a/camel-core/src/main/docs/zip-dataformat.adoc
+++ b/camel-core/src/main/docs/zip-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.12*
 
-The Zip link:data-format.html[Data Format] is a message compression and
+The Zip Data Format is a message compression and
 de-compression format. Messages marshalled using Zip compression can be
 unmarshalled using Zip decompression just prior to being consumed at the
 endpoint. The compression capability is quite useful when you deal with
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index ff8a193..df4aeb0 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.14*
 
 The *ahc-ws* component provides Websocket
-based link:endpoint.html[endpoints] for a client communicating with
+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
@@ -161,10 +161,10 @@ And the equivalent Spring sample:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * link:../../../../camel-ahc/src/main/docs/readme.html[AHC]
 * <<atmosphere-websocket-component,Atmosphere-Websocket>>
\ No newline at end of file
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index fffc8a6..7f30de6 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.8*
 
-The *ahc:* component provides HTTP based link:endpoint.html[endpoints]
+The *ahc:* component provides HTTP based endpoints
 for consuming external HTTP resources (as a client to call external
 servers using HTTP). +
  The component uses the
@@ -435,10 +435,10 @@ Spring DSL based configuration of endpoint
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<jetty-component,Jetty>>
 * <<http-component,HTTP>>
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 5db7578..6768b84 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -378,7 +378,7 @@ prefix, so you don't have to configure it explicitly.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 9170eee..fdd7852 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.20*
 
-The ASN.1 Data Format link:data-format.html[Data Format] [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx) is a Camel Frameworks's data format implementation based on Bouncy Castle's bcprov-jdk15on library and jASN.1's java compiler for the formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very si [...]
+The ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx) is a Camel Frameworks's data format implementation based on Bouncy Castle's bcprov-jdk15on library and jASN.1's java compiler for the formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very simple. Messages can be u [...]
 
 ### ASN.1 Data Format Options
 
@@ -62,7 +62,7 @@ To use ASN.1 data format in your camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your `pom.xml`,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 0c2afe3..90e3cae 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -79,7 +79,7 @@ on *camel-atmos* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
@@ -145,7 +145,7 @@ DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, D
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 5e5364b..09ae88d 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.14*
 
 The *atmosphere-websocket:* component provides Websocket
-based link:endpoint.html[endpoints] for a servlet communicating with
+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
@@ -180,10 +180,10 @@ And the equivalent Spring sample:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<servlet-component,SERVLET>>
 * <<ahc-ws-component,AHC-WS>>
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index bd9015f..7b5b120 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -141,9 +141,9 @@ in any Container or using Spring.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-aws-xray/src/main/docs/aws-xray.adoc b/components/camel-aws-xray/src/main/docs/aws-xray.adoc
index 94f7692..8ac8cac 100644
--- a/components/camel-aws-xray/src/main/docs/aws-xray.adoc
+++ b/components/camel-aws-xray/src/main/docs/aws-xray.adoc
@@ -54,7 +54,7 @@ The configuration properties for the AWS XRay tracer are:
 
 |excludePatterns |  | Sets exclude pattern(s) that will disable tracing for Camel
 messages that matches the pattern. The content is a Set<String> where the key is a pattern matching routeId's. The pattern
-uses the rules from link:intercept.html[Intercept].
+uses the rules from Intercept.
 
 |=======================================================================
 
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index 32a3880..9fd48a1 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -88,7 +88,7 @@ with the following path and query parameters:
 Required CW component options
 
 You have to provide the amazonCwClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
 
 ### Usage
@@ -129,7 +129,7 @@ from("direct:start")
 -------------------------------------------------
 
 The `#client` refers to a `AmazonCloudWatch` in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -165,9 +165,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index d98f95c..56eb2f7 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -87,7 +87,7 @@ with the following path and query parameters:
 Required DDB component options
 
 You have to provide the amazonDDBClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/dynamodb[Amazon's DynamoDB].
 
 ### Usage
@@ -298,7 +298,7 @@ from("direct:start")
 ----------------------------------------------------
 
 The `#client` refers to a `AmazonDynamoDB` in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -334,9 +334,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index e482be9..411c147 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -107,7 +107,7 @@ with the following path and query parameters:
 Required DynampDBStream component options
 
 You have to provide the amazonDynamoDbStreamsClient in the
-link:registry.html[Registry] with proxies and relevant credentials
+Registry with proxies and relevant credentials
 configured.
 
 ### Sequence Numbers
@@ -122,10 +122,10 @@ lead to the AWS call returning an HTTP 400.
 
 ### Batch Consumer
 
-This component implements the link:batch-consumer.html[Batch Consumer].
+This component implements the Batch Consumer.
 
 This allows you for instance to know how many messages exists in this
-batch and for instance let the link:aggregator.html[Aggregator]
+batch and for instance let the Aggregator
 aggregate this number of messages.
 
 ### Usage
@@ -192,10 +192,10 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component] +
+* AWS Component +
  +
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 32f2d6a..651b0fc 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -82,7 +82,7 @@ with the following path and query parameters:
 Required EC2 component options
 
 You have to provide the amazonEc2Client in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
 
 ### Usage
@@ -135,9 +135,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index 2486f9b..a67e366 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -111,15 +111,15 @@ with the following path and query parameters:
 Required Kinesis component options
 
 You have to provide the amazonKinesisClient in the
-link:registry.html[Registry] with proxies and relevant credentials
+Registry with proxies and relevant credentials
 configured.
 
 ### Batch Consumer
 
-This component implements the link:batch-consumer.html[Batch Consumer].
+This component implements the Batch Consumer.
 
 This allows you for instance to know how many messages exists in this
-batch and for instance let the link:aggregator.html[Aggregator]
+batch and for instance let the Aggregator
 aggregate this number of messages.
 
 ### Usage
@@ -219,9 +219,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
\ No newline at end of file
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index a80167a..4569b8f 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -87,7 +87,7 @@ with the following path and query parameters:
 Required Kinesis Firehose component options
 
 You have to provide the amazonKinesisClient in the
-link:registry.html[Registry] with proxies and relevant credentials
+Registry with proxies and relevant credentials
 configured.
 
 
@@ -160,9 +160,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
\ No newline at end of file
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index d258045..7466360 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -88,7 +88,7 @@ with the following path and query parameters:
 Required Lambda component options
 
 You have to provide the awsLambdaClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/lambda/[Amazon Lambda] service.
 
 ### Usage
@@ -172,9 +172,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index c586081..5d5246c 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -82,7 +82,7 @@ with the following path and query parameters:
 Required EC2 component options
 
 You have to provide the amazonEc2Client in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
 
 ### Usage
@@ -124,9 +124,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
\ No newline at end of file
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index f512559..5a8d9b7 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -146,15 +146,15 @@ with the following path and query parameters:
 Required S3 component options
 
 You have to provide the amazonS3Client in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/s3[Amazon's S3].
 
 ### Batch Consumer
 
-This component implements the link:batch-consumer.html[Batch Consumer].
+This component implements the Batch Consumer.
 
 This allows you for instance to know how many messages exists in this
-batch and for instance let the link:aggregator.html[Aggregator]
+batch and for instance let the Aggregator
 aggregate this number of messages.
 
 ### Usage
@@ -328,9 +328,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index 7f41ae5..a729b3d 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -72,7 +72,7 @@ with the following path and query parameters:
 Required SDB component options
 
 You have to provide the amazonSDBClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sdb[Amazon's SDB].
 
 ### Usage
@@ -181,7 +181,7 @@ from("direct:start")
 ----------------------------------------------------
 
 The `#client` refers to a `AmazonSimpleDB` in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -217,9 +217,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index bd0e52c..3873522 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -85,7 +85,7 @@ with the following path and query parameters:
 Required SES component options
 
 You have to provide the amazonSESClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/ses[Amazon's SES].
 
 ### Usage
@@ -131,7 +131,7 @@ from("direct:start")
 -------------------------------------------------------------
 
 The `#client` refers to a `AmazonSimpleEmailService` in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -166,9 +166,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index bc29847..4969ecf 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -90,7 +90,7 @@ with the following path and query parameters:
 Required SNS component options
 
 You have to provide the amazonSNSClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sns[Amazon's SNS].
 
 ### Usage
@@ -126,7 +126,7 @@ from("direct:start")
 -------------------------------------------------
 
 The `#client` refers to a `AmazonSNS` in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -161,9 +161,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index e65bd08..5669bb4 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -129,15 +129,15 @@ with the following path and query parameters:
 Required SQS component options
 
 You have to provide the amazonSQSClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sqs[Amazon's SQS].
 
 ### Batch Consumer
 
-This component implements the link:batch-consumer.html[Batch Consumer].
+This component implements the Batch Consumer.
 
 This allows you for instance to know how many messages exists in this
-batch and for instance let the link:aggregator.html[Aggregator]
+batch and for instance let the Aggregator
 aggregate this number of messages.
 
 ### Usage
@@ -219,7 +219,7 @@ where `${camel-version`} must be replaced by the actual version of Camel
 ### JMS-style Selectors
 
 SQS does not allow selectors, but you can effectively achieve this by
-using the link:message-filter.html[Camel Filter EIP] and setting an
+using the Camel Filter EIP and setting an
 appropriate `visibilityTimeout`. When SQS dispatches a message, it will
 wait up to the visibility timeout before it will try to dispatch the
 message to a different consumer unless a DeleteMessage is received. By
@@ -242,9 +242,9 @@ consumers.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aws.html[AWS Component]
+* AWS Component
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index 24954a7..02c2b5a 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -104,7 +104,7 @@ with the following path and query parameters:
 Required SWF component options
 
 You have to provide the amazonSWClient in the
-link:registry.html[Registry] or your accessKey and secretKey to access
+Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/swf[Amazon's Simple Workflow Service].
 
 ### Usage
@@ -204,7 +204,7 @@ configuration you can create your own instance and refer to it from the
 URI:
 
 The `#client` refers to a AmazonSimpleWorkflowClient in the
-link:registry.html[Registry].
+Registry.
 
 For example if your Camel Application is running behind a firewall:
 
@@ -240,9 +240,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-link:aws.html[AWS Component]
\ No newline at end of file
+AWS Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 03b0abb..4917623 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -169,9 +169,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:azure.html[Azure Component]
\ No newline at end of file
+* Azure Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index e4f340d..b3375f5 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -156,9 +156,9 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:azure.html[Azure Component]
\ No newline at end of file
+* Azure Component
\ No newline at end of file
diff --git a/components/camel-bam/src/main/docs/bam-example.adoc b/components/camel-bam/src/main/docs/bam-example.adoc
index 90159eb..240c7dc 100644
--- a/components/camel-bam/src/main/docs/bam-example.adoc
+++ b/components/camel-bam/src/main/docs/bam-example.adoc
@@ -1,6 +1,6 @@
 ## Business Activity Monitor (BAM) Example
 
-The link:bam.html[BAM] (Business Activity Monitor) example shows how to
+The BAM (Business Activity Monitor) example shows how to
 monitor your transaction flows using Camel.
 
 In this example we will use Camel to monitor a business process
@@ -13,7 +13,7 @@ Then we will check to see that for every purchase order created by
 system A, that system B will generate an invoice within the specified
 amount of time (2 seconds in this example). If an invoice is not
 generated within the allowed amount of time and error is generated and
-sent to an link:endpoint.html[Endpoint].
+sent to an Endpoint.
 
 ### Overview
 
@@ -25,12 +25,12 @@ will poll the following directories
 
 The
 http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
-class defines the link:bam.html[BAM] activities; that is
+class defines the BAM activities; that is
 
 * the input sources (the two directories above) which could be any of
-the supported camel link:uris.html[URIs]
+the supported camel URIs
 * how the activities relate to each other - namely the
-link:correlation-identifier.html[Correlation Identifier] pattern
+Correlation Identifier pattern
 * the maixmum amount of time allowed from the time a purchase order is
 received when if an invoice is not received an error should be raised.
 
@@ -45,14 +45,14 @@ So lets start with the activities definition in
 http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
 
 The first two lines of code sets up the inputs for the
-link:bam.html[BAM] activities via the *activity()* method which defines
+BAM activities via the *activity()* method which defines
 
-* the link:uris.html[URIs] of the inputs (which could come from any of
-the Camel link:components.html[Components]
-* the link:correlation-identifier.html[Correlation Identifier] used to
+* the URIs of the inputs (which could come from any of
+the Camel Components
+* the Correlation Identifier used to
 correlate together the purchase order and invoice messages which can be
-any link:expression.html[Expression] via any of the
-link:languages-supported.html[Languages Supported]. In this case we are
+any Expression via any of the
+Languages Supported. In this case we are
 using <<xpath-language,XPath>>.
 
 Then the final line of code defines the temporal rules to use; namely
@@ -61,7 +61,7 @@ within 2 seconds of a purchase order being received. When a failure
 occurs in this example we just send it to the <<log-component,Log>>
 component to log out an error level message to commons-logging / log4j.
 You could change this to use some of the other
-link:components.html[Components] such as link:activemq.html[ActiveMQ],
+Components such as ActiveMQ,
 <<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
 <<xmpp-component,XMPP>> etc.
 
@@ -85,5 +85,5 @@ mvn compile exec:java
 ---------------------
 
 Failing that you can run the Main from inside your IDE if you prefer.
-Follow the link:building.html[Building] instructions to create an
+Follow the Building instructions to create an
 Eclipse/IDEA project to import
diff --git a/components/camel-bam/src/main/docs/bam.adoc b/components/camel-bam/src/main/docs/bam.adoc
index e6ef9e0..0c13cb7 100644
--- a/components/camel-bam/src/main/docs/bam.adoc
+++ b/components/camel-bam/src/main/docs/bam.adoc
@@ -4,7 +4,7 @@ Business Activity Monitoring
 
 The *Camel BAM* module provides a Business Activity Monitoring (BAM)
 framework for testing business processes across multiple message
-exchanges on different link:endpoint.html[Endpoint] instances.
+exchanges on different Endpoint instances.
 
 Consider, for example, a simple system in which you submit Purchase
 Orders into system A and then receive Invoices from system B. You might
@@ -61,8 +61,8 @@ return new ProcessBuilder(entityManagerFactory, transactionTemplate) {
 As you can see in the above example, we first define two activities, and
 then rules to specify when we expect them to complete for a process
 instance and when an error condition should be raised.p. The
-ProcessBuilder is a link:routebuilder.html[RouteBuilder] and can be
-added to any link:camelcontext.html[CamelContext].
+ProcessBuilder is a RouteBuilder and can be
+added to any CamelContext.
 
 [[BAM-CompleteExample]]
 Complete Example
@@ -70,7 +70,7 @@ Complete Example
 
 For a complete example please see the link:examples/bam-example.html[BAM
 Example], which is part of the standard Camel
-link:examples.html[Examples]
+Examples
 
 [[BAM-UseCases]]
 Use Cases
diff --git a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
index 8c152c4..6f9ea0e 100644
--- a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
+++ b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
@@ -16,7 +16,7 @@ a dependency on *camel-barcode* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 ----------------------------------------
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index 074c88a..f01b591 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -276,7 +276,7 @@ Note that the body should include an instance of a class to validate.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index a72b937..7d05ade 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.10*
 
-The BeanIO link:data-format.html[Data Format] uses
+The BeanIO Data Format uses
 http://beanio.org/[BeanIO] to handle flat payloads (such as XML, CSV,
 delimited, or fixed length formats).
 
@@ -49,7 +49,7 @@ the mapping file, as well the name of the stream. +
 
 Then we have two routes. The first route is for transforming CSV data
 into a List<Employee> Java objects. Which we then
-link:splitter.html[split], so the mock endpoint +
+split, so the mock endpoint +
  receives a message for each row.
 
 The 2nd route is for the reverse operation, to transform a
@@ -70,7 +70,7 @@ To use BeanIO in your Camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 965a379..65996b0 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -151,7 +151,7 @@ it again. You can `release` and specify _jobDelay_ though.
 The beanstalk consumer is a Scheduled link:polling-consumer.html[Polling
 Consumer] which means there is more options you can configure, such as
 how frequent the consumer should poll. For more details
-see link:polling-consumer.html[Polling Consumer].
+see Polling Consumer.
 
 ### Consumer Headers
 
@@ -225,7 +225,7 @@ out of buried and/or delayed state to the normal queue.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
index 4d2b43d..5db2a32 100644
--- a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
+++ b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
@@ -1696,8 +1696,8 @@ from("file://inbox")
 -----------------------------
 
 Alternatively, you can use a named reference to a data format which can
-then be defined in your link:registry.html[Registry] e.g. your
-link:spring.html[Spring] XML file:
+then be defined in your Registry e.g. your
+Spring XML file:
 
 [source,java]
 ---------------------------------
@@ -1736,7 +1736,7 @@ Each object can be retrieve using its class name.
 
 Assuming that you want to extract a single Order object from this map
 for processing in a route, you could use a combination of a
-link:splitter.html[Splitter] and a link:processor.html[Processor] as per
+Splitter and a Processor as per
 the following:
 
 [source,java]
@@ -1847,7 +1847,7 @@ To use Bindy in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 --------------------------------------
diff --git a/components/camel-bonita/src/main/docs/bonita-component.adoc b/components/camel-bonita/src/main/docs/bonita-component.adoc
index f0439d1..f351f76 100644
--- a/components/camel-bonita/src/main/docs/bonita-component.adoc
+++ b/components/camel-bonita/src/main/docs/bonita-component.adoc
@@ -76,7 +76,7 @@ To use Bonita in your Camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your pom.xml,
 substituting the version number for the latest and greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index 3a397f4..d704a1f 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -374,7 +374,7 @@ from("direct:start")
 ### Management of EHCache
 
 http://ehcache.org/[EHCache] has its own statistics and management from
-link:camel-jmx.html[JMX].
+JMX.
 
 Here's a snippet on how to expose them via JMX in a Spring application
 context:
diff --git a/components/camel-castor/src/main/docs/castor-dataformat.adoc b/components/camel-castor/src/main/docs/castor-dataformat.adoc
index 02be58a..6ce9390 100644
--- a/components/camel-castor/src/main/docs/castor-dataformat.adoc
+++ b/components/camel-castor/src/main/docs/castor-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.1*
 
-Castor is a link:data-format.html[Data Format] which uses the
+Castor is a Data Format which uses the
 http://www.castor.org/[Castor XML library] to unmarshal an XML payload
 into Java objects or to marshal Java objects into an XML payload.
 
@@ -132,7 +132,7 @@ To use Castor in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 ---------------------------------------
diff --git a/components/camel-cdi/src/main/docs/cdi.adoc b/components/camel-cdi/src/main/docs/cdi.adoc
index 23d8e7f..f1b61da 100644
--- a/components/camel-cdi/src/main/docs/cdi.adoc
+++ b/components/camel-cdi/src/main/docs/cdi.adoc
@@ -5,7 +5,7 @@ using CDI as dependency injection framework based
 on _convention-over-configuration_. It auto-detects Camel routes
 available in the application and provides beans for common Camel
 primitives like `Endpoint`, `FluentProducerTemplate`, `ProducerTemplate` or `TypeConverter`. It
-implements standard link:bean-integration.html[Camel bean integration]
+implements standard Camel bean integration
 so that Camel annotations like `@Consume`, `@Produce`
 and `@PropertyInject` can be used seamlessly in CDI beans. Besides, it
 bridges Camel events (e.g. `RouteAddedEvent`,
@@ -19,7 +19,7 @@ model. Hence some of the features like the Camel events to CDI events
 bridge and the CDI events endpoint only apply starting Camel 2.17.
 
 More details on how to test Camel CDI applications are available in
-link:cdi-testing.html[Camel CDI testing].
+Camel CDI testing.
 
 [CAUTION]
 ====
@@ -411,7 +411,7 @@ configuration mechanism]:
 String value;
 ----
 
-See link:cdi.html[configuration properties] for more details.
+See configuration properties for more details.
 
 |Producer template injection (default Camel context) a|
 [source,java]
@@ -538,7 +538,7 @@ from("direct:inbound").bean("foo");
 ==== Referring beans from Endpoint URIs
 
 When configuring endpoints using the URI syntax you can refer to beans
-in the link:registry.html[Registry] using the `#` notation. If the URI
+in the Registry using the `#` notation. If the URI
 parameter value starts with a `#` sign then Camel CDI will lookup for a
 bean of the given type by name, e.g.:
 
@@ -967,7 +967,7 @@ class MyRouteBean extends CdiRouteBuilder {
 The Camel context beans are automatically adapted by Camel CDI so that
 they are registered as OSGi services and the various resolvers
 (like `ComponentResolver` and `DataFormatResolver`) integrate with the
-OSGi registry. That means that the link:karaf.html[Karaf Camel commands]
+OSGi registry. That means that the Karaf Camel commands
 can be used to operate the Camel contexts auto-configured by Camel CDI,
 e.g.:
 
@@ -1147,7 +1147,7 @@ in Java with CDI dependency Injection
 
 === See Also
 
-* link:cdi-testing.html[Camel CDI testing]
+* Camel CDI testing
 * http://www.cdi-spec.org[CDI specification Web site]
 * http://www.cdi-spec.org/ecosystem/[CDI ecosystem]
 * http://weld.cdi-spec.org[Weld home page]
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index a643324..f50a553 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -5,7 +5,7 @@
 
 The *chunk:* component allows for processing a message using a
 http://www.x5software.com/chunk/examples/ChunkExample?loc=en_US[Chunk] template.
-This can be ideal when using link:templating.html[Templating] to
+This can be ideal when using Templating to
 generate responses for requests.
 
 Maven users will need to add the following dependency to
@@ -184,7 +184,7 @@ Regards Camel Riders Bookstore
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index 0073e29..4d11f50 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -136,7 +136,7 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index 9f72db3..c444c6a 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -202,7 +202,7 @@ Spring DSL based configuration of endpoint
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index c580a27..5f2823c 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -90,7 +90,7 @@ another CamelContext.
 #### Defining the context component
 
 First you need to create a CamelContext, add some routes in it, start it
-and then register the CamelContext into the link:registry.html[Registry]
+and then register the CamelContext into the Registry
 (JNDI, Spring, Guice or OSGi etc).
 
 This can be done in the usual Camel way from this
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 8c23208..0b04dd9 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.3*
 
 With Camel cryptographic endpoints and Java's Cryptographic extension it
-is easy to create Digital Signatures for link:exchange.html[Exchange]s.
+is easy to create Digital Signatures for Exchanges.
 Camel provides a pair of flexible endpoints which get used in concert to
 create a signature for an exchange in one part of the exchange's
 workflow and then verify the signature in a later part of the workflow.
@@ -231,7 +231,7 @@ template.send("direct:alias-verify", signed);
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index d4986dd..29fde98 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-The Crypto link:data-format.html[Data Format] integrates the Java
+The Crypto Data Format integrates the Java
 Cryptographic Extension into Camel, allowing simple and flexible
 encryption and decryption of messages using Camel's familiar marshall
 and unmarshal formatting mechanism. It assumes marshalling to mean
@@ -277,6 +277,6 @@ need to add the following dependency to your pom.
 
 ### See Also
 
-* link:data-format.html[Data Format]
-* link:crypto-digital-signatures.html[Crypto (Digital Signatures)]
+* Data Format
+* Crypto (Digital Signatures)
 * http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index 4b2b295..a3cf475 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.9*
 
-The PGP link:data-format.html[Data Format] integrates the Java
+The PGP Data Format integrates the Java
 Cryptographic Extension into Camel, allowing simple and flexible
 encryption and decryption of messages using Camel's familiar marshall
 and unmarshal formatting mechanism. It assumes marshalling to mean
@@ -317,6 +317,6 @@ need to add the following dependency to your pom.
 
 ### See Also
 
-* link:data-format.html[Data Format]
-* link:crypto-digital-signatures.html[Crypto (Digital Signatures)]
+* Data Format
+* Crypto (Digital Signatures)
 * http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-csv/src/main/docs/csv-dataformat.adoc b/components/camel-csv/src/main/docs/csv-dataformat.adoc
index 6d91554..0c00356 100644
--- a/components/camel-csv/src/main/docs/csv-dataformat.adoc
+++ b/components/camel-csv/src/main/docs/csv-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.3*
 
-The CSV link:data-format.html[Data Format] uses
+The CSV Data Format uses
 http://commons.apache.org/proper/commons-csv/[Apache Commons CSV] to
 handle CSV payloads (Comma Separated Values) such as those
 exported/imported by Excel.
@@ -54,7 +54,7 @@ The CSV dataformat supports 27 options which are listed below.
 ### Marshalling a Map to CSV
 
 The component allows you to marshal a Java Map (or any other message
-type that can be link:type-converter.html[converted] in a Map) into a
+type that can be converted in a Map) into a
 CSV payload.
 
 Considering the following body 
@@ -220,7 +220,7 @@ Using autogenColumns, configRef and strategyRef attributes inside XML
 
 *Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15*
 
-You can customize the CSV link:data-format.html[Data Format] to make use
+You can customize the CSV Data Format to make use
 of your own `CSVConfig` and/or `CSVStrategy`. Also note that the default
 value of the `autogenColumns` option is true. The following example
 should illustrate this customization.
@@ -259,7 +259,7 @@ should illustrate this customization.
 
 *Available as of Camel 2.10 and deleted for Camel 2.15*
 
-You can instruct the CSV link:data-format.html[Data Format] to skip the
+You can instruct the CSV Data Format to skip the
 first line which contains the CSV headers. Using the Spring/XML DSL:
 
 [source,xml]
@@ -355,7 +355,7 @@ To use CSV in your Camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your pom.xml,
 substituting the version number for the latest and greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 8409b4a..34fb08b 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -11,7 +11,7 @@ The bean component's configuration is also simpler and provides the
 fastest method to implement web services using Camel and CXF.
 
 TIP:When using CXF in streaming modes (see DataFormat option), then also
-read about link:stream-caching.html[Stream caching].
+read about Stream caching.
 
 The *cxf:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to JAX-WS services
@@ -888,7 +888,7 @@ the key SOAPAction (case-insensitive).
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index e7a2e71..472fda1 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -13,7 +13,7 @@ utilized by the standard <<seda-component,SEDA>>. Alternatively, a
 *disruptor-vm:* endpoint is supported by this component, providing an
 alternative to the standard <<vm-component,VM>>. As with the SEDA
 component, buffers of the *disruptor:* endpoints are only visible within
-a *single* link:camelcontext.html[CamelContext] and no support is
+a *single* CamelContext and no support is
 provided for persistence or recovery. The buffers of the
 **disruptor-vm:** endpoints also provides support for communication
 across CamelContexts instances so you can use this mechanism to
@@ -77,7 +77,7 @@ or
 --------------------------------
 
 Where **someName** can be any string that uniquely identifies the
-endpoint within the current link:camelcontext.html[CamelContext] (or
+endpoint within the current CamelContext (or
 across contexts in case of +
  **disruptor-vm:**). +
  You can append query options to the URI in the following format:
@@ -197,7 +197,7 @@ from("disruptor:input").to("bean:processInput").to("bean:createResponse");
 
 In the route above, we have a TCP listener on port 9876 that accepts
 incoming requests. The request is routed to the _disruptor:input_
-buffer. As it is a link:request-reply.html[Request Reply] message, we
+buffer. As it is a Request Reply message, we
 wait for the response. When the consumer on the _disruptor:input_ buffer
 is complete, it copies the response to the original message response.
 
diff --git a/components/camel-docker/src/main/docs/docker-component.adoc b/components/camel-docker/src/main/docs/docker-component.adoc
index ae73bbd..b10fdae 100644
--- a/components/camel-docker/src/main/docs/docker-component.adoc
+++ b/components/camel-docker/src/main/docs/docker-component.adoc
@@ -120,7 +120,7 @@ To use Docker in your Camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your pom.xml,
 substituting the version number for the latest and greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 8313360..04f7521 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -74,7 +74,7 @@ with the following path and query parameters:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-eclipse/src/main/docs/eclipse.adoc b/components/camel-eclipse/src/main/docs/eclipse.adoc
index bd9ff3a..765d7a2 100644
--- a/components/camel-eclipse/src/main/docs/eclipse.adoc
+++ b/components/camel-eclipse/src/main/docs/eclipse.adoc
@@ -2,10 +2,10 @@
 
 *Available as of Camel 2.3*
 
-The link:camel-eclipse.html[camel-eclipse] is a component which allows
+The camel-eclipse is a component which allows
 you to run Camel with Eclipse RCP. This component is needed due Eclipse
 classloading challenges. The component is a specialized Camel
-link:pluggable-class-resolvers.html[Pluggable Class Resolvers] to remedy
+Pluggable Class Resolvers to remedy
 this.
 
 The resolver is provided in the class
@@ -15,7 +15,7 @@ the `camel-eclipse` jar file.
 ### Using with Java DSL
 
 You need to configure the resolver on the
-link:camelcontext.html[CamelContext] which is done like this:
+CamelContext which is done like this:
 
 [source,java]
 -----------------------------------------------------------------------------------
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index 09add07..e49dcca 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -26,7 +26,7 @@ ejb:ejbName[?options]
 ---------------------
 
 Where *ejbName* can be any string which is used to look up the EJB in
-the Application Server JNDI link:registry.html[Registry]
+the Application Server JNDI Registry
 
 ### Options
 
@@ -84,9 +84,9 @@ with the following path and query parameters:
 
 How bean methods to be invoked are chosen (if they are not specified
 explicitly through the *method* parameter) and how parameter values are
-constructed from the link:message.html[Message] are all defined by the
-link:bean-binding.html[Bean Binding] mechanism which is used throughout
-all of the various link:bean-integration.html[Bean Integration]
+constructed from the Message are all defined by the
+Bean Binding mechanism which is used throughout
+all of the various Bean Integration
 mechanisms in Camel.
 
 ### Examples
@@ -210,10 +210,10 @@ Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 * <<bean-component,Bean>>
-* link:bean-binding.html[Bean Binding]
-* link:bean-integration.html[Bean Integration]
\ No newline at end of file
+* Bean Binding
+* Bean Integration
\ No newline at end of file
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index f19290d..6c94ff1 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -171,7 +171,7 @@ Java API]
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index ad744c4..4ecfb61 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -171,7 +171,7 @@ https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.h
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index a6721dd..7adca25 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -222,10 +222,10 @@ assumes to have `getLicense` and `getMinimum` methods:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<sql-component,SQL Component>>
 * <<mybatis-component,MyBatis>>
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 1ae250e..41ee4f6 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -233,7 +233,7 @@ from("direct:exec").to("exec:cmd?args=/C echo echoString")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
diff --git a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
index f0c8c3a..a50c893 100644
--- a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
+++ b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.20*
 
-Fastjson is a link:data-format.html[Data Format] which uses the
+Fastjson is a Data Format which uses the
 https://github.com/alibaba/fastjson[Fastjson Library]
 
 [source,java]
@@ -54,7 +54,7 @@ on *camel-fastjson* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index f049d5a..3283a50 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -198,7 +198,7 @@ processing in a separate route. For example:
 -----------------------------------------------------------------------
 
 You can also convert the payload of each message created to a `Map` for
-easy link:bean-integration.html[Bean Integration]
+easy Bean Integration
 
 ### Flatpack DataFormat
 
@@ -213,7 +213,7 @@ to a `java.util.List` as an
 `org.apache.camel.component.flatpack.DataSetList` instance. +
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
-link:splitter.html[Splitter].
+Splitter.
 
 *Notice:* The Flatpack library does currently not support header and
 trailers for the marshal operation.
@@ -289,7 +289,7 @@ To use Flatpack in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -----------------------------------------
@@ -302,7 +302,7 @@ link:download.html[the download page for the latest versions]).
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index bd1a2fb..8fa7163 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -14,7 +14,7 @@ to a `java.util.List` as an
 `org.apache.camel.component.flatpack.DataSetList` instance. +
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
-link:splitter.html[Splitter].
+Splitter.
 
 *Notice:* The Flatpack library does currently not support header and
 trailers for the marshal operation.
@@ -83,7 +83,7 @@ To use Flatpack in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -----------------------------------------
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index b6312c6..31c3b94 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -152,7 +152,7 @@ try {
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 452e0c1..189bcb6 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -163,7 +163,7 @@ For more information, see these resources...
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index 11df990..9229f8b 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -5,7 +5,7 @@
 
 The *freemarker:* component allows for processing a message using a
 http://freemarker.org/[FreeMarker] template. This can be ideal when
-using link:templating.html[Templating] to generate responses for
+using Templating to generate responses for
 requests.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -236,7 +236,7 @@ And the java code:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 703501d..0daf0b4 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -255,7 +255,7 @@ FTPClient.
 
 If you do not like having many and long configuration in the url you can
 refer to the `ftpClient` or `ftpClientConfig` to use by letting Camel
-lookup in the link:registry.html[Registry] for it.
+lookup in the Registry for it.
 
 For example:
 
@@ -298,21 +298,21 @@ The FTP producer does *not* have this issue, it supports concurrency.
 
 ### More information
 
-This component is an extension of the link:file2.html[File] component.
-So there are more samples and details on the link:file2.html[File]
+This component is an extension of the File component.
+So there are more samples and details on the File
 component page.
 
 ====
 
 ### Default when consuming files
 
-The link:ftp2.html[FTP] consumer will by default leave the consumed
+The FTP consumer will by default leave the consumed
 files untouched on the remote FTP server. You have to configure it
 explicitly if you want it to delete the files or move them to another
 location. For example you can use `delete=true` to delete the files, or
 use `move=.done` to move the files into a hidden done sub directory.
 
-The regular link:file2.html[File] consumer is different as it will by
+The regular File consumer is different as it will by
 default move files to a `.camel` sub directory. The reason Camel does
 *not* do this by default for the FTP consumer is that it may lack
 permissions by default to be able to move or delete files.
@@ -322,7 +322,7 @@ permissions by default to be able to move or delete files.
 The option *readLock* can be used to force Camel *not* to consume files
 that is currently in the progress of being written. However, this option
 is turned off by default, as it requires that the user has write access.
-See the options table at link:file2.html[File2] for more details about
+See the options table at File2 for more details about
 read locks. +
  There are other solutions to avoid consuming files that are currently
 being written over FTP; for instance, you can write to a temporary
@@ -393,7 +393,7 @@ the local file using `FileOutputStream`.
 Camel will store to a local file with the same name as the remote file,
 though with `.inprogress` as extension while the file is being
 downloaded. Afterwards, the file is renamed to remove the `.inprogress`
-suffix. And finally, when the link:exchange.html[Exchange] is complete
+suffix. And finally, when the Exchange is complete
 the local file is deleted.
 
 So if you want to download files from a remote FTP server and store it
@@ -411,7 +411,7 @@ from("ftp://someone@someserver.com?password=secret&localWorkDirectory=/tmp").to(
 The route above is ultra efficient as it avoids reading the entire file
 content into memory. It will download the remote file directly to a
 local file stream. The `java.io.File` handle is then used as the
-link:exchange.html[Exchange] body. The file producer leverages this fact
+Exchange body. The file producer leverages this fact
 and can work directly on the work file `java.io.File` handle and perform
 a `java.io.File.rename` to the target filename. As Camel knows it's a
 local work file, it can optimize and use a rename instead of a file
@@ -421,7 +421,7 @@ copy, as the work file is meant to be deleted anyway.
 
 ### Stepwise changing directories
 
-Camel link:ftp2.html[FTP] can operate in two modes in terms of
+Camel FTP can operate in two modes in terms of
 traversing directories when consuming files (eg downloading) or
 producing files (eg uploading)
 
@@ -754,9 +754,9 @@ problems.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:file2.html[File2]
\ No newline at end of file
+* File2
\ No newline at end of file
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index eb4cf7f..de84e99 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -90,7 +90,7 @@ with a JSON representation of the current location.
 
 If the option `headersOnly` is set to `true` then the message body is
 left as-is, and only headers will be added to the
-link:exchange.html[Exchange].
+Exchange.
 
 ### Message Headers
 
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index 9f38540..638a7ce 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -233,7 +233,7 @@ command:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
index 8f3c126..e65bcba 100644
--- a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
+++ b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
@@ -3,14 +3,14 @@ About the Groovy DSL
 ^^^^^^^^^^^^^^^^^^^^
 
 The Groovy DSL implementation is built on top of the existing Java-based
-link:dsl.html[DSL], but it additionally allows to use Groovy language
+DSL, but it additionally allows to use Groovy language
 features in your routes, particularly
 http://www.groovy-lang.org/closures.html[Closures] acting as
-link:processor.html[Processor], link:expression.html[Expression],
-link:predicate.html[Predicate], or link:aggregator.html[Aggregation
+Processor, Expression,
+Predicate, or link:aggregator.html[Aggregation
 Strategy]. +
  With the Groovy DSL you write your RouteBuilder classes entirely in
-Groovy, while the link:scripting-languages.html[scripting component]
+Groovy, while the scripting component
 allows to embed small scripts into Java routes. The Groovy DSL requires
 Groovy 2.0 or newer and is available as of *Camel 2.11*.
 
@@ -257,7 +257,7 @@ Using Groovy XML processing
 Groovy provides special http://groovy-lang.org/processing-xml.html[XML
 processing support] through its `XmlParser`, `XmlNodePrinter` and
 `XmlSlurper` classes. camel-groovy provides two
-link:data-format.html[data formats] to use these classes directly in
+data formats to use these classes directly in
 your routes.
 
 *Unmarshal XML with XmlParser*
@@ -313,7 +313,7 @@ def x = "It is currently ${ new Date() }"
 -----------------------------------------
 
 Because GStrings aren't Strings, camel-groovy adds the necessary
-link:type-converter.html[TypeConverter] to automatically turn them into
+TypeConverter to automatically turn them into
 the required type.
 
 [[GroovyDSL-CustomDSLextensions]]
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index 5a35351..cbad043 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -4,9 +4,9 @@
 *Available as of Camel version 1.3*
 
 Camel supports http://groovy.codehaus.org/[Groovy] among other
-link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a Groovy expression use the following Java code
@@ -17,9 +17,9 @@ To use a Groovy expression use the following Java code
 ---------------------------------------
 
 For example you could use the *groovy* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 ### Groovy Options
 
@@ -111,7 +111,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 ### Additional arguments to ScriptingEngine
@@ -185,7 +185,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index 7d16a26..22c7548 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -259,8 +259,8 @@ https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
 
 ### See Also
 
-* link:getting-started.html[Getting Started]
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
+* Getting Started
+* Configuring Camel
+* Component
+* Endpoint
 * <<protobuf-dataformat,Protocol Buffers Data Format>>
\ No newline at end of file
diff --git a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
index 6757dff..00844cc 100644
--- a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
+++ b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.10*
 
-Gson is a link:data-format.html[Data Format] which uses the
+Gson is a Data Format which uses the
 https://github.com/google/gson[Gson Library]
 
 [source,java]
@@ -54,7 +54,7 @@ on *camel-gson* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-guice/src/main/docs/guice.adoc b/components/camel-guice/src/main/docs/guice.adoc
index a1d9eae..e0383a0 100644
--- a/components/camel-guice/src/main/docs/guice.adoc
+++ b/components/camel-guice/src/main/docs/guice.adoc
@@ -41,7 +41,7 @@ extends CamelModule so that all bound RouteBuilder instances will be
 injected into the CamelContext or you can supply an optional Matcher to
 find RouteBuilder instances matching some kind of predicate.
 
-So you can specify the exact link:routebuilder.html[RouteBuilder]
+So you can specify the exact RouteBuilder
 instances you want
 
 [source,java]
@@ -87,10 +87,10 @@ to load right jndi properties file.
 Configuring Component, Endpoint or RouteBuilder instances
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-You can use link:guice.html[Guice] to dependency inject whatever objects
-you need to create, be it an link:endpoint.html[Endpoint],
-link:component.html[Component], link:routebuilder.html[RouteBuilder] or
-arbitrary link:bean-integration.html[bean used within a route].
+You can use Guice to dependency inject whatever objects
+you need to create, be it an Endpoint,
+Component, RouteBuilder or
+arbitrary bean used within a route.
 
 The easiest way to do this is to create your own Guice Module class
 which extends one of the above module classes and add a provider method
@@ -126,7 +126,7 @@ Creating multiple RouteBuilder instances per type
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 It is sometimes useful to create multiple instances of a particular
-link:routebuilder.html[RouteBuilder] with different configurations.
+RouteBuilder with different configurations.
 
 To do this just create multiple provider methods for each configuration;
 or create a single provider method that returns a collection of
@@ -153,9 +153,9 @@ public class MyModule extends CamelModuleWithMatchingRoutes {
 See Also
 ^^^^^^^^
 
-* there are a number of link:examples.html[Examples] you can look at to
+* there are a number of Examples you can look at to
 see Guice and Camel being used such as link:guice-jms-example.html[Guice
 JMS Example]
-* link:guice-maven-plugin.html[Guice Maven Plugin] for running your
+* Guice Maven Plugin for running your
 Guice based routes via Maven
 
diff --git a/components/camel-hawtdb/src/main/docs/hawtdb.adoc b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
index 9413cf1..22d10f3 100644
--- a/components/camel-hawtdb/src/main/docs/hawtdb.adoc
+++ b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
@@ -7,7 +7,7 @@ HawtDB
 http://hawtdb.fusesource.org/[HawtDB] is a very lightweight and
 embedable key value database. It allows together with Camel to provide
 persistent support for various Camel features such as
-link:aggregator2.html[Aggregator].
+Aggregator.
 
 *Deprecated*
 
@@ -18,7 +18,7 @@ there is a https://github.com/fusesource/leveldbjni[leveldbjni] project
 for that. The Apache ActiveMQ project is planning on using leveldb as
 their primary file based message store in the future, to replace kahadb.
 
-There os a link:leveldb.html[camel-leveldb] component we recommend to
+There os a camel-leveldb component we recommend to
 use instead of this.
 
 *Issue with HawtDB 1.4 or older*
@@ -72,7 +72,7 @@ existed. By default this option is `false` to optimize as we do not need
 the old exchange when aggregating.
 
 |`useRecovery` |boolean |Whether or not recovery is enabled. This option is by default `true`.
-When enabled the Camel link:aggregator2.html[Aggregator] automatic
+When enabled the Camel Aggregator automatic
 recover failed aggregated exchange and have them resubmitted.
 
 |`recoveryInterval` |long |If recovery is enabled then a background task is run every x'th time to
@@ -85,7 +85,7 @@ dead letter channel if all redelivery attempts failed. By default this
 option is disabled. If this option is used then the `deadLetterUri`
 option must also be provided.
 
-|`deadLetterUri` |String |An endpoint uri for a link:dead-letter-channel.html[Dead Letter Channel]
+|`deadLetterUri` |String |An endpoint uri for a Dead Letter Channel
 where exhausted recovered Exchanges will be moved. If this option is
 used then the `maximumRedeliveries` option must also be provided.
 
@@ -111,37 +111,37 @@ Recovery
 ^^^^^^^^
 
 The `HawtDBAggregationRepository` will by default recover any failed
-link:exchange.html[Exchange]. It does this by having a background tasks
-that scans for failed link:exchange.html[Exchange]s in the persistent
+Exchange. It does this by having a background tasks
+that scans for failed Exchanges in the persistent
 store. You can use the `checkInterval` option to set how often this task
 runs. The recovery works as transactional which ensures that Camel will
-try to recover and redeliver the failed link:exchange.html[Exchange].
-Any link:exchange.html[Exchange] which was found to be recovered will be
+try to recover and redeliver the failed Exchange.
+Any Exchange which was found to be recovered will be
 restored from the persistent store and resubmitted and send out again.
 
-The following headers is set when an link:exchange.html[Exchange] is
+The following headers is set when an Exchange is
 being recovered/redelivered:
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
 |Header |Type |Description
 
-|`Exchange.REDELIVERED` |Boolean |Is set to true to indicate the link:exchange.html[Exchange] is being
+|`Exchange.REDELIVERED` |Boolean |Is set to true to indicate the Exchange is being
 redelivered.
 
 |`Exchange.REDELIVERY_COUNTER` |Integer |The redelivery attempt, starting from 1.
 |=======================================================================
 
-Only when an link:exchange.html[Exchange] has been successfully
+Only when an Exchange has been successfully
 processed it will be marked as complete which happens when the `confirm`
 method is invoked on the `AggregationRepository`. This means if the same
-link:exchange.html[Exchange] fails again it will be kept retried until
+Exchange fails again it will be kept retried until
 it success.
 
 You can use option `maximumRedeliveries` to limit the maximum number of
-redelivery attempts for a given recovered link:exchange.html[Exchange].
+redelivery attempts for a given recovered Exchange.
 You must also set the `deadLetterUri` option so Camel knows where to
-send the link:exchange.html[Exchange] when the `maximumRedeliveries` was
+send the Exchange when the `maximumRedeliveries` was
 hit.
 
 You can see some examples in the unit tests of camel-hawtdb, for example
@@ -165,12 +165,12 @@ The same example but using Spring XML instead:
 Dependencies
 ^^^^^^^^^^^^
 
-To use link:hawtdb.html[HawtDB] in your camel routes you need to add the
+To use HawtDB in your camel routes you need to add the
 a dependency on *camel-hawtdb*.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
@@ -185,11 +185,11 @@ link:download.html[the download page for the latest versions]).
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aggregator2.html[Aggregator]
-* link:components.html[Components]
+* Aggregator
+* Components
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
index 0d8e738..df53662 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] atomic number component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast atomic number.
+The http://www.hazelcast.com/[Hazelcast] atomic number component is one of Camel Hazelcast Components which allows you to access Hazelcast atomic number.
 An atomic number is an object that simply provides a grid wide number (long). 
 
 *There is no consumer for this endpoint!*
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
index a4ba131..dcd5d76 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] instance component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to consume join/leave events of the cache instance in the cluster.
+The http://www.hazelcast.com/[Hazelcast] instance component is one of Camel Hazelcast Components which allows you to consume join/leave events of the cache instance in the cluster.
 Hazelcast makes sense in one single "server node", but it's extremly powerful in a clustered environment.
 
 *This endpoint provides no producer!*
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
index c0481ac..9e18113 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] List component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed list.
+The http://www.hazelcast.com/[Hazelcast] List component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed list.
 
 ### Options
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
index 8a54321..b8c94e2 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] Map component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed map.
+The http://www.hazelcast.com/[Hazelcast] Map component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed map.
 
 
 ### Options
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
index fe5984a..b2a06f2 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] Multimap component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed multimap.
+The http://www.hazelcast.com/[Hazelcast] Multimap component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed multimap.
 
 
 ### Options
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
index 68f9124..ae844d7 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] Queue component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed queue.
+The http://www.hazelcast.com/[Hazelcast] Queue component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed queue.
 
 
 ### Options
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
index 83b2d02..7d1816f 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.16*
 
-The http://www.hazelcast.com/[Hazelcast] instance component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to consume join/leave events of the cache instance in the cluster.
+The http://www.hazelcast.com/[Hazelcast] instance component is one of Camel Hazelcast Components which allows you to consume join/leave events of the cache instance in the cluster.
 A replicated map is a weakly consistent, distributed key-value data structure with no data partition.
  
  
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
index 0d49e02..b79ab12 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
@@ -5,7 +5,7 @@
 
 *Avalaible from Camel 2.16*
 
-The http://www.hazelcast.com/[Hazelcast] ringbuffer component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast ringbuffer.
+The http://www.hazelcast.com/[Hazelcast] ringbuffer component is one of Camel Hazelcast Components which allows you to access Hazelcast ringbuffer.
 Ringbuffer is a distributed data structure where the data is stored in a ring-like structure. You can think of it as a circular array with a certain capacity. 
 
 ### Options
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
index f8b44f8..dcfb816 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] SEDA component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast BlockingQueue.
+The http://www.hazelcast.com/[Hazelcast] SEDA component is one of Camel Hazelcast Components which allows you to access Hazelcast BlockingQueue.
 SEDA component differs from the rest components provided. It implements a work-queue in order to support asynchronous SEDA architectures, similar to the core "SEDA" component.
 
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
index 2542085..13cfe84 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.7*
 
-The http://www.hazelcast.com/[Hazelcast] Set component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed set.
+The http://www.hazelcast.com/[Hazelcast] Set component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed set.
 
 
 ### Options
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
index 97960c6..26a6a15 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.15*
 
-The http://www.hazelcast.com/[Hazelcast] Topic component is one of link:hazelcast.html[Camel Hazelcast Components] which allows you to access Hazelcast distributed topic.
+The http://www.hazelcast.com/[Hazelcast] Topic component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed topic.
 
 
 ### Options
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index c4bf79a..7185ee1 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -497,5 +497,5 @@ object can be easily converted to or from xml/json.
 
 ### See also
 
-* link:polling-consumer.html[Polling Consumer]
+* Polling Consumer
 * http://hbase.apache.org[Apache HBase]
\ No newline at end of file
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index ba2c869..c4ce812 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -38,7 +38,7 @@ must be of the same type.
 2.  as a producer, if at least one split strategy is defined, the path
 is considered a directory and under that directory the producer creates
 a different file per split named using the configured
-link:uuidgenerator.html[UuidGenerator].
+UuidGenerator.
 
 *Note*
 
@@ -168,7 +168,7 @@ this problem in this way:
 
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
-link:uuidgenerator.html[UuidGenerator]
+UuidGenerator
 * Every time a splitting condition is met, a new file is created. +
  The splitStrategy option is defined as a string with the following
 syntax: +
@@ -214,7 +214,7 @@ The following headers are supported by this component:
 
 |`CamelFileName` |*Camel 2.13:* Specifies the name of the file to write (relative to the
 endpoint path). The name can be a `String` or an
-link:expression.html[Expression] object. Only relevant when not using a
+Expression object. Only relevant when not using a
 split strategy.
 |=======================================================================
 
diff --git a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index 8356261..a2e08f6 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -38,7 +38,7 @@ must be of the same type.
 2.  as a producer, if at least one split strategy is defined, the path
 is considered a directory and under that directory the producer creates
 a different file per split named using the configured
-link:uuidgenerator.html[UuidGenerator].
+UuidGenerator.
 
 
 When consuming from hdfs2 then in normal mode, a file is split into
@@ -164,7 +164,7 @@ this problem in this way:
 
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
-link:uuidgenerator.html[UuidGenerator]
+UuidGenerator
 * Every time a splitting condition is met, a new file is created. +
  The splitStrategy option is defined as a string with the following
 syntax: splitStrategy=<ST>:<value>,<ST>:<value>,*
@@ -207,7 +207,7 @@ The following headers are supported by this component:
 
 |`CamelFileName` |*Camel 2.13:* Specifies the name of the file to write (relative to the
 endpoint path). The name can be a `String` or an
-link:expression.html[Expression] object. Only relevant when not using a
+Expression object. Only relevant when not using a
 split strategy.
 |=======================================================================
 
diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
index 6667392..b66612e 100644
--- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc
+++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
@@ -92,12 +92,12 @@ with the following path and query parameters:
 ### Scheduled Poll Consumer
 
 This component implements the
-link:polling-consumer.html[ScheduledPollConsumer]. Only the last message
+ScheduledPollConsumer. Only the last message
 from the provided 'consumeUsers' are retrieved and sent as Exchange
 body. If you do not want the same message to be retrieved again when
 there are no new messages on next poll then you can add the
-link:idempotent-consumer.html[idempotent consumer] as shown below. All
-the options on the link:polling-consumer.html[ScheduledPollConsumer] can
+idempotent consumer as shown below. All
+the options on the ScheduledPollConsumer can
 also be used for more control on the consumer.
 
 [source,java]
diff --git a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
index d122114..a4bfc80 100644
--- a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
+++ b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
@@ -11,7 +11,7 @@ This component supports the following:
 
 * HL7 MLLP codec for <<mina2-component,Mina>>
 * HL7 MLLP codec for <<netty4-component,Netty4>> from *Camel 2.15* onwards
-* link:type-converter.html[Type Converter] from/to HAPI and String
+* 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.
@@ -160,7 +160,7 @@ consumer, as this Java DSL example illustrates:
 ### HL7 Model using java.lang.String or byte[]
 
 The HL7 MLLP codec uses plain String as its data format. Camel uses its
-link:type-converter.html[Type Converter] to convert to/from strings to
+Type Converter to convert to/from strings to
 the HAPI HL7 model objects, but you can use the plain String objects if
 you prefer, for instance if you wish to parse the data yourself.
 
@@ -559,7 +559,7 @@ the example above.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 30a0425..2b30786 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.0*
 
-The *http:* component provides HTTP based link:endpoint.html[endpoints]
+The *http:* component provides HTTP based endpoints
 for consuming external HTTP resources (as a client to call external
 servers using HTTP).
 
@@ -397,7 +397,7 @@ the value from the Out message header with
 ### Using `throwExceptionOnFailure=false` to get any response back
 
 In the route below we want to route a message that we
-link:content-enricher.html[enrich] with data returned from a remote HTTP
+enrich with data returned from a remote HTTP
 call. As we want any response from the remote server, we set the
 `throwExceptionOnFailure` option to `false` so we get any response in
 the `AggregationStrategy`. As the code is based on a unit test that
@@ -544,9 +544,9 @@ keystore and truststore as described above, it will work fine.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index 5eed8d5..e49fe0a 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-The *http4:* component provides HTTP based link:endpoint.html[endpoints]
+The *http4:* component provides HTTP based endpoints
 for calling external HTTP resources (as a client to call external
 servers using HTTP).
 
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index b420925..a95096e 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -248,9 +248,9 @@ And the statements in the sqlmap file:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<mybatis-component,MyBatis>>
\ No newline at end of file
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
index 2c26630..b7b00f9 100644
--- a/components/camel-ical/src/main/docs/ical-dataformat.adoc
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -71,7 +71,7 @@ for this component:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
index 195aa3e..c91a202 100644
--- a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Cache endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to interact with an https://apacheignite.readme.io/docs/data-grid[Ignite Cache].
+The Ignite Cache endpoint is one of camel-ignite endpoints which allows you to interact with an https://apacheignite.readme.io/docs/data-grid[Ignite Cache].
 This offers both a Producer (to invoke cache operations on an Ignite cache) and a Consumer (to consume changes from a continuous query).
 
 The cache value is always the body of the message, whereas the cache key is always stored in the `IgniteConstants.IGNITE_CACHE_KEY` message header.
diff --git a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
index f59368c..595bb2f 100644
--- a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Compute endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to run https://apacheignite.readme.io/docs/compute-grid[compute operations] on the cluster by passing in an IgniteCallable, an IgniteRunnable, an IgniteClosure, or collections of them, along with their parameters if necessary.
+The Ignite Compute endpoint is one of camel-ignite endpoints which allows you to run https://apacheignite.readme.io/docs/compute-grid[compute operations] on the cluster by passing in an IgniteCallable, an IgniteRunnable, an IgniteClosure, or collections of them, along with their parameters if necessary.
 
 This endpoint only supports producers.
 
diff --git a/components/camel-ignite/src/main/docs/ignite-events-component.adoc b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
index 53853d3..455de6d 100644
--- a/components/camel-ignite/src/main/docs/ignite-events-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Events endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to https://apacheignite.readme.io/docs/events[receive events] from the Ignite cluster by creating a local event listener.
+The Ignite Events endpoint is one of camel-ignite endpoints which allows you to https://apacheignite.readme.io/docs/events[receive events] from the Ignite cluster by creating a local event listener.
 
 This endpoint only supports consumers.
 The Exchanges created by this consumer put the received Event object into the body of the IN message.
diff --git a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
index 003afd7..9ac6bb8 100644
--- a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite ID Generator endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to interact with https://apacheignite.readme.io/docs/id-generator[Ignite Atomic Sequences and ID Generators].
+The Ignite ID Generator endpoint is one of camel-ignite endpoints which allows you to interact with https://apacheignite.readme.io/docs/id-generator[Ignite Atomic Sequences and ID Generators].
 
 This endpoint only supports producers.
 
diff --git a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
index 0dfa3cb..6f6a91d 100644
--- a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Messaging endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to send and consume messages from an https://apacheignite.readme.io/docs/messaging[Ignite topic].
+The Ignite Messaging endpoint is one of camel-ignite endpoints which allows you to send and consume messages from an https://apacheignite.readme.io/docs/messaging[Ignite topic].
 
 This endpoint supports producers (to send messages) and consumers (to receive messages).
 
diff --git a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
index 0a68e7e..8da4ec0 100644
--- a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Queue endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to interact with https://apacheignite.readme.io/docs/queue-and-set[Ignite Queue data structures].
+The Ignite Queue endpoint is one of camel-ignite endpoints which allows you to interact with https://apacheignite.readme.io/docs/queue-and-set[Ignite Queue data structures].
 
 This endpoint only supports producers.
 
diff --git a/components/camel-ignite/src/main/docs/ignite-set-component.adoc b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
index c1a86ad..f619df9 100644
--- a/components/camel-ignite/src/main/docs/ignite-set-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The Ignite Sets endpoint is one of link:ignite.html[camel-ignite endpoints] which allows you to interact with https://apacheignite.readme.io/docs/queue-and-set[Ignite Set data structures].
+The Ignite Sets endpoint is one of camel-ignite endpoints which allows you to interact with https://apacheignite.readme.io/docs/queue-and-set[Ignite Set data structures].
 
 This endpoint only supports producers.
 
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index 754497d..856230e 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -203,7 +203,7 @@ XML file as well:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index 7e06e55..716502e 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -114,7 +114,7 @@ For more information, see these resources...
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index 6fc79ac..ab5fc32 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -213,7 +213,7 @@ from("ircs:nick@myserver:1234/#mychannelname?namesOnJoin=true&onReply=true")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
index 3046c50..0a2147f 100644
--- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
+++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.0*
 
-Jackson is a link:data-format.html[Data Format] which uses the
+Jackson is a Data Format which uses the
 https://github.com/FasterXML/jackson-core[Jackson Library]
 
 [source,java]
@@ -63,7 +63,7 @@ on *camel-jackson* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
index 7aa66f2..9d847f9 100644
--- a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
+++ b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.16*
 
-Jackson XML is a link:data-format.html[Data Format] which uses the
+Jackson XML is a Data Format which uses the
 http://wiki.fasterxml.com/JacksonHome/[Jackson library] with the
 https://github.com/FasterXML/jackson-dataformat-xml[XMLMapper extension]
 to unmarshal an XML payload into Java objects or to marshal Java objects
@@ -61,7 +61,7 @@ The JacksonXML dataformat supports 15 options which are listed below.
 
 #### Using Jackson XML in Spring DSL
 
-When using link:data-format.html[Data Format] in Spring DSL you need to
+When using Data Format in Spring DSL you need to
 declare the data formats first. This is done in the *DataFormats* XML
 tag.
 
@@ -347,7 +347,7 @@ on *camel-jacksonxml* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-jasypt/src/main/docs/jasypt.adoc b/components/camel-jasypt/src/main/docs/jasypt.adoc
index 5541a0f..2f70746 100644
--- a/components/camel-jasypt/src/main/docs/jasypt.adoc
+++ b/components/camel-jasypt/src/main/docs/jasypt.adoc
@@ -25,7 +25,7 @@ for this component:
 
 ### Tooling
 
-The link:jasypt.html[Jasypt] component provides a little command line
+The Jasypt component provides a little command line
 tooling to encrypt or decrypt values.
 
 The console output the syntax and which options it provides:
@@ -91,7 +91,7 @@ TIP: When running jasypt tooling, if you come across `java.lang.NoClassDefFoundE
 
 ### URI Options
 
-The options below are exclusive for the link:jasypt.html[Jasypt]
+The options below are exclusive for the Jasypt
 component.
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -107,7 +107,7 @@ mandatory. See below for more details.
 
 ### Protecting the master password
 
-The master password used by link:jasypt.html[Jasypt] must be provided,
+The master password used by Jasypt must be provided,
 so that it's capable of decrypting the values. However having this
 master password out in the open may not be an ideal solution. Therefore
 you could for example provide it as a JVM system property or as a OS
@@ -138,7 +138,7 @@ The `password` option is then a matter of defining as follows:
 
 ### Example with Java DSL
 
-In Java DSL you need to configure link:jasypt.html[Jasypt] as a
+In Java DSL you need to configure Jasypt as a
 `JasyptPropertiesParser` instance and set it on the
 <<properties-component,Properties>> component as show below:
 
@@ -151,7 +151,7 @@ and the value has the tokens surrounding `ENC(value here)`
 In Spring XML you need to configure the `JasyptPropertiesParser` which
 is shown below. Then the Camel <<properties-component,Properties>>
 component is told to use `jasypt` as the properties parser, which means
-link:jasypt.html[Jasypt] has its chance to decrypt values looked up in
+Jasypt has its chance to decrypt values looked up in
 the properties.
 
 [source,xml]
@@ -173,7 +173,7 @@ the properties.
 The <<properties-component,Properties>> component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer to
-link:jasypt.html[Jasypt].
+Jasypt.
 
 [source,java]
 --------------------------------------------------------------------------------------------------------------
@@ -202,7 +202,7 @@ In Blueprint XML you need to configure
 the `JasyptPropertiesParser` which is shown below. Then the
 Camel <<properties-component,Properties>> component is told to
 use `jasypt` as the properties parser, which
-means link:jasypt.html[Jasypt] has its chance to decrypt values looked
+means Jasypt has its chance to decrypt values looked
 up in the properties.
 
 [source,xml]
@@ -243,7 +243,7 @@ up in the properties.
 The <<properties-component,Properties>> component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer
-to link:jasypt.html[Jasypt].
+to Jasypt.
 
 [source,xml]
 ----------------------------------------------------------------------------------------------------------------
@@ -274,7 +274,7 @@ to link:jasypt.html[Jasypt].
 
 ### See Also
 
-* link:security.html[Security]
+* Security
 * <<properties-component,Properties>>
 * http://activemq.apache.org/encrypted-passwords.html[Encrypted
 passwords in ActiveMQ] - ActiveMQ has a similar feature as this
diff --git a/components/camel-javaspace/src/main/docs/javaspace-component.adoc b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
index 161cb7a..7c2b4d3 100644
--- a/components/camel-javaspace/src/main/docs/javaspace-component.adoc
+++ b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
@@ -142,7 +142,7 @@ requests/replies with the proper correlation.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
index c850c16..568490e 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.0*
 
-JAXB is a link:data-format.html[Data Format] which uses the JAXB2 XML
+JAXB is a Data Format which uses the JAXB2 XML
 marshalling standard which is included in Java 6 to unmarshal an XML
 payload into Java objects or to marshal Java objects into an XML
 payload.
@@ -55,8 +55,8 @@ from("activemq:My.Queue").
 -------------------------------------------------------
 
 You can if you prefer use a named reference to a data format which can
-then be defined in your link:registry.html[Registry] such as via your
-link:spring.html[Spring] XML file. e.g.
+then be defined in your Registry such as via your
+Spring XML file. e.g.
 
 [source,java]
 -------------------------------
@@ -68,7 +68,7 @@ from("activemq:My.Queue").
 ### Using Spring XML
 
 The following example shows how to use JAXB to unmarshal using
-link:spring.html[Spring] configuring the jaxb data type
+Spring configuring the jaxb data type
 
 This example shows how to configure the data type just once and reuse it
 on multiple routes.
@@ -126,7 +126,7 @@ http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Char[NonXML Character],
 you just need to set the filterNonXmlChars property to be true,
 JaxbDataFormat will replace the NonXML character with " " when it is
 marshaling or unmarshaling the message. You can also do it by setting
-the link:exchange.html[Exchange] property
+the Exchange property
 `Exchange.FILTER_NON_XML_CHARS`.
 
  
@@ -182,7 +182,7 @@ You can set the *encoding* option to use when marshalling. Its the
 `Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
  You can setup which encoding to use when you declare the JAXB data
 format. You can also provide the encoding in the
-link:exchange.html[Exchange] property `Exchange.CHARSET_NAME`. This
+Exchange property `Exchange.CHARSET_NAME`. This
 property will overrule the encoding set on the JAXB data format.
 
 In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
@@ -215,7 +215,7 @@ namespace "http://www.mycompany.com/foo/2" is not using any prefix.
 
 To use this in <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> you refer to
 this map, using the `namespacePrefixRef` attribute as shown below. Then
-Camel will lookup in the link:registry.html[Registry] a `java.util.Map`
+Camel will lookup in the Registry a `java.util.Map`
 with the id "myMap", which was what we defined above.
 
 [source,xml]
@@ -229,7 +229,7 @@ with the id "myMap", which was what we defined above.
 
 *Available as of Camel 2.11*
 
-The JAXB link:data-format.html[Data Format] supports validation by
+The JAXB Data Format supports validation by
 marshalling and unmarshalling from/to XML. Your can use the prefix
 *classpath:*, *file:* or *http:* to specify how the resource should by
 resolved. You can separate multiple schema files by using the *','*
@@ -276,7 +276,7 @@ jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);
 
 *Available as of Camel 2.14*
 
-The JAXB link:data-format.html[Data Format] supports to specify the
+The JAXB Data Format supports to specify the
 SchemaLocation when marshaling the XML. 
 
 Using the Java DSL, you can configure it in the following way:
@@ -317,7 +317,7 @@ To use JAXB in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index f6be2da..722548b 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -155,9 +155,9 @@ from("direct:start")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
  
\ No newline at end of file
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index 39648c9..ae87abe 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -127,7 +127,7 @@ all the children.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index 535295c..c9174df 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -192,7 +192,7 @@ and then send the exchange. The result of the query is returned in the
 OUT body:
 
 If you want to work on the rows one by one instead of the entire
-ResultSet at once you need to use the link:splitter.html[Splitter] EIP
+ResultSet at once you need to use the Splitter EIP
 such as:
 
 In Camel 2.13.x or older
@@ -245,9 +245,9 @@ from("timer://MoveNewCustomersEveryHour?period=3600000")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<sql-component,SQL>>
\ No newline at end of file
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index 616abb0..708a33a 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -5,7 +5,7 @@
 
 WARNING: The producer is deprecated - do not use. We only recommend using jetty as consumer (eg from jetty)
 
-The *jetty* component provides HTTP-based link:endpoint.html[endpoints]
+The *jetty* component provides HTTP-based endpoints
 for consuming and producing HTTP requests. That is, the Jetty component
 behaves as a simple Web server. +
  Jetty can also be used as a http client which mean you can also use it
@@ -20,7 +20,7 @@ the content of the stream *once*. +
 If you find a situation where the message body appears to be empty or
 you need to access the Exchange.HTTP_RESPONSE_CODE data multiple times
 (e.g.: doing multicasting, or redelivery error handling), you should use
-link:stream-caching.html[Stream caching] or convert the message body to
+Stream caching or convert the message body to
 a `String` which is safe to be re-read multiple times.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -290,7 +290,7 @@ exchange. For example, the following route enables sessions:
 <route>
 ---------------------------------------------------------------------------
 
-The `myCode` link:processor.html[Processor] can be instantiated by a
+The `myCode` Processor can be instantiated by a
 Spring `bean` element:
 
 [source,xml]
@@ -684,7 +684,7 @@ instead of the default reply message Camel <<jetty-component,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
-link:exception-clause.html[Exception Clause] to construct the custom
+Exception Clause to construct the custom
 reply message. For example as show here, where we return
 `Dude something went wrong` with HTTP error code 500:
 
@@ -733,9 +733,9 @@ name collisions when registering Jetty MBeans.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index a822357..3f0495d 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -176,7 +176,7 @@ from("jgroups:clusterName?enableViewMessages=true").
 Starting from version *2.13.0* of Camel, JGroups component comes with
 predefined expressions factory class named `JGroupsExpressions.`
 
-If you would like to create link:delayer.html[delayer] that would affect
+If you would like to create delayer that would affect
 the route only if the Camel context has not been started yet, use the
 `JGroupsExpressions.delayIfContextNotStarted(long delay)` factory
 method. The expression created by this factory method will return given
diff --git a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
index b5dd1f3..f8baa6e 100644
--- a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
+++ b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.6*
 
-JiBX is a link:data-format.html[Data Format] which uses the
+JiBX is a Data Format which uses the
 http://jibx.sourceforge.net[JiBX library] to marshal and unmarshal Java
 objects to and from XML.
 
@@ -81,7 +81,7 @@ To use JiBX in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 -------------------------------------
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index 8bc232f..3b9462c 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -88,7 +88,7 @@ Syntax] schema (which is supplied on the classpath).
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index 62726f9..579cd92 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -24,9 +24,9 @@ endif::[]
 *Using ActiveMQ*
 
 If you are using http://activemq.apache.org/[Apache ActiveMQ], you
-should prefer the link:activemq.html[ActiveMQ] component as it has been
-optimized for link:activemq.html[ActiveMQ]. All of the options and
-samples on this page are also valid for the link:activemq.html[ActiveMQ]
+should prefer the ActiveMQ component as it has been
+optimized for ActiveMQ. All of the options and
+samples on this page are also valid for the ActiveMQ
 component.
 ====
 
@@ -111,7 +111,7 @@ If you intend to use http://activemq.apache.org/[Apache ActiveMQ] as
 your Message Broker - which is a good choice as ActiveMQ rocks {icon-smile},
 then we recommend that you either:
 
-* Use the link:activemq.html[ActiveMQ] component, which is already
+* Use the ActiveMQ component, which is already
 optimized to use ActiveMQ efficiently
 * Use the `PoolingConnectionFactory` in ActiveMQ.
 
@@ -671,7 +671,7 @@ So pay attention to the message exchange pattern set on your exchanges.
 
 If you send a message to a JMS destination in the middle of your route
 you can specify the exchange pattern to use, see more at
-link:request-reply.html[Request Reply]. +
+Request Reply. +
  This is useful if you want to send an `InOnly` message to a JMS topic:
 
 [source,java]
@@ -738,7 +738,7 @@ another JMS endpoint).
 
 ### Configuring different JMS providers
 
-You can configure your JMS provider in link:spring.html[Spring] XML as
+You can configure your JMS provider in Spring XML as
 follows:
 
 Basically, you can configure as many JMS component instances as you wish
@@ -754,8 +754,8 @@ for all other JMS providers.
 
 This works by the SpringCamelContext lazily fetching components from the
 spring context for the scheme name you use for
-link:endpoint.html[Endpoint] link:uris.html[URIs] and having the
-link:component.html[Component] resolve the endpoint URIs.
+Endpoint URIs and having the
+Component resolve the endpoint URIs.
 
 #### Using JNDI to find the ConnectionFactory
 
@@ -804,7 +804,7 @@ message from the JMS broker, when the current message has been fully
 processed. You can set the option `asyncConsumer=true` to let the
 consumer pickup the next message from the JMS queue, while the previous
 message is being processed asynchronously (by the
-link:asynchronous-routing-engine.html[Asynchronous Routing Engine]). See
+Asynchronous Routing Engine). See
 more details in the table on top of the page about the `asyncConsumer`
 option.
 
@@ -816,7 +816,7 @@ from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true").
 
 ### Request-reply over JMS
 
-Camel supports link:request-reply.html[Request Reply] over JMS. In
+Camel supports Request Reply over JMS. In
 essence the MEP of the Exchange should be `InOut` when you send a
 message to a JMS queue.
 
@@ -905,7 +905,7 @@ from(xxx)
 ---------------------------------
 
 In this route we instruct Camel to route replies
-link:async.html[asynchronously] using a thread pool with 5 threads.
+asynchronously using a thread pool with 5 threads.
 
 From *Camel 2.10.3* onwards you can now configure the listener to use
 concurrent threads using the `concurrentConsumers` and
@@ -923,7 +923,7 @@ from(xxx)
 #### Request-reply over JMS and using a shared fixed reply queue
 
 If you use a fixed reply queue when doing
-link:request-reply.html[Request Reply] over JMS as shown in the example
+Request Reply over JMS as shown in the example
 below, then pay attention.
 
 [source,java]
@@ -1049,7 +1049,7 @@ In the route above we have a endpoint configured `requestTimeout` of 30
 seconds. So Camel will wait up till 30 seconds for that reply message to
 come back on the bar queue. If no reply message is received then a
 `org.apache.camel.ExchangeTimedOutException` is set on the
-link:exchange.html[Exchange] and Camel continues routing the message,
+Exchange and Camel continues routing the message,
 which would then fail due the exception, and Camel's error handler
 reacts.
 
@@ -1089,12 +1089,12 @@ that you set the following properties on the component/endpoint:
 * `transactionManager` = a _Transsaction Manager_ - typically the
 `JmsTransactionManager`
 
-See the link:transactional-client.html[Transactional Client] EIP pattern
+See the Transactional Client EIP pattern
 for further details.
 
 Transactions and [Request Reply] over JMS
 
-When using link:request-reply.html[Request Reply] over JMS you cannot
+When using Request Reply over JMS you cannot
 use a single transaction; JMS will not send any messages until a commit
 is performed, so the server side won't receive anything at all until the
 transaction commits. Therefore to use link:request-reply.html[Request
@@ -1106,11 +1106,11 @@ specify transaction use for oneway messaging and request reply
 messaging:
 
 The `transacted` property applies *only* to the InOnly message
-link:exchange-pattern.html[Exchange Pattern] (MEP).
+Exchange Pattern (MEP).
 
 The `transactedInOut` property applies to the
-InOut(link:request-reply.html[Request Reply]) message
-link:exchange-pattern.html[Exchange Pattern] (MEP).
+InOut(Request Reply) message
+Exchange Pattern (MEP).
 
 If you want to use transactions for link:request-reply.html[Request
 Reply](InOut MEP), you *must* set `transactedInOut=true`.
@@ -1175,8 +1175,8 @@ For example:
 
 ### Using a request timeout
 
-In the sample below we send a link:request-reply.html[Request Reply]
-style message link:exchange.html[Exchange] (we use the `requestBody`
+In the sample below we send a Request Reply
+style message Exchange (we use the `requestBody`
 method = `InOut`) to the slow queue for further processing in Camel and
 we wait for a return reply:
 
@@ -1220,10 +1220,10 @@ from("file://orders").
   to("jms:topic:OrdersTopic");
 ------------------------------
 
-#### Using link:bean-integration.html[Annotations]
+#### Using Annotations
 
 Camel also has annotations so you can use link:pojo-consuming.html[POJO
-Consuming] and link:pojo-producing.html[POJO Producing].
+Consuming] and POJO Producing.
 
 #### Spring DSL sample
 
@@ -1247,7 +1247,7 @@ JMS appears in many of the examples for other components and EIP
 patterns, as well in this Camel documentation. So feel free to browse
 the documentation. If you have time, check out the this tutorial that
 uses JMS but focuses on how well Spring Remoting and Camel works
-together link:tutorial-jmsremoting.html[Tutorial-JmsRemoting].
+together Tutorial-JmsRemoting.
 
 #### Using JMS as a Dead Letter Queue storing Exchange
 
@@ -1257,7 +1257,7 @@ transfers the body and headers as the payload. If you want to use
 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
-Camel to store the entire link:exchange.html[Exchange] in the queue as a
+Camel to store the entire Exchange in the queue as a
 `javax.jms.ObjectMessage` that holds a
 `org.apache.camel.impl.DefaultExchangeHolder`. This allows you to
 consume from the Dead Letter Queue and retrieve the caused exception
@@ -1287,7 +1287,7 @@ String problem = cause.getMessage();
 
 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
-link:message-translator.html[Message Translator] EIP to do a
+Message Translator EIP to do a
 transformation on the failed exchange before it is moved to the
 <<jms-component,JMS>> dead letter queue:
 
@@ -1301,7 +1301,7 @@ from("seda:dead").transform(exceptionMessage()).to("jms:queue:dead");
 --------------------------------------------------------------------------------------------------
 
 Here we only store the original cause error message in the transform.
-You can, however, use any link:expression.html[Expression] to send
+You can, however, use any Expression to send
 whatever you like. For example, you can invoke a method on a Bean or use
 a custom processor.
 
@@ -1370,13 +1370,13 @@ wmq.setDestinationResolver(new DestinationResolver() {
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:transactional-client.html[Transactional Client]
-* link:bean-integration.html[Bean Integration]
-* link:tutorial-jmsremoting.html[Tutorial-JmsRemoting]
+* Transactional Client
+* Bean Integration
+* Tutorial-JmsRemoting
 * http://activemq.apache.org/jmstemplate-gotchas.html[JMSTemplate
 gotchas]
\ No newline at end of file
diff --git a/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index 342c6b5..54867dc 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/jmx-component.adoc
@@ -560,7 +560,7 @@ Camel now offers 2 settings to control whether or not to register mbeans
 |`registerAlways` |`false` |If enabled then MBeans is always registered.
 
 |`registerNewRoutes` |`true` |If enabled then adding new routes after
-link:camelcontext.html[CamelContext] has been started will also register
+CamelContext has been started will also register
 MBeans from that given route.
 |=======================================================================
 
@@ -571,8 +571,8 @@ you for example add and remove temporary routes where management is not
 needed.
 
 Be a bit caution to use the `registerAlways` option when using dynamic
-link:eip.html[EIP] patterns such as the
-link:recipient-list.html[Recipient List] having unique endpoints. If so
+EIP patterns such as the
+Recipient List having unique endpoints. If so
 then each unique endpoint and its associated services/producers would
 also be registered. This could potential lead to system degration due
 the rising number of mbeans in the registry. A MBean is not a
@@ -598,12 +598,12 @@ image:camel-jmx.png[image]
 In *Camel 2.1* onwards *only* `singleton` endpoints are registered as
 the overhead for non singleton will be substantial in cases where
 thousands or millions of endpoints are used. This can happens when using
-a link:recipient-list.html[Recipient List] EIP or from a
+a Recipient List EIP or from a
 `ProducerTemplate` that sends a lot of messages.
 
 #### Which processors are registered
 
-See link:why-is-my-processor-not-showing-up-in-jconsole.html[this FAQ].
+See this FAQ.
 
 #### How to use the JMX NotificationListener to listen the camel events?
 
@@ -868,7 +868,7 @@ If you set an explicit naming pattern, then that pattern is always used,
 and the default patterns above is *not* used.
 
 This allows us to have full control, very easily, of the naming for both
-the `CamelContext` id in the link:registry.html[Registry] as well the
+the `CamelContext` id in the Registry as well the
 JMX MBeans in the `JMXMBeanRegistry`.
 
 From *Camel 2.15* onwards you can configure the default management
@@ -1010,7 +1010,7 @@ And from Spring DSL you do:
 *Available as of Camel 2.12*
 
 By default, Camel enlists MBeans in JMX such as endpoints configured
-using link:uris.html[URIs]. In this configuration, there may be
+using URIs. In this configuration, there may be
 sensitive information such as passwords.
 
 This information can be hidden by enabling the `mask` option as shown
@@ -1034,7 +1034,7 @@ And from Spring DSL you do:
     </camelContext>
 ----
 
-This will mask link:uris.html[URIs] having options such as password and
+This will mask URIs having options such as password and
 passphrase, and use `xxxxxx` as the replacement value.
 
 #### Declaring which JMX attributes and operations to mask
@@ -1057,6 +1057,6 @@ String getEndpointUri();
 
 ### See Also
 
-* link:management-example.html[Management Example]
+* Management Example
 * link:why-is-my-processor-not-showing-up-in-jconsole.html[Why is my
 processor not showing up in JConsole]
\ No newline at end of file
diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
index fa2f54b..4ea6d06 100644
--- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
+++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.18*
 
-Johnzon is a link:data-format.html[Data Format] which uses the
+Johnzon is a Data Format which uses the
 http://johnzon.apache.org/[Johnzon Library]
 
 [source,java]
@@ -55,7 +55,7 @@ on *camel-johnzon* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index a08581d..531c4a8 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -124,7 +124,7 @@ from("direct:in").
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
index 1425314..fb03f53 100644
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ b/components/camel-josql/src/main/docs/sql-language.adoc
@@ -20,7 +20,7 @@ To use SQL in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
@@ -33,12 +33,12 @@ link:download.html[the download page for the latest versions]).
 ----------------------------------------------------------
 
 Camel supports http://en.wikipedia.org/wiki/SQL[SQL] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration]. For example you could use SQL to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List].
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List.
 
 [source,java]
 -----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index f7d3c0b..de8ef76 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -34,7 +34,7 @@ If the body is a List of entities, make sure to use
 producer endpoint.
 
 If the body does not contain one of the previous listed types, put a
-link:message-translator.html[Message Translator] in front of the
+Message Translator in front of the
 endpoint to perform the necessary conversion first.
 
 From *Camel 2.19* onwards you can use `query`, `namedQuery` or `nativeQuery`
@@ -226,7 +226,7 @@ For example, you can instantiate a JPA component that references the
 -------------------------------------------------------------------
 
 In *Camel 2.3* the `JpaComponent` will auto lookup the
-`EntityManagerFactory` from the link:registry.html[Registry] which means
+`EntityManagerFactory` from the Registry which means
 you do not need to configure this on the `JpaComponent` as shown above.
 You only need to do so if there is ambiguity, in which case Camel will
 log a WARN.
@@ -234,7 +234,7 @@ log a WARN.
 ### Configuring TransactionManager
 
 Since *Camel 2.3* the `JpaComponent` will auto lookup the
-`TransactionManager` from the link:registry.html[Registry.] If Camel
+`TransactionManager` from the Registry. If Camel
 won't find any `TransactionManager` instance registered, it will also
 look up for the `TransactionTemplate` and try to
 extract `TransactionManager` from it.
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index 260fad7..124015d 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -122,7 +122,7 @@ http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Produc
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index 93fe221..099d557 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.13*
 
 Camel supports https://code.google.com/p/json-path/[JSonPath] to allow
-using link:expression.html[Expression] or link:predicate.html[Predicate]
+using Expression or Predicate
 on json messages.
 
 [source,java]
@@ -44,7 +44,7 @@ The JsonPath language supports 7 options which are listed below.
 
 === Using XML configuration
 
-If you prefer to configure your routes in your link:spring.html[Spring]
+If you prefer to configure your routes in your Spring
 XML file then you can use <<jsonpath-language,JSonPath>> expressions as
 follows
 
@@ -232,7 +232,7 @@ And in XML DSL:
 
 === JSonPath injection
 
-You can use link:bean-integration.html[Bean Integration] to invoke a
+You can use Bean Integration to invoke a
 method on a bean and use various languages such as JSonPath to extract a
 value from the message and bind it to a method parameter.
 
@@ -325,7 +325,7 @@ To use JSonPath in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index 299b3fc..6e48e89 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -195,7 +195,7 @@ from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKe
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc
index 9c57aca..3fa17b6 100644
--- a/components/camel-juel/src/main/docs/el-language.adoc
+++ b/components/camel-juel/src/main/docs/el-language.adoc
@@ -8,8 +8,8 @@ EL
 
 Camel supports the unified JSP and JSF Expression Language via the
 http://juel.sourceforge.net/[JUEL] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 For example you could use EL inside a link:message-filter.html[Message
@@ -40,10 +40,10 @@ not a valid identifier:
 </route>
 ------------------------------------------------
 
-You could use EL to create an link:predicate.html[Predicate] in a
-link:message-filter.html[Message Filter] or as an
-link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+You could use EL to create an Predicate in a
+Message Filter or as an
+Expression for a
+Recipient List
 
 ### EL Options
 
@@ -94,7 +94,7 @@ To use EL in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
index 32d036c..2b3ed71 100644
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
@@ -5,12 +5,12 @@
 
 Camel supports http://commons.apache.org/jxpath/[JXPath] to allow
 <<xpath-language,XPath>> expressions to be used on beans in an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration]. For example you could use JXPath to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List].
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List.
 
 You can use XPath expressions directly using smart completion in your
 IDE as follows
@@ -69,7 +69,7 @@ Documentation] This option is by default false.
 
 ### Using XML configuration
 
-If you prefer to configure your routes in your link:spring.html[Spring]
+If you prefer to configure your routes in your Spring
 XML file then you can use JXPath expressions as follows
 
 [source,xml]
@@ -97,11 +97,11 @@ XML file then you can use JXPath expressions as follows
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java[example]
 using a JXPath expression as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 ### JXPath injection
 
-You can use link:bean-integration.html[Bean Integration] to invoke a
+You can use Bean Integration to invoke a
 method on a bean and use various languages such as JXPath to extract a
 value from the message and bind it to a method parameter.
 
@@ -139,7 +139,7 @@ To use JXpath in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 ---------------------------------------
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index 446fd23..d74c73c 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -272,7 +272,7 @@ reference] for details.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
index 86f9ac8..f6ec995 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -10,7 +10,7 @@ component splitted as following.
 
 * <<kubernetes-component,Kubernetes Components>>
   ** <<kubernetes-build-configs-component,Kubernetes Build Config>>
-  ** link:kubernetes-builds-component.html[Kubernetes Build]
+  ** Kubernetes Build
   ** <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
   ** <<kubernetes-namespaces-component,Kubernetes Namespace>>
   ** <<kubernetes-nodes-component,Kubernetes Node>>
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index aa7f724..d21ef2f 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -21,7 +21,7 @@ The camel-kubernetes consists of 13 components:
 In OpenShift, also:
 
 * <<kubernetes-build-configs-component,Kubernetes Build Config>>
-* link:kubernetes-builds-component.html[Kubernetes Build]
+* Kubernetes Build
 
 
 
diff --git a/components/camel-kura/src/main/docs/kura.adoc b/components/camel-kura/src/main/docs/kura.adoc
index 1bf7973..f4f693f 100644
--- a/components/camel-kura/src/main/docs/kura.adoc
+++ b/components/camel-kura/src/main/docs/kura.adoc
@@ -313,8 +313,8 @@ service, you can use `activate` and `deactivate` methods provided by
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index 9f25777..9e2a6e3 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -339,7 +339,7 @@ public class CustomSocketFactory extends SSLSocketFactory {
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-leveldb/src/main/docs/leveldb.adoc b/components/camel-leveldb/src/main/docs/leveldb.adoc
index 17351d6..be98e34 100644
--- a/components/camel-leveldb/src/main/docs/leveldb.adoc
+++ b/components/camel-leveldb/src/main/docs/leveldb.adoc
@@ -7,7 +7,7 @@ LevelDB
 https://code.google.com/p/leveldb/[Leveldb] is a very lightweight and
 embedable key value database. It allows together with Camel to provide
 persistent support for various Camel features such as
-link:aggregator2.html[Aggregator].
+Aggregator.
 
 Current features it provides:
 
@@ -49,7 +49,7 @@ existed. By default this option is `false` to optimize as we do not need
 the old exchange when aggregating.
 
 |`useRecovery` |boolean |Whether or not recovery is enabled. This option is by default `true`.
-When enabled the Camel link:aggregator2.html[Aggregator] automatic
+When enabled the Camel Aggregator automatic
 recover failed aggregated exchange and have them resubmitted.
 
 |`recoveryInterval` |long |If recovery is enabled then a background task is run every x'th time to
@@ -62,7 +62,7 @@ dead letter channel if all redelivery attempts failed. By default this
 option is disabled. If this option is used then the `deadLetterUri`
 option must also be provided.
 
-|`deadLetterUri` |String |An endpoint uri for a link:dead-letter-channel.html[Dead Letter Channel]
+|`deadLetterUri` |String |An endpoint uri for a Dead Letter Channel
 where exhausted recovered Exchanges will be moved. If this option is
 used then the `maximumRedeliveries` option must also be provided.
 |=======================================================================
@@ -85,37 +85,37 @@ Recovery
 ^^^^^^^^
 
 The `LevelDBAggregationRepository` will by default recover any failed
-link:exchange.html[Exchange]. It does this by having a background tasks
-that scans for failed link:exchange.html[Exchange]s in the persistent
+Exchange. It does this by having a background tasks
+that scans for failed Exchanges in the persistent
 store. You can use the `checkInterval` option to set how often this task
 runs. The recovery works as transactional which ensures that Camel will
-try to recover and redeliver the failed link:exchange.html[Exchange].
-Any link:exchange.html[Exchange] which was found to be recovered will be
+try to recover and redeliver the failed Exchange.
+Any Exchange which was found to be recovered will be
 restored from the persistent store and resubmitted and send out again.
 
-The following headers is set when an link:exchange.html[Exchange] is
+The following headers is set when an Exchange is
 being recovered/redelivered:
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
 |Header |Type |Description
 
-|`Exchange.REDELIVERED` |Boolean |Is set to true to indicate the link:exchange.html[Exchange] is being
+|`Exchange.REDELIVERED` |Boolean |Is set to true to indicate the Exchange is being
 redelivered.
 
 |`Exchange.REDELIVERY_COUNTER` |Integer |The redelivery attempt, starting from 1.
 |=======================================================================
 
-Only when an link:exchange.html[Exchange] has been successfully
+Only when an Exchange has been successfully
 processed it will be marked as complete which happens when the `confirm`
 method is invoked on the `AggregationRepository`. This means if the same
-link:exchange.html[Exchange] fails again it will be kept retried until
+Exchange fails again it will be kept retried until
 it success.
 
 You can use option `maximumRedeliveries` to limit the maximum number of
-redelivery attempts for a given recovered link:exchange.html[Exchange].
+redelivery attempts for a given recovered Exchange.
 You must also set the `deadLetterUri` option so Camel knows where to
-send the link:exchange.html[Exchange] when the `maximumRedeliveries` was
+send the Exchange when the `maximumRedeliveries` was
 hit.
 
 You can see some examples in the unit tests of camel-leveldb, for
@@ -140,12 +140,12 @@ The same example but using Spring XML instead:
 Dependencies
 ^^^^^^^^^^^^
 
-To use link:leveldb.html[LevelDB] in your camel routes you need to add
+To use LevelDB in your camel routes you need to add
 the a dependency on *camel-leveldb*.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------
@@ -160,12 +160,12 @@ link:download.html[the download page for the latest versions]).
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:aggregator2.html[Aggregator]
-* link:hawtdb.html[HawtDB]
-* link:components.html[Components]
+* Aggregator
+* HawtDB
+* Components
 
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index 2694af7..f94b2ab 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -215,12 +215,12 @@ smtp://mycompany.mailserver:30?password=tiger&username=scott
 
 ### Components
 
-- link:imap.html[IMAP]
-- link:imaps.html[IMAPs]
-- link:pop3.html[POP3s]
-- link:pop3s.html[POP3s]
-- link:smtp.html[SMTP]
-- link:smtps.html[SMTPs]
+- IMAP
+- IMAPs
+- POP3s
+- POP3s
+- SMTP
+- SMTPs
 
 #### Default ports
 
@@ -366,7 +366,7 @@ You can specify recipients in the format, `name <email>`, to include
 both the name and the email address of the recipient.
 
 For example, you define the following headers on the a
-link:message.html[Message]:
+Message:
 
 [source,java]
 ---------------------------------------------------------
@@ -510,12 +510,12 @@ handle the attachments using standard API.
 
 In this example we consume mail messages which may have a number of
 attachments. What we want to do is to use the
-link:splitter.html[Splitter] EIP per individual attachment, to process
+Splitter EIP per individual attachment, to process
 the attachments separately. For example if the mail message has 5
-attachments, we want the link:splitter.html[Splitter] to process five
+attachments, we want the Splitter to process five
 messages, each having a single attachment. To do this we need to provide
-a custom link:expression.html[Expression] to the
-link:splitter.html[Splitter] where we provide a List<Message> that
+a custom Expression to the
+Splitter where we provide a List<Message> that
 contains the five messages with the single attachment.
 
 The code is provided out of the box in Camel 2.10 onwards in the
@@ -525,10 +525,10 @@ can find the source code
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/SplitAttachmentsExpression.java[here]
 
 In the Camel route you then need to use this
-link:expression.html[Expression] in the route as shown below:
+Expression in the route as shown below:
 
 If you use XML DSL then you need to declare a method call expression in
-the link:splitter.html[Splitter] as shown below
+the Splitter as shown below
 
 [source,xml]
 ---------------------------------------------------------------------------------
@@ -641,7 +641,7 @@ SearchTerm term = builder.build();
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index 542a92c..d2084b9 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -158,7 +158,7 @@ Camel provide the following ClusterService implementations:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index f8830ef..59338f9 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -470,7 +470,7 @@ from("direct:in")
 
 ### MetricsRoutePolicyFactory
 
-This factory allows to add a link:routepolicy.html[RoutePolicy] for each
+This factory allows to add a RoutePolicy for each
 route which exposes route utilization statistics using Dropwizard metrics.
 This factory can be used in Java and XML as the examples below
 demonstrates. 
@@ -502,7 +502,7 @@ following options:
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
 using the `com.codahale.metrics.JmxReporter`. +
-Notice that if JMX is enabled on link:camelcontext.html[CamelContext]
+Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
 statistics using json. Setting `useJmx` to true is only needed if you
@@ -551,7 +551,7 @@ if (registryService != null) {
 *Available as of Camel 2.17*
 
 This factory allows to use metrics to
-capture link:message-history.html[Message History] performance
+capture Message History performance
 statistics while routing messages. It works by using a metrics Timer for
 each node in all the routes. This factory can be used in Java and XML as
 the examples below demonstrates. 
@@ -578,7 +578,7 @@ The following options is supported on the factory:
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
 using the `com.codahale.metrics.JmxReporter`. +
-Notice that if JMX is enabled on link:camelcontext.html[CamelContext]
+Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
 statistics using json. Setting `useJmx` to true is only needed if you
@@ -628,7 +628,7 @@ with `name=MetricsMessageHistoryService`.
 
 This factory allows you to gather performance information about Camel Thread Pools by injecting a InstrumentedThreadPoolFactory
 which collects information from inside of Camel.
-See more details at link:advanced-configuration-of-camelcontext-using-spring.html[Advanced configuration of CamelContext using Spring]
+See more details at Advanced configuration of CamelContext using Spring
 
 
 ### See Also
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 6cee5c1..ecefb98 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -163,7 +163,7 @@ milo-client://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/ba
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc b/components/camel-milo/src/main/docs/milo-server-component.adoc
index 62af2b6..525244c 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -110,7 +110,7 @@ with the following path and query parameters:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 1b215ff..32e54c7 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -33,7 +33,7 @@ mina:udp://hostname[:port][?options]
 mina:vm://hostname[:port][?options]
 ------------------------------------
 
-You can specify a codec in the link:registry.html[Registry] using the
+You can specify a codec in the Registry using the
 *codec* option. If you are using TCP and no codec is specified then the
 `textline` flag is used to determine if text line based codec or object
 serialization should be used instead. By default the object
@@ -140,7 +140,7 @@ with the following path and query parameters:
 See the http://mina.apache.org/tutorial-on-protocolcodecfilter.html[Mina
 documentation] how to write your own codec. To use your custom codec
 with `camel-mina`, you should register your codec in the
-link:registry.html[Registry]; for example, by creating a bean 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.
 
@@ -331,10 +331,10 @@ Then, you can configure your endpoint using Spring DSL:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<mina2-component,MINA2>>
 * <<netty-component,Netty>>
\ No newline at end of file
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 2a23498..4fdad52 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -34,7 +34,7 @@ mina2:udp://hostname[:port][?options]
 mina2:vm://hostname[:port][?options]
 -------------------------------------
 
-You can specify a codec in the link:registry.html[Registry] using the
+You can specify a codec in the Registry using the
 *codec* option. If you are using TCP and no codec is specified then the
 `textline` flag is used to determine if text line based codec or object
 serialization should be used instead. By default the object
@@ -145,7 +145,7 @@ with the following path and query parameters:
 
 See the Mina how to write your own codec. To use your custom codec with
 `camel-mina`, you should register your codec in the
-link:registry.html[Registry]; for example, by creating a bean 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.
 
@@ -265,10 +265,10 @@ is, after `codec` and `logger`.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<mina-component,MINA>>
 * <<netty-component,Netty>>
\ No newline at end of file
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index 96ba159..4d2312c 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -139,12 +139,12 @@ from("mqtt:bar?subscribeTopicName=test.mqtt.topic").transform(body().convertToSt
 
 ### Endpoints
 
-Camel supports the link:message-endpoint.html[Message Endpoint] pattern
+Camel supports the Message Endpoint pattern
 using the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html[Endpoint]
 interface. Endpoints are usually created by a
-link:component.html[Component] and Endpoints are usually referred to in
-the link:dsl.html[DSL] via their link:uris.html[URIs].
+Component and Endpoints are usually referred to in
+the DSL via their URIs.
 
 From an Endpoint you can use the following methods
 
@@ -153,19 +153,19 @@ will create a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
 for sending message exchanges to the endpoint
 * http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createConsumer(org.apache.camel.Processor)[createConsumer()]
-implements the link:event-driven-consumer.html[Event Driven Consumer]
+implements the Event Driven Consumer
 pattern for consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html[Processor]
 when creating a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Consumer.html[Consumer]
 * http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createPollingConsumer()[createPollingConsumer()]
-implements the link:polling-consumer.html[Polling Consumer] pattern for
+implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:message-endpoint.html[Message Endpoint] pattern
-* link:uris.html[URIs]
-* link:writing-components.html[Writing Components]
\ No newline at end of file
+* Configuring Camel
+* Message Endpoint pattern
+* URIs
+* Writing Components
\ No newline at end of file
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index 13c0643..b53f0f8 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -120,7 +120,7 @@ classpath).
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index 7767fb9..5c6fbf9 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -5,7 +5,7 @@
 
 The *mustache:* component allows for processing a message using a
 http://mustache.github.io/[Mustache] template. This can be ideal when
-using link:templating.html[Templating] to generate responses for
+using Templating to generate responses for
 requests.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -179,7 +179,7 @@ Regards Camel Riders Bookstore
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-mvel/src/main/docs/mvel-component.adoc b/components/camel-mvel/src/main/docs/mvel-component.adoc
index 3f93b7b..0bc3394 100644
--- a/components/camel-mvel/src/main/docs/mvel-component.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-component.adoc
@@ -5,7 +5,7 @@
 
 The *mvel:* component allows you to process a message using an
 http://mvel.codehaus.org/[MVEL] template. This can be ideal when using
-link:templating.html[Templating] to generate responses for requests.
+Templating to generate responses for requests.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -173,7 +173,7 @@ from("direct:in").
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-mvel/src/main/docs/mvel-language.adoc b/components/camel-mvel/src/main/docs/mvel-language.adoc
index 34d927e..93fac54 100644
--- a/components/camel-mvel/src/main/docs/mvel-language.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-language.adoc
@@ -3,14 +3,14 @@
 
 *Available as of Camel version 2.0*
 
-Camel allows Mvel to be used as an link:expression.html[Expression] or
-link:predicate.html[Predicate] the link:dsl.html[DSL] or
-link:xml-configuration.html[Xml Configuration].
+Camel allows Mvel to be used as an Expression or
+Predicate the DSL or
+Xml Configuration.
 
-You could use Mvel to create an link:predicate.html[Predicate] in a
-link:message-filter.html[Message Filter] or as an
-link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+You could use Mvel to create an Predicate in a
+Message Filter or as an
+Expression for a
+Recipient List
 
 You can use Mvel dot notation to invoke operations. If you for instance
 have a body that contains a POJO that has a `getFamiliyName` method then
@@ -108,7 +108,7 @@ To use Mvel in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index 60f5a49..2b0ed6c 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -278,7 +278,7 @@ dynamic queries] capabilities.
 #### Scheduled polling example
 
 This component supports scheduled polling and can therefore be used as
-a link:polling-consumer.html[Polling Consumer]. For example to poll the
+a Polling Consumer. For example to poll the
 database every minute:
 
 [source,java]
@@ -287,7 +287,7 @@ from("mybatis:selectAllAccounts?delay=60000").to("activemq:queue:allAccounts");
 -------------------------------------------------------------------------------
 
 See "ScheduledPollConsumer Options"
-on link:polling-consumer.html[Polling Consumer] for more 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>>
@@ -387,7 +387,7 @@ The camel-mybatis component is then configured with that factory:
     </bean>
 -----------------------------------------------------------------------------------
 
-Finally, a link:transactional-client.html[transaction policy] is defined
+Finally, a transaction policy is defined
 over the top of the transaction manager, which can then be used as
 usual:
 
@@ -409,7 +409,7 @@ usual:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index b5bb8e7..535d94b 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -29,7 +29,7 @@ nagios://host[:port][?Options]
 Camel provides two abilities with the <<nagios-component,Nagios>>
 component. You can send passive check messages by sending a message to
 its endpoint. +
- Camel also provides a link:camel-jmx.html[EventNotifer] which allows
+ Camel also provides a EventNotifer which allows
 you to send notifications to Nagios.
 
 ### Options
@@ -96,7 +96,7 @@ with the following path and query parameters:
 
 You can send a message to Nagios where the message payload contains the
 message. By default it will be `OK` level and use the
-link:camelcontext.html[CamelContext] name as the service name. You can
+CamelContext name as the service name. You can
 overrule these values using headers as shown above.
 
 For example we send the `Hello Nagios` message to Nagios as follows:
@@ -122,7 +122,7 @@ To send a `CRITICAL` message you can send the headers such as:
 ### Using `NagiosEventNotifer`
 
 The <<nagios-component,Nagios>> component also provides an
-link:camel-jmx.html[EventNotifer] which you can use to send events to
+EventNotifer which you can use to send events to
 Nagios. For example we can enable this from Java as follows:
 
 [source,java]
@@ -144,7 +144,7 @@ configuration of CamelContext using Spring].
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index 0cf6751..35c4b67 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -16,7 +16,7 @@ Netty 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*. If you find a situation where the message body appears to be empty or
 you need to access the data multiple times (eg: doing multicasting, or
-redelivery error handling) you should use link:stream-caching.html[Stream caching] or convert the
+redelivery error handling) you should use Stream caching or convert the
 message body to a `String` which is safe to be re-read multiple times.
 Notice Netty4 HTTP reads the entire stream into memory using
 `io.netty.handler.codec.http.HttpObjectAggregator` to build the entire
@@ -279,7 +279,7 @@ with the value `Basic`.
 
 This component uses the
 `org.apache.camel.component.netty.http.NettyHttpMessage` as the message
-implementation on the link:exchange.html[Exchange]. This allows end
+implementation on the Exchange. This allows end
 users to get access to the original Netty request/response instances if
 needed, as shown below. Mind that the original response may not be
 accessible at all times.
@@ -301,7 +301,7 @@ server, which returns back a hardcoded "Bye World" message.
 ----------------------------------------------
 
 And we can call this HTTP server using Camel also, with the
-link:producertemplate.html[ProducerTemplate] as shown below:
+ProducerTemplate as shown below:
 
 [source,java]
 -----------------------------------------------------------------------------------------------------------
@@ -344,7 +344,7 @@ from("netty-http:http://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
 
 ### Using multiple routes with same port
 
-In the same link:camelcontext.html[CamelContext] you can have multiple
+In the same CamelContext you can have multiple
 routes from <<netty-http-component,Netty HTTP>> that shares the same port
 (eg a `org.jboss.netty.bootstrap.ServerBootstrap` instance). Doing this
 requires a number of bootstrap options to be identical in the routes, as
@@ -435,7 +435,7 @@ And in the routes you refer to this option as shown below
 
 #### Reusing same server bootstrap configuration with multiple routes across multiple bundles in OSGi container
 
-See the link:netty-http-server-example.html[Netty HTTP Server Example]
+See the Netty HTTP Server Example
 for more details and example how to do that.
 
 ### Using HTTP Basic Authentication
@@ -515,11 +515,11 @@ below:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<netty-component,Netty>>
-* link:netty-http-server-example.html[Netty HTTP Server Example]
+* Netty HTTP Server Example
 * <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 761e44e..08ca0ad 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -178,7 +178,7 @@ with the following path and query parameters:
 ### Registry based Options
 
 Codec Handlers and SSL Keystores can be enlisted in the
-link:registry.html[Registry], such as in the Spring XML file. 
+Registry, such as in the Spring XML file. 
 The values that could be passed in, are the following:
 
 [width="100%",cols="10%,90%",options="header",]
@@ -216,7 +216,7 @@ marshalling of outbound payloads. Must override
 
 |`encorders` |A list of encoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
-link:registry.html[Registry]. Just remember to prefix the value with #
+Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
 
 |`decoder` |A custom `ChannelHandler` class that can be used to perform special
@@ -225,7 +225,7 @@ marshalling of inbound payloads. Must override
 
 |`decoders` |A list of decoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
-link:registry.html[Registry]. Just remember to prefix the value with #
+Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
 |=======================================================================
 
@@ -412,7 +412,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
 <<netty-component,Netty>> component will store the `SSLSession` as a header
-on the Camel link:message.html[Message] as shown below:
+on the Camel Message as shown below:
 
 [source,java]
 ----------------------------------------------------------------------------------------------------
@@ -430,7 +430,7 @@ may also get this exception if the client certificate is expired or not
 valid etc.
 
 TIP: The option `sslClientCertHeaders` can be set to `true` which then
-enriches the Camel link:message.html[Message] with headers having
+enriches the Camel Message with headers having
 details about the client certificate. For example the subject name is
 readily available in the header `CamelNettySSLClientCertSubjectName`.
 
@@ -568,7 +568,7 @@ Netty has two kind of thread pools: boss and worker. By default each
 Netty consumer and producer has their private thread pools. If you want
 to reuse these thread pools among multiple consumers or producers then
 the thread pools must be created and enlisted in the
-link:registry.html[Registry].
+Registry.
 
 For example using Spring XML we can create a shared worker thread pool
 using the `NettyWorkerPoolBuilder` with 2 worker threads as shown below:
@@ -621,10 +621,10 @@ And if we have another route we can refer to the shared worker pool:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<netty-http-component,Netty HTTP>>
 * <<mina-component,MINA>>
\ No newline at end of file
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 3956b88..dbbf175 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -13,7 +13,7 @@ INFO: *Stream*. Netty is stream based, which means the input it receives is subm
 Camel as a stream. That means you will only be able to read the content
 of the stream *once*. If you find a situation where the message body appears to be empty or
 you need to access the data multiple times (eg: doing multicasting, or
-redelivery error handling) you should use link:stream-caching.html[Stream caching] or convert the
+redelivery error handling) you should use Stream caching or convert the
 message body to a `String` which is safe to be re-read multiple times. 
 Notice Netty4 HTTP reads the entire stream into memory using
 `io.netty.handler.codec.http.HttpObjectAggregator` to build the entire
@@ -285,7 +285,7 @@ with the value `Basic`.
 
 This component uses the
 `org.apache.camel.component.netty4.http.NettyHttpMessage` as the message
-implementation on the link:exchange.html[Exchange]. This allows end
+implementation on the Exchange. This allows end
 users to get access to the original Netty request/response instances if
 needed, as shown below. Mind that the original response may not be
 accessible at all times.
@@ -307,7 +307,7 @@ back a hardcoded "Bye World" message.
 -----------------------------------------------
 
 And we can call this HTTP server using Camel also, with the
-link:producertemplate.html[ProducerTemplate] as shown below:
+ProducerTemplate as shown below:
 
 [source,java]
 ------------------------------------------------------------------------------------------------------------
@@ -350,7 +350,7 @@ from("netty4-http:http://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
 
 ### Using multiple routes with same port
 
-In the same link:camelcontext.html[CamelContext] you can have multiple
+In the same CamelContext you can have multiple
 routes from Netty4 HTTP that shares the same port (eg a
 `io.netty.bootstrap.ServerBootstrap` instance). Doing this requires a
 number of bootstrap options to be identical in the routes, as the routes
@@ -440,7 +440,7 @@ And in the routes you refer to this option as shown below
 
 #### Reusing same server bootstrap configuration with multiple routes across multiple bundles in OSGi container
 
-See the link:netty-http-server-example.html[Netty HTTP Server Example]
+See the Netty HTTP Server Example
 for more details and example how to do that.
 
 ### Using HTTP Basic Authentication
@@ -519,11 +519,11 @@ below:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<netty-component,Netty>>
-* link:netty-http-server-example.html[Netty HTTP Server Example]
+* Netty HTTP Server Example
 * <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index b3daa4a..7761f91 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -186,7 +186,7 @@ with the following path and query parameters:
 ### Registry based Options
 
 Codec Handlers and SSL Keystores can be enlisted in the
-link:registry.html[Registry], such as in the Spring XML file. 
+Registry, such as in the Spring XML file. 
 The values that could be passed in, are the following:
 
 [width="100%",cols="10%,90%",options="header",]
@@ -224,7 +224,7 @@ io.netty.channel.ChannelInboundHandlerAdapter.
 
 |`encoders` |A list of encoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
-link:registry.html[Registry]. Just remember to prefix the value with #
+Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
 
 |`decoder` |A custom `ChannelHandler` class that can be used to perform special
@@ -233,7 +233,7 @@ io.netty.channel.ChannelOutboundHandlerAdapter.
 
 |`decoders` |A list of decoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
-link:registry.html[Registry]. Just remember to prefix the value with #
+Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
 |=======================================================================
 
@@ -399,7 +399,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
-header on the Camel link:message.html[Message] as shown below:
+header on the Camel Message as shown below:
 
 [source,java]
 ----------------------------------------------------------------------------------------------------
@@ -417,7 +417,7 @@ may also get this exception if the client certificate is expired or not
 valid etc.
 
 TIP: The option `sslClientCertHeaders` can be set to `true` which then
-enriches the Camel link:message.html[Message] with headers having
+enriches the Camel Message with headers having
 details about the client certificate. For example the subject name is
 readily available in the header `CamelNettySSLClientCertSubjectName`.
 
@@ -636,7 +636,7 @@ Netty has two kind of thread pools: boss and worker. By default each
 Netty consumer and producer has their private thread pools. If you want
 to reuse these thread pools among multiple consumers or producers then
 the thread pools must be created and enlisted in the
-link:registry.html[Registry].
+Registry.
 
 For example using Spring XML we can create a shared worker thread pool
 using the `NettyWorkerPoolBuilder` with 2 worker threads as shown below:
@@ -689,10 +689,10 @@ And if we have another route we can refer to the shared worker pool:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<netty-http-component,Netty HTTP>>
 * <<mina-component,MINA>>
\ No newline at end of file
diff --git a/components/camel-ognl/src/main/docs/ognl-language.adoc b/components/camel-ognl/src/main/docs/ognl-language.adoc
index 50459fe..70cc6fc 100644
--- a/components/camel-ognl/src/main/docs/ognl-language.adoc
+++ b/components/camel-ognl/src/main/docs/ognl-language.adoc
@@ -4,14 +4,14 @@
 *Available as of Camel version 1.1*
 
 Camel allows http://commons.apache.org/proper/commons-ognl/[OGNL] to be
-used as an link:expression.html[Expression] or
-link:predicate.html[Predicate] the link:dsl.html[DSL] or
-link:xml-configuration.html[Xml Configuration].
+used as an Expression or
+Predicate the DSL or
+Xml Configuration.
 
-You could use OGNL to create an link:predicate.html[Predicate] in a
-link:message-filter.html[Message Filter] or as an
-link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+You could use OGNL to create an Predicate in a
+Message Filter or as an
+Expression for a
+Recipient List
 
 You can use OGNL dot notation to invoke operations. If you for instance
 have a body that contains a POJO that has a `getFamilyName` method then
@@ -112,7 +112,7 @@ To use OGNL in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-openshift/src/main/docs/openshift-component.adoc b/components/camel-openshift/src/main/docs/openshift-component.adoc
index 8775d7c..2849fbf 100644
--- a/components/camel-openshift/src/main/docs/openshift-component.adoc
+++ b/components/camel-openshift/src/main/docs/openshift-component.adoc
@@ -165,7 +165,7 @@ following headers is included.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index 3c47bf2..2cc45ae 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -167,9 +167,9 @@ If you need more precise server settings you can create new object of the type *
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 26d1fc3..45794a6 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -127,9 +127,9 @@ with the following path and query parameters:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index 8b882cd..e6cc202 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -273,9 +273,9 @@ If you need more precise user settings you can create new object of the type *or
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index a39e616..176edbb 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -246,9 +246,9 @@ If you need more precise subnet settings you can create new object of the type *
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index 844e1e2..2fb5fb8 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -196,9 +196,9 @@ If you need more precise server settings you can create new object of the type *
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 21879bc..8053d8a 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -173,9 +173,9 @@ or *org.openstack4j.model.storage.object.options.ContainerListOptions* for listi
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:openstack.html[openstack Component]
\ No newline at end of file
+* openstack Component
\ No newline at end of file
diff --git a/components/camel-opentracing/src/main/docs/opentracing.adoc b/components/camel-opentracing/src/main/docs/opentracing.adoc
index 99e8c7c..e45639e 100644
--- a/components/camel-opentracing/src/main/docs/opentracing.adoc
+++ b/components/camel-opentracing/src/main/docs/opentracing.adoc
@@ -25,7 +25,7 @@ The configuration properties for the OpenTracing tracer are:
 
 |excludePatterns |  | Sets exclude pattern(s) that will disable tracing for Camel
 messages that matches the pattern. The content is a Set<String> where the key is a pattern. The pattern
-uses the rules from link:intercept.html[Intercept].
+uses the rules from Intercept.
 
 |=======================================================================
 
@@ -62,7 +62,7 @@ OpenTracing tracer beans. Camel will automatically discover and use them.
 
 #### Spring Boot
 
-If you are using link:spring-boot.html[Spring Boot] then you can add
+If you are using Spring Boot then you can add
 the `camel-opentracing-starter` dependency, and turn on OpenTracing by annotating
 the main class with `@CamelOpenTracing`.
 
diff --git a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
index 1e40e91..111650c 100644
--- a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
+++ b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
@@ -144,7 +144,7 @@ from("cxfrs:bean:rsServer?bindingStyle=SimpleConsumer")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-pdf/src/main/docs/pdf-component.adoc b/components/camel-pdf/src/main/docs/pdf-component.adoc
index 245a00d..9f9d575 100644
--- a/components/camel-pdf/src/main/docs/pdf-component.adoc
+++ b/components/camel-pdf/src/main/docs/pdf-component.adoc
@@ -96,10 +96,10 @@ ishttps://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/pdmodel/encry
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 -
  
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index d5b254c..d35389d 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -81,7 +81,7 @@ with the following path and query parameters:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 6bab036..b354531 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -8,7 +8,7 @@ Protobuf - Protocol Buffers
 
 "Protocol Buffers - Google's data interchange format"
 
-Camel provides a link:data-format.html[Data Format] to serialize between
+Camel provides a Data Format to serialize between
 Java and the Protocol Buffer protocol. The project's site details why
 you may wish to
 https://developers.google.com/protocol-buffers/docs/overview[choose this format over xml].
@@ -147,7 +147,7 @@ implemented for you. The generated classes implement
 com.google.protobuf.Message which is required by the serialization
 mechanism. For this reason it important that only these classes are used
 in the body of your exchanges. Camel will throw an exception on route
-creation if you attempt to tell the link:data-format.html[Data Format]
+creation if you attempt to tell the Data Format
 to use a class that does not implement com.google.protobuf.Message. Use
 the generated builders to translate the data from any of your existing
 domain classes.
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index 14ffb21..707b252 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -196,9 +196,9 @@ The example illustrates the PubNub component subscribing to a infinite stream of
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index ecec97d..f9dc77c 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -251,14 +251,14 @@ In Camel 2.8.0 or older versions you would have to provide your custom
 `String` to `java.util.TimeZone` link:type-converter.html[Type
 Converter] to be able configure this from the endpoint uri. +
  From Camel 2.8.1 onwards we have included such a
-link:type-converter.html[Type Converter] in the camel-core.
+Type Converter in the camel-core.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<quartz2-component,Quartz2>>
 * <<timer-component,Timer>>
\ No newline at end of file
diff --git a/components/camel-quartz2/src/main/docs/quartz2-component.adoc b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
index 283265a..b085ffe 100644
--- a/components/camel-quartz2/src/main/docs/quartz2-component.adoc
+++ b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
@@ -261,9 +261,9 @@ The timeZone value is the values accepted by `java.util.TimeZone`.
 === Using QuartzScheduledPollConsumerScheduler
 
 The <<quartz2-component,Quartz2>> component provides a
-link:polling-consumer.html[Polling Consumer] scheduler which allows to
+Polling Consumer scheduler which allows to
 use cron based scheduling for link:polling-consumer.html[Polling
-Consumer] such as the link:file2.html[File] and link:ftp2.html[FTP]
+Consumer] such as the File and FTP
 consumers.
 
 For example to use a cron based expression to poll for files every 2nd
@@ -300,7 +300,7 @@ and used.
 |===
 
 *Important:* Remember configuring these options from the endpoint
-link:uris.html[URIs] must be prefixed with `scheduler.`. 
+URIs must be prefixed with `scheduler.`. 
 For example to configure the trigger id and group:
 
 [source,java]
@@ -309,7 +309,7 @@ For example to configure the trigger id and group:
        .to("bean:process");
 ----
 
-There is also a CRON scheduler in link:spring.html[Spring], so you can
+There is also a CRON scheduler in Spring, so you can
 use the following as well:
 
 [source,java]
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index be70c8f..9ec7e77 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -592,7 +592,7 @@ Direction : from FIX gateway
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
index 3b28e99..52c1831 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
@@ -276,7 +276,7 @@ public Map<String, Object> bindArgsBuilder() {
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
index 2b4dd84..b5232d3 100644
--- a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
+++ b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
@@ -409,7 +409,7 @@ To use the starter, add the following to your spring boot pom.xml file:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
index 1edb9bb..58b1cce 100644
--- a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
+++ b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
@@ -145,7 +145,7 @@ 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>>
 component to perform all the requests and Camels excelent support for 
-link:spring-boot.html[Spring Boot].
+Spring Boot.
 
 Here are our dependencies defined in Maven POM file:
 
diff --git a/components/camel-restlet/src/main/docs/restlet-component.adoc b/components/camel-restlet/src/main/docs/restlet-component.adoc
index 1ef1818..532027e 100644
--- a/components/camel-restlet/src/main/docs/restlet-component.adoc
+++ b/components/camel-restlet/src/main/docs/restlet-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.0*
 
 The *Restlet* component provides http://www.restlet.org[Restlet] based
-link:endpoint.html[endpoints] for consuming and producing RESTful
+endpoints for consuming and producing RESTful
 resources.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -273,7 +273,7 @@ The `restletUriPatterns=#uriTemplates` option references the
 You may want to use the `org.restlet.Response` API to populate the
 response. This gives you full access to the Restlet API and fine grained
 control of the response. See the route snippet below where we generate
-the response from an inlined Camel link:processor.html[Processor]:
+the response from an inlined Camel Processor:
 
 *Generating response using Restlet Response API*
 
@@ -384,7 +384,7 @@ well:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-rmi/src/main/docs/rmi-component.adoc b/components/camel-rmi/src/main/docs/rmi-component.adoc
index b70ebcb..61844a4 100644
--- a/components/camel-rmi/src/main/docs/rmi-component.adoc
+++ b/components/camel-rmi/src/main/docs/rmi-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.0*
 
-The *rmi:* component binds link:exchange.html[Exchange]s to the RMI
+The *rmi:* component binds Exchanges to the RMI
 protocol (JRMP).
 
 Since this binding is just using RMI, normal RMI rules still apply
@@ -122,7 +122,7 @@ In XML DSL you can do as follows from *Camel 2.7* onwards:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-rss/src/main/docs/rss-component.adoc b/components/camel-rss/src/main/docs/rss-component.adoc
index b4a6ea0..486b68e 100644
--- a/components/camel-rss/src/main/docs/rss-component.adoc
+++ b/components/camel-rss/src/main/docs/rss-component.adoc
@@ -151,7 +151,7 @@ resolve them. For example if the feed uses `alt=rss`, then the following example
 
 You can filter out entries using XPath, as shown in the
 data format section above. You can also exploit Camel's
-link:bean-integration.html[Bean Integration] to implement your own
+Bean Integration to implement your own
 conditions. For instance, a filter equivalent to the XPath example above
 would be:
 
@@ -169,9 +169,9 @@ return firstEntry.getTitle().contains("Camel");
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<atom-component,Atom>>
\ No newline at end of file
diff --git a/components/camel-ruby/src/main/docs/ruby.adoc b/components/camel-ruby/src/main/docs/ruby.adoc
index 310f5a4..054b04d 100644
--- a/components/camel-ruby/src/main/docs/ruby.adoc
+++ b/components/camel-ruby/src/main/docs/ruby.adoc
@@ -3,9 +3,9 @@ Ruby
 ~~~~
 
 Camel supports http://www.ruby-lang.org/en/[Ruby] among other
-link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a Ruby expression use the following Java code
@@ -16,16 +16,16 @@ To use a Ruby expression use the following Java code
 -----------------------------------
 
 For example you could use the *ruby* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 [[Ruby-Example]]
 Example
 ^^^^^^^
 
 In the sample below we use Ruby to create a
-link:predicate.html[Predicate] use in the route path, to route exchanges
+Predicate use in the route path, to route exchanges
 from admin users to a special queue.
 
 [source,java]
@@ -82,7 +82,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 [[Ruby-AdditionalargumentstoScriptingEngine]]
@@ -165,7 +165,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-rx/src/main/docs/rx.adoc b/components/camel-rx/src/main/docs/rx.adoc
index 591e161..8326967 100644
--- a/components/camel-rx/src/main/docs/rx.adoc
+++ b/components/camel-rx/src/main/docs/rx.adoc
@@ -15,7 +15,7 @@ https://github.com/Netflix/RxJava/wiki[RxJava] library so that:
 http://netflix.github.com/RxJava/javadoc/[RxJava API] for processing
 messages on endpoints using a typesafe composable API
 * https://github.com/Netflix/RxJava/wiki[RxJava] users get to use all of
-the link:components.html[Camel transports and protocols] from within the
+the Camel transports and protocols from within the
 http://netflix.github.com/RxJava/javadoc/[RxJava API]
 
 [[RX-BackgroundonRX]]
@@ -169,7 +169,7 @@ e.g.
 ----
 
 Another approach, if you are consuming directly from Camel using the
-link:bean-integration.html[Bean Integration] is to just use the RxJava
+Bean Integration is to just use the RxJava
 Subject directly:
 
 [source,java]
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 21d0629..5b1360d 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -263,7 +263,7 @@ class and can be used in a custom processors or expressions.
 For instance, consider that you need to limit the API usage of Salesforce so that 10% of daily API requests is left for
 other routes. The body of output message contains an instance of
 `org.apache.camel.component.salesforce.api.dto.Limits` object that can be used in conjunction with
-link:content-based-router.html[Content Based Router] and link:content-based-router.html[Content Based Router] and 
+Content Based Router and Content Based Router and 
 <<spel-language,Spring Expression Language (SpEL)>> to choose when to perform queries.
 
 Notice how multiplying `1.0` with the integer value held in `body.dailyApiRequests.remaining` makes the expression
@@ -686,7 +686,7 @@ DateTime, and picklist fields are mapped to generated Java Enumerations.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
index a80fcb2..64612d1 100644
--- a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
+++ b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
@@ -183,9 +183,9 @@ Destination airport: SFO
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-saxon/src/main/docs/xquery-component.adoc b/components/camel-saxon/src/main/docs/xquery-component.adoc
index 746828b..5c1be92 100644
--- a/components/camel-saxon/src/main/docs/xquery-component.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-component.adoc
@@ -4,12 +4,12 @@
 *Available as of Camel version 1.0*
 
 Camel supports http://www.w3.org/TR/xquery/[XQuery] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration]. For example you could use XQuery to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List].
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List.
 
 ### Options
 
@@ -139,7 +139,7 @@ key name *foo* then its added as *foo*.
 
 ### Using XML configuration
 
-If you prefer to configure your routes in your link:spring.html[Spring]
+If you prefer to configure your routes in your Spring
 XML file then you can use XPath expressions as follows
 
 [source,xml]
@@ -201,8 +201,8 @@ from("direct:start").
 ### Using XQuery as an endpoint
 
 Sometimes an XQuery expression can be quite large; it can essentally be
-used for link:templating.html[Templating]. So you may want to use an
-link:xquery-endpoint.html[XQuery Endpoint] so you can route using XQuery
+used for Templating. So you may want to use an
+XQuery Endpoint so you can route using XQuery
 templates.
 
 The following example shows how to take a message of an ActiveMQ queue
@@ -226,12 +226,12 @@ Currently custom functions in XQuery might result in a NullPointerException (Cam
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryFilterTest.java[example]
 using an XQuery expression as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 This
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryWithNamespacesFilterTest.java[example]
 uses XQuery with namespaces as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 ### Learning XQuery
 
@@ -267,7 +267,7 @@ To use XQuery in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 --------------------------------------
diff --git a/components/camel-saxon/src/main/docs/xquery-language.adoc b/components/camel-saxon/src/main/docs/xquery-language.adoc
index 0164b19..3351a99 100644
--- a/components/camel-saxon/src/main/docs/xquery-language.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-language.adoc
@@ -4,12 +4,12 @@
 *Available as of Camel version 1.0*
 
 Camel supports http://www.w3.org/TR/xquery/[XQuery] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration]. For example you could use XQuery to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List].
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List.
 
 ### XQuery Language options
 
@@ -76,7 +76,7 @@ key name *foo* then its added as *foo*.
 
 ### Using XML configuration
 
-If you prefer to configure your routes in your link:spring.html[Spring]
+If you prefer to configure your routes in your Spring
 XML file then you can use XPath expressions as follows
 
 [source,xml]
@@ -138,8 +138,8 @@ from("direct:start").
 ### Using XQuery as an endpoint
 
 Sometimes an XQuery expression can be quite large; it can essentally be
-used for link:templating.html[Templating]. So you may want to use an
-link:xquery-endpoint.html[XQuery Endpoint] so you can route using XQuery
+used for Templating. So you may want to use an
+XQuery Endpoint so you can route using XQuery
 templates.
 
 The following example shows how to take a message of an ActiveMQ queue
@@ -161,12 +161,12 @@ The following example shows how to take a message of an ActiveMQ queue
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryFilterTest.java[example]
 using an XQuery expression as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 This
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryWithNamespacesFilterTest.java[example]
 uses XQuery with namespaces as a predicate in a
-link:message-filter.html[Message Filter]
+Message Filter
 
 ### Learning XQuery
 
@@ -202,7 +202,7 @@ To use XQuery in your camel routes you need to add the a dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 --------------------------------------
diff --git a/components/camel-scala/src/main/docs/scala-eip.adoc b/components/camel-scala/src/main/docs/scala-eip.adoc
index 8ec69a4..1922ea5 100644
--- a/components/camel-scala/src/main/docs/scala-eip.adoc
+++ b/components/camel-scala/src/main/docs/scala-eip.adoc
@@ -2,10 +2,10 @@
 Scala Supported DSL
 ^^^^^^^^^^^^^^^^^^^
 
-The link:scala-dsl.html[Scala DSL] supports *every* DSL from the
-link:dsl.html[Java DSL].
+The Scala DSL supports *every* DSL from the
+Java DSL.
 
-On this page we have examples for a number of the link:eip.html[EIP]s. +
+On this page we have examples for a number of the EIPs. +
  You can check the
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-scala/src/test/scala/[unit
 test source code] for the Scala Component to find more examples.
@@ -106,7 +106,7 @@ the message body are the same.
 Content based router
 ++++++++++++++++++++
 
-Similar to the link:scala-dsl-eip.html[Filter], the content based router
+Similar to the Filter, the content based router
 uses `when` methods with `Exchange ⇒ Boolean` function literals and an
 optional `otherwise`. The function literal can contain plain Scala code
 as well as any of the link:scala-dsl-supported-languages.html[supported
@@ -146,7 +146,7 @@ Recipient list
 ++++++++++++++
 
 You can handle a static recipient list with a multicast or
-link:scala-dsl-eip.html[pipeline], but this EIP is usually applied when
+pipeline, but this EIP is usually applied when
 you want to dynamically determine the name(s) of the next endpoint(s) to
 route to. Use the `recipients()` method with a function literal
 (`Exchange => Any`) that returns the endpoint name(s). In the example
@@ -160,7 +160,7 @@ figure out where to send the message:
 
 Again, we can also use the same thing in a more block-like syntax. For
 this example, we use the Scala DSL's
-link:scala-dsl-supported-languages.html[support for JXPath] to determine
+support for JXPath to determine
 the target.
 
 [[ScalaDSL-EIP-Resequencer]]
@@ -187,7 +187,7 @@ method. As with many other EIPs, we support a short, in-line version as
 well as a more elaborate block based one.
 
 The above examples also show you how
-link:scala-dsl-supported-languages.html[other languages] like XPath can
+other languages like XPath can
 be within the Scala DSL.
 
 [[ScalaDSL-EIP-Throttler]]
diff --git a/components/camel-scala/src/main/docs/scala-getting-started.adoc b/components/camel-scala/src/main/docs/scala-getting-started.adoc
index 21cc41d..3dc823a 100644
--- a/components/camel-scala/src/main/docs/scala-getting-started.adoc
+++ b/components/camel-scala/src/main/docs/scala-getting-started.adoc
@@ -2,7 +2,7 @@
 Scala DSL Getting Started
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Just like the link:dsl.html[Java DSL], the Scala DSL has a RouteBuilder
+Just like the Java DSL, the Scala DSL has a RouteBuilder
 class (`org.apache.camel.scala.dsl.builder.RouteBuilder`) that you can
 extend to implement your own routes. This example shows two very simple
 routes:
@@ -12,7 +12,7 @@ org.apache.camel.scala.dsl.builder.ScalaRouteBuilder and pass in the
 CamelContext in the constructor, which will be used by the builder. The
 old class RouteBuilder is deprecated.
 
-If you compare this to the Java link:dsl.html[DSL], you notice:
+If you compare this to the Java DSL, you notice:
 
 * there is no configure() method to override
 * a route starts directly with a URI instead of `from(uri)`
@@ -34,7 +34,7 @@ invocation after the "from" part of the DSL.
 Creating a new Camel Scala project
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Camel offers link:camel-maven-archetypes.html[Maven archetypes] that
+Camel offers Maven archetypes that
 allow you to quickly setup a new project.
 
 To do this, you can execute the following Maven goal from the command
diff --git a/components/camel-scala/src/main/docs/scala-supported-languages.adoc b/components/camel-scala/src/main/docs/scala-supported-languages.adoc
index ec39e85..418d317 100644
--- a/components/camel-scala/src/main/docs/scala-supported-languages.adoc
+++ b/components/camel-scala/src/main/docs/scala-supported-languages.adoc
@@ -2,14 +2,14 @@
 Scala DSL Supported Languages
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Support for link:languages.html[other languages] inside the Scala DSL
+Support for other languages inside the Scala DSL
 routes is delivered through traits. The
 `org.apache.camel.scala.dsl.languages` package currently offers traits
 to support XPath. To use any given language, you can mix-in the trait
 when creating your `RouteBuilder`.
 
-You can use any of the supported Camel link:languages.html[Languages] in
-the link:scala-dsl.html[Scala DSL]; see below for a couple of examples:
+You can use any of the supported Camel Languages in
+the Scala DSL; see below for a couple of examples:
 
 [[ScalaDSL-Supportedlanguages-Using]]
 Using <<xpath-language,XPath>>
diff --git a/components/camel-scala/src/main/docs/scala.adoc b/components/camel-scala/src/main/docs/scala.adoc
index a026489..f3cd3ea 100644
--- a/components/camel-scala/src/main/docs/scala.adoc
+++ b/components/camel-scala/src/main/docs/scala.adoc
@@ -8,18 +8,18 @@ http://www.scala-lang.org/[Scala] is a general purpose programming
 language designed to express common programming patterns in a concise,
 elegant, and type-safe way. It integrates very well with the Java
 platform. Our Scala DSL implementation is built on top of the existing
-Java-based link:dsl.html[DSL], but it adds Scala syntax sugar to make
+Java-based DSL, but it adds Scala syntax sugar to make
 building routes even more convenient.
 
 [[ScalaDSL-Documentation]]
 Documentation
 ^^^^^^^^^^^^^
 
-* link:scala-dsl-getting-started.html[Scala DSL - Getting Started] gives
+* Scala DSL - Getting Started gives
 you basic information on how to use the Scala DSL.
-* link:scala-dsl-eip.html[Scala DSL - EIP] shows you the Scala DSL
-syntax for every EIP supported. link:scala-dsl.html[Scala DSL] supports
-every EIP from the link:dsl.html[Java DSL].
+* Scala DSL - EIP shows you the Scala DSL
+syntax for every EIP supported. Scala DSL supports
+every EIP from the Java DSL.
 * link:scala-dsl-supported-languages.html[Scala DSL - Supported
 languages] explains the usage of traits to add support for other
 languages (e.g. XPath)
@@ -35,9 +35,9 @@ http://www.anova.be/files/camel-scala.pdf[Here are the presentation
 slides] .
 * Here's a
 http://davsclaus.blogspot.se/2011/12/apache-camel-little-scala-dsl-example.html[blog
-post] demonstrating the link:message-filter.html[Message Filter] EIP
-within the link:scala-dsl.html[Scala DSL], as well as how to use
-link:camel-test.html[Camel's test kit] to test the example.
+post] demonstrating the Message Filter EIP
+within the Scala DSL, as well as how to use
+Camel's test kit to test the example.
 
 [[ScalaDSL-Dependencies]]
 Dependencies
diff --git a/components/camel-script/src/main/docs/javaScript-language.adoc b/components/camel-script/src/main/docs/javaScript-language.adoc
index 1726968..e8e7d5d 100644
--- a/components/camel-script/src/main/docs/javaScript-language.adoc
+++ b/components/camel-script/src/main/docs/javaScript-language.adoc
@@ -5,9 +5,9 @@
 
 Camel supports
 http://en.wikipedia.org/wiki/JavaScript[JavaScript/ECMAScript] among
-other link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+other Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a JavaScript expression use the following Java code
@@ -18,9 +18,9 @@ To use a JavaScript expression use the following Java code
 -----------------------------------------------
 
 For example you could use the *javaScript* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 ### Javascript Language Options
 
@@ -39,7 +39,7 @@ The JavaScript language supports 1 options which are listed below.
 ### Example
 
 In the sample below we use JavaScript to create a
-link:predicate.html[Predicate] use in the route path, to route exchanges
+Predicate use in the route path, to route exchanges
 from admin users to a special queue.
 
 [source,java]
@@ -94,7 +94,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 ### Additional arguments to ScriptingEngine
@@ -170,7 +170,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-script/src/main/docs/php-language.adoc b/components/camel-script/src/main/docs/php-language.adoc
index df64f52..7cad42d 100644
--- a/components/camel-script/src/main/docs/php-language.adoc
+++ b/components/camel-script/src/main/docs/php-language.adoc
@@ -4,9 +4,9 @@
 *Available as of Camel version 1.0*
 
 Camel supports http://www.php.net/[PHP] among other
-link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a PHP expression use the following Java code
@@ -17,9 +17,9 @@ To use a PHP expression use the following Java code
 ---------------------------------
 
 For example you could use the *php* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 ### PHP Language Options
 
@@ -60,7 +60,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 ### Additional arguments to ScriptingEngine
@@ -136,7 +136,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-script/src/main/docs/python-language.adoc b/components/camel-script/src/main/docs/python-language.adoc
index e4123a3..cd334c2 100644
--- a/components/camel-script/src/main/docs/python-language.adoc
+++ b/components/camel-script/src/main/docs/python-language.adoc
@@ -4,9 +4,9 @@
 *Available as of Camel version 1.0*
 
 Camel supports http://www.python.org/[Python] among other
-link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a Python expression use the following Java code
@@ -17,9 +17,9 @@ To use a Python expression use the following Java code
 ---------------------------------------
 
 For example you could use the *python* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 ### Python Language Options
 
@@ -38,7 +38,7 @@ The Python language supports 1 options which are listed below.
 ### Example
 
 In the sample below we use Python to create a
-link:predicate.html[Predicate] use in the route path, to route exchanges
+Predicate use in the route path, to route exchanges
 from admin users to a special queue.
 
 [source,java]
@@ -93,7 +93,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 ### Additional arguments to ScriptingEngine
@@ -169,7 +169,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-script/src/main/docs/ruby-language.adoc b/components/camel-script/src/main/docs/ruby-language.adoc
index b2b954a..6dfb8ee 100644
--- a/components/camel-script/src/main/docs/ruby-language.adoc
+++ b/components/camel-script/src/main/docs/ruby-language.adoc
@@ -4,9 +4,9 @@
 *Available as of Camel version 1.0*
 
 Camel supports http://www.ruby-lang.org/en/[Ruby] among other
-link:scripting-languages.html[Scripting Languages] to allow an
-link:expression.html[Expression] or link:predicate.html[Predicate] to be
-used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
+Scripting Languages to allow an
+Expression or Predicate to be
+used in the DSL or link:xml-configuration.html[Xml
 Configuration].
 
 To use a Ruby expression use the following Java code
@@ -17,9 +17,9 @@ To use a Ruby expression use the following Java code
 -----------------------------------
 
 For example you could use the *ruby* function to create an
-link:predicate.html[Predicate] in a link:message-filter.html[Message
-Filter] or as an link:expression.html[Expression] for a
-link:recipient-list.html[Recipient List]
+Predicate in a link:message-filter.html[Message
+Filter] or as an Expression for a
+Recipient List
 
 ### Ruby Language Options
 
@@ -38,7 +38,7 @@ The Ruby language supports 1 options which are listed below.
 ### Example
 
 In the sample below we use Ruby to create a
-link:predicate.html[Predicate] use in the route path, to route exchanges
+Predicate use in the route path, to route exchanges
 from admin users to a special queue.
 
 [source,java]
@@ -93,7 +93,7 @@ Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
-See link:scripting-languages.html[Scripting Languages] for the list of
+See Scripting Languages for the list of
 languages with explicit DSL support.
 
 ### Additional arguments to ScriptingEngine
@@ -169,7 +169,7 @@ engine.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ---------------------------------------
diff --git a/components/camel-script/src/main/docs/script.adoc b/components/camel-script/src/main/docs/script.adoc
index 7d3a77a..8babcc1 100644
--- a/components/camel-script/src/main/docs/script.adoc
+++ b/components/camel-script/src/main/docs/script.adoc
@@ -7,12 +7,12 @@ Script
 Is used to execute a script which does not change the message (by
 default). This is useful when you need to invoke some logic that are not
 in Java code such as JavaScript, Groovy or any of the
-other link:languages.html[Languages]. The message body is not changed
+other Languages. The message body is not changed
 (by default) however the scripting context has access to the current
 Exchange and can essentially change the message or headers directly. But
 the return value from the script is discarded and not used. If the
 return value should be used as a changed message body then
-use link:message-translator.html[Message Translator] EIP instead.
+use Message Translator EIP instead.
 
 [[Script-UsingfromJavaDSL]]
 Using from Java DSL
@@ -95,8 +95,8 @@ Using This Pattern
 ++++++++++++++++++
 
 If you would like to use this EIP Pattern then please read the
-link:getting-started.html[Getting Started], you may also find the
-link:architecture.html[Architecture] useful particularly the description
-of link:endpoint.html[Endpoint] and link:uris.html[URIs]. Then you could
-try out some of the link:examples.html[Examples] first before trying
+Getting Started, you may also find the
+Architecture useful particularly the description
+of Endpoint and URIs. Then you could
+try out some of the Examples first before trying
 this pattern out.
diff --git a/components/camel-servlet/src/main/docs/servlet-component.adoc b/components/camel-servlet/src/main/docs/servlet-component.adoc
index 9bdbdb3..8423614 100644
--- a/components/camel-servlet/src/main/docs/servlet-component.adoc
+++ b/components/camel-servlet/src/main/docs/servlet-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.0*
 
 The *servlet:* component provides HTTP based
-link:endpoint.html[endpoints] for consuming HTTP requests that arrive at
+endpoints for consuming HTTP requests that arrive at
 a HTTP endpoint that is bound to a published Servlet.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -27,7 +27,7 @@ to Camel as a stream. That means you will only be able to read the
 content of the stream *once*. If you find a situation where the message
 body appears to be empty or you need to access the data multiple times
 (eg: doing multicasting, or redelivery error handling) you should use
-link:stream-caching.html[Stream caching] or convert the message body to
+Stream caching or convert the message body to
 a `String` which is safe to be read multiple times.
 
 ### URI format
@@ -209,7 +209,7 @@ address: `("http://localhost:8080/camel/services") + RELATIVE_PATH("/hello")`.
 
 #### Sample when using Spring 3.x
 
-See link:servlet-tomcat-example.html[Servlet Tomcat Example]
+See Servlet Tomcat Example
 
 #### Sample when using Spring 2.x
 
@@ -271,12 +271,12 @@ The automatic mapping of the Camel servlet can also be disabled.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:servlet-tomcat-example.html[Servlet Tomcat Example]
+* Servlet Tomcat Example
 * link:servlet-tomcat-no-spring-example.html[Servlet Tomcat No Spring
 Example]
 * <<http-component,HTTP>>
diff --git a/components/camel-servletlistener/src/main/docs/servletlistener.adoc b/components/camel-servletlistener/src/main/docs/servletlistener.adoc
index 9705503..afb4955 100644
--- a/components/camel-servletlistener/src/main/docs/servletlistener.adoc
+++ b/components/camel-servletlistener/src/main/docs/servletlistener.adoc
@@ -63,38 +63,38 @@ in the web.xml file.
 |=======================================================================
 |Option |Type |Description
 
-|propertyPlaceholder.XXX | | To configure link:using-propertyplaceholder.html[property placeholders]
+|propertyPlaceholder.XXX | | To configure property placeholders
 in Camel. You should prefix the option with "propertyPlaceholder.", for
 example to configure the location, use propertyPlaceholder.location as
 name. You can configure all the options from the
 <<properties-component,Properties>> component.
 
-|jmx.XXX |  | To configure link:camel-jmx.html[JMX]. You should prefix the option with
+|jmx.XXX |  | To configure JMX. You should prefix the option with
 "jmx.", for example to disable JMX, use jmx.disabled as name. You can
 configure all the options from `org.apache.camel.spi.ManagementAgent`.
-As well the options mentioned on the link:camel-jmx.html[JMX] page.
+As well the options mentioned on the JMX page.
 
-|name |`String` |To configure the name of the link:camelcontext.html[CamelContext].
+|name |`String` |To configure the name of the CamelContext.
 
 |messageHistory |`Boolean` |*Camel 2.12.2:* Whether to enable or disable
-link:message-history.html[Message History] (enabled by default).
+Message History (enabled by default).
 
-|streamCache |`Boolean` |Whether to enable link:stream-caching.html[Stream caching].
+|streamCache |`Boolean` |Whether to enable Stream caching.
 
-|trace |`Boolean` |Whether to enable link:tracer.html[Tracer].
+|trace |`Boolean` |Whether to enable Tracer.
 
-|delayer |`Long` |To set a delay value for link:delay-interceptor.html[Delay Interceptor].
+|delayer |`Long` |To set a delay value for Delay Interceptor.
 
 |handleFault |`Boolean` |Whether to enable handle fault.
 
-|errorHandlerRef |`String` |Refers to a context scoped link:error-handler.html[Error Handler] to be
+|errorHandlerRef |`String` |Refers to a context scoped Error Handler to be
 used.
 
 |autoStartup |`Boolean` |Whether to start all routes when starting Camel.
 
-|useMDCLogging |`Boolean` |Whether to use link:mdc-logging.html[MDC logging].
+|useMDCLogging |`Boolean` |Whether to use MDC logging.
 
-|useBreadcrumb |`Boolean` |Whether to use link:mdc-logging.html[breadcrumb].
+|useBreadcrumb |`Boolean` |Whether to use breadcrumb.
 
 |managementNamePattern |`String` |To set a custom naming pattern for JMX MBeans.
 
@@ -108,10 +108,10 @@ in use.
 |CamelContextLifecycle |  | Refers to a FQN classname of an implementation of
 `org.apache.camel.component.servletlistener.CamelContextLifecycle`.
 Which allows to execute custom code before and after
-link:camelcontext.html[CamelContext] has been started or stopped. See
+CamelContext has been started or stopped. See
 below for further details.
 
-|XXX |  | To set any option on link:camelcontext.html[CamelContext].
+|XXX |  | To set any option on CamelContext.
 |=======================================================================
 
 [[ServletListenerComponent-Examples]]
@@ -152,7 +152,7 @@ Using a RouteBuilder class
 ++++++++++++++++++++++++++
 
 By default Camel will assume the param-value is a FQN classname for a
-Camel link:routebuilder.html[RouteBuilder] class, as shown below:
+Camel RouteBuilder class, as shown below:
 
 [source,xml]
 ---------------------------------------------------------------------------------
@@ -187,7 +187,7 @@ Using package scanning
 
 You can also tell Camel to use package scanning, which mean it will look
 in the given package for all classes of
-link:routebuilder.html[RouteBuilder] types and automatic adding them as
+RouteBuilder types and automatic adding them as
 Camel routes. To do that you need to prefix the value with
 "packagescan:" as shown below:
 
@@ -288,11 +288,11 @@ as disabling JMX.
 ------------------------------------------------------------------
 
 [[ServletListenerComponent-JNDIorSimpleasCamel]]
-JNDI or Simple as Camel link:registry.html[Registry]
+JNDI or Simple as Camel Registry
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 This component uses either JNDI or Simple as the
-link:registry.html[Registry]. +
+Registry. +
  This allows you to lookup <<bean-component,Bean>>s and other services in
 JNDI, and as well to bind and unbind your own <<bean-component,Bean>>s.
 
@@ -304,7 +304,7 @@ Using custom CamelContextLifecycle
 ++++++++++++++++++++++++++++++++++
 
 In the code below we use the callbacks `beforeStart` and `afterStop` to
-enlist our custom bean in the Simple link:registry.html[Registry], and
+enlist our custom bean in the Simple Registry, and
 as well to cleanup when we stop.
 
 Then we need to register this class in the web.xml file as shown below,
@@ -349,7 +349,7 @@ See Also
 ^^^^^^^^
 
 * <<servlet-component,SERVLET>>
-* link:servlet-tomcat-example.html[Servlet Tomcat Example]
+* Servlet Tomcat Example
 * link:servlet-tomcat-no-spring-example.html[Servlet Tomcat No Spring
 Example]
 
diff --git a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
index 04f3f52..24afe38 100644
--- a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
+++ b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
@@ -6,7 +6,7 @@
 SJMS Batch is a specialized component for highly performant,
 transactional batch consumption from a JMS queue. It can be thought of
 as a hybrid of a consumer-only component and an
-link:aggregator2.html[aggregator].
+aggregator.
 
 A common use case in Camel is to consume messages from a queue and
 aggregate them before sending the aggregated state to another endpoint.
@@ -103,7 +103,7 @@ 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
 conjunction with a regular non-persistence backed
-link:aggregator2.html[aggregator] in this scenario.
+aggregator in this scenario.
 
 ### Component Options and Configurations
 
diff --git a/components/camel-slack/src/main/docs/slack-component.adoc b/components/camel-slack/src/main/docs/slack-component.adoc
index 2629f6e..b5f5d81 100644
--- a/components/camel-slack/src/main/docs/slack-component.adoc
+++ b/components/camel-slack/src/main/docs/slack-component.adoc
@@ -129,7 +129,7 @@ A CamelContext with Blueprint could be as:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-smpp/src/main/docs/smpp-component.adoc b/components/camel-smpp/src/main/docs/smpp-component.adoc
index 2ff2859..415d5bc 100644
--- a/components/camel-smpp/src/main/docs/smpp-component.adoc
+++ b/components/camel-smpp/src/main/docs/smpp-component.adoc
@@ -621,7 +621,7 @@ log4j.logger.org.apache.camel.component.smpp=DEBUG
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc b/components/camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc
index 09b65e4..6466b2c 100644
--- a/components/camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc
+++ b/components/camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-YAML is a link:data-format.html[Data Format] to marshal and unmarshal
+YAML is a Data Format to marshal and unmarshal
 Java objects to and from http://www.yaml.org/[YAML].
 
 For YAML to object marshalling, Camel provides integration with three
@@ -76,7 +76,7 @@ from("activemq:My.Queue")
 
 ### Using YAML in Spring DSL
 
-When using link:data-format.html[Data Format] in Spring DSL you need to
+When using Data Format in Spring DSL you need to
 declare the data formats first. This is done in the *DataFormats* XML
 tag.
 
@@ -133,7 +133,7 @@ on *camel-snakeyaml* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release
-(see link:download.html[the download page for the latest versions]).
+(see the download page for the latest versions).
 
 [source,xml]
 ------------------------------------------
diff --git a/components/camel-snmp/src/main/docs/snmp-component.adoc b/components/camel-snmp/src/main/docs/snmp-component.adoc
index 420c175..639aa86 100644
--- a/components/camel-snmp/src/main/docs/snmp-component.adoc
+++ b/components/camel-snmp/src/main/docs/snmp-component.adoc
@@ -191,7 +191,7 @@ to("activemq:snmp.states");
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc b/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
index 15002ce..83abbf6 100644
--- a/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
+++ b/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-SOAP is a link:data-format.html[Data Format] which uses JAXB2 and JAX-WS
+SOAP is a Data Format which uses JAXB2 and JAX-WS
 annotations to marshal and unmarshal SOAP payloads. It provides the
 basic features of Apache CXF without need for the CXF Stack.
 
@@ -15,7 +15,7 @@ onwards.
 *Namespace prefix mapping*
 
 See <<jaxb-dataformat,JAXB>> for details how you can control namespace
-prefix mappings when marshalling using link:soap.html[SOAP] data format.
+prefix mappings when marshalling using SOAP data format.
 
 ### SOAP Options
 
diff --git a/components/camel-solr/src/main/docs/solr-component.adoc b/components/camel-solr/src/main/docs/solr-component.adoc
index cc35a3e..acfba4d 100644
--- a/components/camel-solr/src/main/docs/solr-component.adoc
+++ b/components/camel-solr/src/main/docs/solr-component.adoc
@@ -209,7 +209,7 @@ http://wiki.apache.org/solr/SolrQuerySyntax[Solr Query Syntax]
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
index ad02fab..531fc90 100644
--- a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
+++ b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
@@ -5,7 +5,7 @@
 
 The Spark-rest component allows to define REST endpoints using the
 http://sparkjava.com/[Spark REST Java library] using the
-link:rest-dsl.html[Rest DSL].
+Rest DSL.
 
 INFO: Spark Java requires Java 8 runtime.
 
@@ -172,7 +172,7 @@ service as shown below:
   </camelContext>
 --------------------------------------------------------------
 
-See more details at the link:rest-dsl.html[Rest DSL].
+See more details at the Rest DSL.
 
 ### More examples
 
@@ -183,9 +183,9 @@ containers.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<rest-component,Rest>>
\ No newline at end of file
diff --git a/components/camel-spark/src/main/docs/spark-component.adoc b/components/camel-spark/src/main/docs/spark-component.adoc
index 0a20f1e..56b023a 100644
--- a/components/camel-spark/src/main/docs/spark-component.adoc
+++ b/components/camel-spark/src/main/docs/spark-component.adoc
@@ -396,7 +396,7 @@ DataFrame cars(HiveContext hiveContext) {
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-splunk/src/main/docs/splunk-component.adoc b/components/camel-splunk/src/main/docs/splunk-component.adoc
index 6b109dd..6718b2e 100644
--- a/components/camel-splunk/src/main/docs/splunk-component.adoc
+++ b/components/camel-splunk/src/main/docs/splunk-component.adoc
@@ -239,7 +239,7 @@ route and jvm metrics to Splunk, and displaying this on a dashboard.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc b/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
index c0bb135..6259084 100644
--- a/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
+++ b/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
@@ -103,13 +103,13 @@ according to the following algorithm:
 
 * if `JobLauncher` is manually set on the component, then use it.
 * if `jobLauncherRef` option is set on the component, then search Camel
-link:registry.html[Registry] for the `JobLauncher` with the given name.
+Registry for the `JobLauncher` with the given name.
 *Deprecated and will be removed in Camel 3.0!*
 * if there is `JobLauncher` registered in the Camel
-link:registry.html[Registry] under *jobLauncher* name, then use it.
+Registry under *jobLauncher* name, then use it.
 * if none of the steps above allow to resolve the `JobLauncher` and
 there is exactly one `JobLauncher` instance in the Camel
-link:registry.html[Registry], then use it.
+Registry, then use it.
 
 All headers found in the message are passed to the `JobLauncher` as job
 parameters. `String`, `Long`, `Double` and `java.util.Date` values are
diff --git a/components/camel-spring-boot/src/main/docs/spring-boot.adoc b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
index fa49e56..4e2dcc6 100644
--- a/components/camel-spring-boot/src/main/docs/spring-boot.adoc
+++ b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
@@ -304,7 +304,7 @@ Spring type conversion API bridge
 Spring comes with
 the powerful http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert[type
 conversion API]. Spring API happens to be very similar to the Camel
-link:type-converter.html[type converter API]. As those APIs are so
+type converter API. As those APIs are so
 similar, Camel Spring Boot automatically registers a bridge converter
 (`SpringTypeConverter`) that delegates to the Spring conversion API.That
 means that out-of-the-box Camel will treat Spring Converters like Camel
@@ -449,8 +449,8 @@ The Rest-DSL XML files should be Camel XML rests (not CamelContext) such as
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
diff --git a/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc b/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
index 9a24a24..67b3423 100644
--- a/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
+++ b/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
@@ -107,7 +107,7 @@ You can bind your source or target to a Camel endpoint as follows:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spring-javaconfig/src/main/docs/spring-javaconfig.adoc b/components/camel-spring-javaconfig/src/main/docs/spring-javaconfig.adoc
index 42127db..ac4716d 100644
--- a/components/camel-spring-javaconfig/src/main/docs/spring-javaconfig.adoc
+++ b/components/camel-spring-javaconfig/src/main/docs/spring-javaconfig.adoc
@@ -2,7 +2,7 @@
 Spring Java Config
 ~~~~~~~~~~~~~~~~~~
 
-link:spring.html[Spring] started life using XML Config to wire beans
+Spring started life using XML Config to wire beans
 together. However some folks don't like using XML and would rather use
 Java code which led to the creation of Guice along with the Spring
 JavaConfig project.
@@ -91,7 +91,7 @@ deprecated and could be removed in the future versions of Camel on the
 behalf of the `CamelSpringDelegatingTestContextLoader`.
 
 The *@ContextConfiguration* annotation tells the
-link:spring-testing.html[Spring Testing] framework to load the
+Spring Testing framework to load the
 *ContextConfig* class as the configuration to use. This class derives
 from *SingleRouteCamelConfiguration* which is a helper Spring Java
 Config class which will configure the CamelContext for us and then
diff --git a/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc b/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
index 8488ec5..bc78d8f 100644
--- a/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
+++ b/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
@@ -369,7 +369,7 @@ where `${camel-version`} must be replaced by the actual version of Camel
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spring-security/src/main/docs/spring-security.adoc b/components/camel-spring-security/src/main/docs/spring-security.adoc
index b897b76..22e3eed 100644
--- a/components/camel-spring-security/src/main/docs/spring-security.adoc
+++ b/components/camel-spring-security/src/main/docs/spring-security.adoc
@@ -157,7 +157,7 @@ Handling authentication and authorization errors
 If authentication or authorization fails in the
 `SpringSecurityAuthorizationPolicy`, a `CamelAuthorizationException`
 will be thrown. This can be handled using Camel's standard exception
-handling methods, like the link:exception-clause.html[Exception Clause].
+handling methods, like the Exception Clause.
 The `CamelAuthorizationException` will have a reference to the ID of the
 policy which threw the exception so you can handle errors based on the
 policy as well as the type of exception:
@@ -208,10 +208,10 @@ This dependency will also pull in
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:components.html[Components]
+* Components
 
diff --git a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
index e265f66..173c9a6 100644
--- a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
+++ b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
@@ -479,7 +479,7 @@ Contract-First Web Services]. Basically paragraph 3.6 "Implementing the
 Endpoint" is handled by this component (specifically paragraph 3.6.2
 "Routing the Message to the Endpoint" is where `CamelEndpointMapping`
 comes in). Also don't forget to check out the
-link:spring-ws-example.html[Spring Web Services Example] included in the
+Spring Web Services Example included in the
 Camel distribution.
 
 ### Endpoint mapping in routes
@@ -569,7 +569,7 @@ An example of a route using `beanname`:
 
 ### POJO (un)marshalling
 
-Camel's link:data-format.html[pluggable data formats] offer support for
+Camel's pluggable data formats offer support for
 pojo/xml marshalling using libraries such as JAXB, XStream, JibX, Castor
 and XMLBeans. You can use these data formats in your route to sent and
 receive pojo's, to and from web services.
@@ -596,7 +596,7 @@ from("spring-ws:rootqname:{http://example.com/}GetFoo?endpointMapping=#endpointM
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spring/src/main/docs/spel-language.adoc b/components/camel-spring/src/main/docs/spel-language.adoc
index 054e051..0598556 100644
--- a/components/camel-spring/src/main/docs/spel-language.adoc
+++ b/components/camel-spring/src/main/docs/spel-language.adoc
@@ -5,9 +5,9 @@
 
 Camel allows
 http://static.springsource.org/spring/docs/current/spring-framework-reference/htmlsingle/spring-framework-reference.html#expressions[SpEL]
-to be used as an link:expression.html[Expression] or
-link:predicate.html[Predicate] in the link:dsl.html[DSL] or
-link:xml-configuration.html[Xml Configuration].
+to be used as an Expression or
+Predicate in the DSL or
+Xml Configuration.
 
 ### Variables
 
@@ -73,7 +73,7 @@ from("direct:example").setBody(spel("Hello #{request.body}! What a beautiful #{r
 
 In the route above, notice spel is a static method which we need to
 import from `org.apache.camel.language.spel.SpelExpression.spel`, as we
-use spel as an link:expression.html[Expression] passed in as a parameter
+use spel as an Expression passed in as a parameter
 to the `setBody` method. Though if we use the fluent API we can do this
 instead:
 
@@ -99,7 +99,7 @@ day"_
 
 #### Bean integration
 
-You can reference beans defined in the link:registry.html[Registry]
+You can reference beans defined in the Registry
 (most likely an `ApplicationContext`) in your SpEL expressions. For
 example if you have a bean named "foo" in your `ApplicationContext` you
 can invoke the "bar" method on this bean like this:
diff --git a/components/camel-spring/src/main/docs/spring-event-component.adoc b/components/camel-spring/src/main/docs/spring-event-component.adoc
index 9b51388..1953f99 100644
--- a/components/camel-spring/src/main/docs/spring-event-component.adoc
+++ b/components/camel-spring/src/main/docs/spring-event-component.adoc
@@ -64,7 +64,7 @@ with the following path and query parameters:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-spring/src/main/docs/spring.adoc b/components/camel-spring/src/main/docs/spring.adoc
index 65fbcbc..bb2ee03 100644
--- a/components/camel-spring/src/main/docs/spring.adoc
+++ b/components/camel-spring/src/main/docs/spring.adoc
@@ -6,22 +6,22 @@ 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>>
 * Camel works with Spring 2 XML processing with the
-link:xml-configuration.html[Xml Configuration]
+Xml Configuration
 * Camel Spring XML Schema's is defined at link:xml-reference.html[Xml
 Reference]
 * Camel supports a powerful version of link:spring-remoting.html[Spring
 Remoting] which can use powerful routing between the client and server
 side along with using all of the available
-link:components.html[Components] for the transport
-* Camel provides powerful link:bean-integration.html[Bean Integration]
+Components for the transport
+* Camel provides powerful Bean Integration
 with any bean defined in a Spring ApplicationContext
 * Camel integrates with various Spring helper classes; such as providing
-link:type-converter.html[Type Converter] support for Spring Resources
+Type Converter support for Spring Resources
 etc
-* Allows Spring to dependency inject link:component.html[Component]
-instances or the link:camelcontext.html[CamelContext] instance itself
+* Allows Spring to dependency inject Component
+instances or the CamelContext instance itself
 and auto-expose Spring beans as components and endpoints.
-* Allows you to reuse the link:spring-testing.html[Spring Testing]
+* Allows you to reuse the Spring Testing
 framework to simplify your unit and integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
 Patterns] and Camel's powerful <<mock-component,Mock>> and
@@ -33,14 +33,14 @@ the `camel-spring-boot` component.
 
 You can configure a CamelContext inside any spring.xml using the
 http://camel.apache.org/maven/current/camel-spring/apidocs/org/apache/camel/spring/CamelContextFactoryBean.html[CamelContextFactoryBean].
-This will automatically link:lifecycle.html[start] the
-link:camelcontext.html[CamelContext] along with any referenced
-link:routes.html[Routes] along any referenced
-link:component.html[Component] and link:endpoint.html[Endpoint]
+This will automatically start the
+CamelContext along with any referenced
+Routes along any referenced
+Component and Endpoint
 instances.
 
 * Adding Camel schema
-* Configure link:routes.html[Routes] in two ways:
+* Configure Routes in two ways:
 ** Using Java Code
 ** Using Spring XML
 
@@ -118,7 +118,7 @@ configuration of CamelContext using Spring]
 $### Using Java Code
 
 You can use Java Code to define your
-link:routebuilder.html[RouteBuilder] implementations. These can be
+RouteBuilder implementations. These can be
 defined as beans in spring and then referenced in your camel context
 e.g.
 
@@ -128,7 +128,7 @@ Camel also provides a powerful feature that allows for the automatic
 discovery and initialization of routes in given packages. This is
 configured by adding tags to the camel context in your spring context
 definition, specifying the packages to be recursively searched for
-link:routebuilder.html[RouteBuilder] implementations. To use this
+RouteBuilder implementations. To use this
 feature in 1.X, requires a <package></package> tag specifying a comma
 separated list of packages that should be searched e.g.
 
@@ -332,14 +332,14 @@ protected Class[] excludeRoutes() {
 ### Using Spring XML
 
 You can use Spring 2.0 XML configuration to specify your
-link:xml-configuration.html[Xml Configuration] for
-link:routes.html[Routes] such as in the following
+Xml Configuration for
+Routes such as in the following
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/routingUsingCamelContextFactory.xml[example].
 
 ### Configuring Components and Endpoints
 
-You can configure your link:component.html[Component] or
-link:endpoint.html[Endpoint] instances in your link:spring.html[Spring]
+You can configure your Component or
+Endpoint instances in your Spring
 XML as follows in
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/jmsRouteUsingSpring.xml[this
 example].
@@ -348,15 +348,15 @@ Which allows you to configure a component using some name (activemq in
 the above example), then you can refer to the component using
 *activemq:[queue:|topic:]destinationName*. This works by the
 SpringCamelContext lazily fetching components from the spring context
-for the scheme name you use for link:endpoint.html[Endpoint]
-link:uris.html[URIs].
+for the scheme name you use for Endpoint
+URIs.
 
 For more detail see link:how-do-i-configure-endpoints.html[Configuring
 Endpoints and Components].
 
 ### CamelContextAware
 
-If you want to be injected with the link:camelcontext.html[CamelContext]
+If you want to be injected with the CamelContext
 in your POJO just implement the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html[CamelContextAware
 interface]; then when Spring creates your POJO the CamelContext will be
@@ -367,15 +367,15 @@ Integration] for further injections.
 
 To avoid a hung route when testing using Spring Transactions see the
 note about Spring Integration Testing
-under link:transactional-client.html[Transactional Client].
+under Transactional Client.
 
 ### See also
 
-* link:tutorial-jmsremoting.html[Spring JMS Tutorial]
+* Spring JMS Tutorial
 * link:creating-a-new-spring-based-camel-route.html[Creating a new
 Spring based Camel Route]
-* link:spring-example.html[Spring example]
-* link:xml-reference.html[Xml Reference]
+* Spring example
+* Xml Reference
 * link:advanced-configuration-of-camelcontext-using-spring.html[Advanced
 configuration of CamelContext using Spring]
 * link:how-do-i-import-routes-from-other-xml-files.html[How do I import
diff --git a/components/camel-sql/src/main/docs/sql-component.adoc b/components/camel-sql/src/main/docs/sql-component.adoc
index f6f9d37..5f029c5 100644
--- a/components/camel-sql/src/main/docs/sql-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-component.adoc
@@ -27,9 +27,9 @@ for this component:
 The SQL component also supports:
 
 * a JDBC based repository for the
-link:idempotent-consumer.html[Idempotent Consumer] EIP pattern. See
+Idempotent Consumer EIP pattern. See
 further below.
-* a JDBC based repository for the link:aggregator2.html[Aggregator] EIP
+* a JDBC based repository for the Aggregator EIP
 pattern. See further below.
 
 ### URI format
@@ -247,7 +247,7 @@ from("jms:order.inbox")
 From*Camel 2.18* onwards the producer supports outputType=StreamList
 that uses an iterator to stream the output of the query. This allows to
 process the data in a streaming fashion which for example can be used by
-the link:splitter.html[Splitter] EIP to process each row one at a time,
+the Splitter EIP to process each row one at a time,
 and load data from the database as needed.
 
 [source,java]
@@ -551,18 +551,18 @@ In Camel 2.6, the JdbcAggregationRepository is provided in the
 fly persists the aggregated messages. This ensures that you will not
 loose messages, as the default aggregator will use an in memory only
 `AggregationRepository`. The `JdbcAggregationRepository` allows together with Camel to provide
-persistent support for the link:aggregator2.html[Aggregator].
+persistent support for the Aggregator.
 
-Only when an link:exchange.html[Exchange] has been successfully
+Only when an Exchange has been successfully
 processed it will be marked as complete which happens when the `confirm`
 method is invoked on the `AggregationRepository`. This means if the same
-link:exchange.html[Exchange] fails again it will be kept retried until
+Exchange fails again it will be kept retried until
 it success.
 
 You can use option `maximumRedeliveries` to limit the maximum number of
-redelivery attempts for a given recovered link:exchange.html[Exchange].
+redelivery attempts for a given recovered Exchange.
 You must also set the `deadLetterUri` option so Camel knows where to
-send the link:exchange.html[Exchange] when the `maximumRedeliveries` was
+send the Exchange when the `maximumRedeliveries` was
 hit.
 
 You can see some examples in the unit tests of camel-sql, for example
@@ -773,11 +773,11 @@ You should also include the specific database driver, if needed.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-link:sql-stored-procedure.html[SQL Stored Procedure]
+SQL Stored Procedure
 
 <<jdbc-component,JDBC>>
\ No newline at end of file
diff --git a/components/camel-sql/src/main/docs/sql-stored-component.adoc b/components/camel-sql/src/main/docs/sql-stored-component.adoc
index 1eb0e4c..f3f2ac5 100644
--- a/components/camel-sql/src/main/docs/sql-stored-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-stored-component.adoc
@@ -245,9 +245,9 @@ You should also include the specific database driver, if needed.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<sql-component,SQL Component>>
\ No newline at end of file
diff --git a/components/camel-ssh/src/main/docs/ssh-component.adoc b/components/camel-ssh/src/main/docs/ssh-component.adoc
index fbf31d8..fa27d83 100644
--- a/components/camel-ssh/src/main/docs/ssh-component.adoc
+++ b/components/camel-ssh/src/main/docs/ssh-component.adoc
@@ -210,7 +210,7 @@ See the `examples/camel-example-ssh` and
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-stax/src/main/docs/stax-component.adoc b/components/camel-stax/src/main/docs/stax-component.adoc
index 7c98939..a5c688a 100644
--- a/components/camel-stax/src/main/docs/stax-component.adoc
+++ b/components/camel-stax/src/main/docs/stax-component.adoc
@@ -6,7 +6,7 @@
 The StAX component allows messages to be process through a SAX
 http://download.oracle.com/javase/6/docs/api/org/xml/sax/ContentHandler.html[ContentHandler]. +
 Another feature of this component is to allow to iterate over JAXB
-records using StAX, for example using the link:splitter.html[Splitter]
+records using StAX, for example using the Splitter
 EIP.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -37,7 +37,7 @@ stax:org.superbiz.FooContentHandler
 -----------------------------------
 
 From *Camel 2.11.1* onwards you can lookup a
-`org.xml.sax.ContentHandler` bean from the link:registry.html[Registry]
+`org.xml.sax.ContentHandler` bean from the Registry
 using the # syntax as shown:
 
 [source,java]
@@ -183,7 +183,7 @@ Then you get a XML file to process:
 -------------------------------------------------------
 
 The StAX component provides an `StAXBuilder` which can be used when
-iterating XML elements with the Camel link:splitter.html[Splitter]
+iterating XML elements with the Camel Splitter
 
 [source,java]
 ------------------------------------------
@@ -211,7 +211,7 @@ The example above could be implemented as follows in XML DSL
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-stomp/src/main/docs/stomp-component.adoc b/components/camel-stomp/src/main/docs/stomp-component.adoc
index 4c4695c..808b2eb 100644
--- a/components/camel-stomp/src/main/docs/stomp-component.adoc
+++ b/components/camel-stomp/src/main/docs/stomp-component.adoc
@@ -115,12 +115,12 @@ from("stomp:queue:test").transform(body().convertToString()).to("mock:result")
 
 ### Endpoints
 
-Camel supports the link:message-endpoint.html[Message Endpoint] pattern
+Camel supports the Message Endpoint pattern
 using the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html[Endpoint]
 interface. Endpoints are usually created by a
-link:component.html[Component] and Endpoints are usually referred to in
-the link:dsl.html[DSL] via their link:uris.html[URIs].
+Component and Endpoints are usually referred to in
+the DSL via their URIs.
 
 From an Endpoint you can use the following methods
 
@@ -131,20 +131,20 @@ http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Produc
 for sending message exchanges to the endpoint
 *
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createConsumer(org.apache.camel.Processor)[createConsumer()]
-implements the link:event-driven-consumer.html[Event Driven Consumer]
+implements the Event Driven Consumer
 pattern for consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html[Processor]
 when creating a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Consumer.html[Consumer]
 *
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createPollingConsumer()[createPollingConsumer()]
-implements the link:polling-consumer.html[Polling Consumer] pattern for
+implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:message-endpoint.html[Message Endpoint] pattern
-* link:uris.html[URIs]
-* link:writing-components.html[Writing Components]
\ No newline at end of file
+* Configuring Camel
+* Message Endpoint pattern
+* URIs
+* Writing Components
\ No newline at end of file
diff --git a/components/camel-stream/src/main/docs/stream-component.adoc b/components/camel-stream/src/main/docs/stream-component.adoc
index 63483f6..9a08355 100644
--- a/components/camel-stream/src/main/docs/stream-component.adoc
+++ b/components/camel-stream/src/main/docs/stream-component.adoc
@@ -148,7 +148,7 @@ a file is deleted/recreated.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-stringtemplate/src/main/docs/string-template-component.adoc b/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
index 4c4c5fe..95f0331 100644
--- a/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
+++ b/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
@@ -5,7 +5,7 @@
 
 The *string-template:* component allows you to process a message using a
 http://www.stringtemplate.org/[String Template]. This can be ideal when
-using link:templating.html[Templating] to generate responses for
+using Templating to generate responses for
 requests.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -135,7 +135,7 @@ And the java code is as follows:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-swagger-java/src/main/docs/swagger-java.adoc b/components/camel-swagger-java/src/main/docs/swagger-java.adoc
index 61cb883..0983f5d 100644
--- a/components/camel-swagger-java/src/main/docs/swagger-java.adoc
+++ b/components/camel-swagger-java/src/main/docs/swagger-java.adoc
@@ -2,7 +2,7 @@
 
 *Available as of Camel 2.16*
 
-The  link:rest-dsl.html[Rest DSL] can be integrated with
+The  Rest DSL can be integrated with
 the `camel-swagger-java` module which is used for exposing the REST
 services and their APIs using http://swagger.io/[Swagger].
 
@@ -135,7 +135,7 @@ false.
 |apiContextIdPattern |String |A pattern that allows to filter which CamelContext names is shown in the
 context listing. The pattern is using regular expression and * as
 wildcard. Its the same pattern matching as used by
-link:intercept.html[Intercept]
+Intercept
 |===
 
 
diff --git a/components/camel-swagger/src/main/docs/swagger.adoc b/components/camel-swagger/src/main/docs/swagger.adoc
index 41e3ad7..baaa26a 100644
--- a/components/camel-swagger/src/main/docs/swagger.adoc
+++ b/components/camel-swagger/src/main/docs/swagger.adoc
@@ -4,7 +4,7 @@ Swagger Scala Component (deprecated)
 
 *Available as of Camel 2.14*
 
-The  link:rest-dsl.html[Rest DSL] can be integrated with
+The  Rest DSL can be integrated with
 the `camel-swagger` module which is used for exposing the REST services
 and their APIs using http://swagger.io/[Swagger].
 
@@ -12,7 +12,7 @@ Maven users will need to add the following dependency to
 their `pom.xml` for this component:
 
 WARNING:This component is deprecated. From Camel 2.16 onwards use the new Java
-based swagger module link:swagger-java.html[Swagger Java]
+based swagger module Swagger Java
 
 The Scala based camel-swagger module is deprecated, and to be removed in
 a future release.
@@ -42,7 +42,7 @@ Using with Camel 2.14.x
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 The Swagger servlet is integrated with Spring
-or link:servletlistener-component.html[ServletListener Component]. 
+or ServletListener Component. 
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -245,4 +245,4 @@ Swagger component.
 See Also
 ^^^^^^^^
 
-* link:swagger-java.html[Swagger Java]
+* Swagger Java
diff --git a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
index 06628f7..ac7f7d6 100644
--- a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
+++ b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
@@ -11,7 +11,7 @@ This component supports the following:
 * UDP consumption of syslog messages
 * Agnostic data format using either plain String objects or
 SyslogMessage model objects.
-* link:type-converter.html[Type Converter] from/to SyslogMessage and
+* Type Converter from/to SyslogMessage and
 String
 * Integration with the <<mina-component,camel-mina>> component.
 * Integration with the <<netty-component,camel-netty>> component.
@@ -133,7 +133,7 @@ The same route using <<mina-component,camel-mina>>
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc b/components/camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc
index a7dbae8..aeb2e37 100644
--- a/components/camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc
+++ b/components/camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc
@@ -3,18 +3,18 @@
 
 *Available as of Camel version 2.0*
 
-TidyMarkup is a link:data-format.html[Data Format] that uses the
+TidyMarkup is a Data Format that uses the
 http://www.ccil.org/~cowan/XML/tagsoup/[TagSoup] to tidy up HTML. It can
 be used to parse ugly HTML and return it as pretty wellformed HTML.
 
 *Camel eats our own -dog food- soap*
 
-We had some issues in our pdf link:manual.html[Manual] where we had some
+We had some issues in our pdf Manual where we had some
 strange symbols. So http://janstey.blogspot.com/[Jonathan] used this
 data format to tidy up the wiki html pages that are used as base for
 rendering the pdf manuals. And then the mysterious symbols vanished.
 
-link:tidymarkup.html[TidyMarkup] only supports the *unmarshal* operation
+TidyMarkup only supports the *unmarshal* operation
 as we really don't want to turn well formed HTML into ugly HTML
 image:https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png[(smile)]
 
@@ -50,7 +50,7 @@ from("file://site/inbox").unmarshal().tidyMarkup().to("file://site/blogs");
 
 ### Spring XML Example
 
-The following example shows how to use link:tidymarkup.html[TidyMarkup]
+The following example shows how to use TidyMarkup
 to unmarshal using Spring
 
 [source,java]
@@ -73,7 +73,7 @@ on *camel-tagsoup* which implements this data format.
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,java]
 ----------------------------------------
diff --git a/components/camel-tarfile/src/main/docs/tarfile-dataformat.adoc b/components/camel-tarfile/src/main/docs/tarfile-dataformat.adoc
index c5d4773..16d6358 100644
--- a/components/camel-tarfile/src/main/docs/tarfile-dataformat.adoc
+++ b/components/camel-tarfile/src/main/docs/tarfile-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.16*
 
-The Tar File link:data-format.html[Data Format] is a message compression
+The Tar File Data Format is a message compression
 and de-compression format. Messages can be marshalled (compressed) to
 Tar Files containing a single entry, and Tar Files containing a single
 entry can be unmarshalled (decompressed) to the original file contents.
@@ -43,7 +43,7 @@ from("direct:start").marshal().tarFile().to("activemq:queue:MY_QUEUE");
 
 The name of the Tar entry inside the created Tar File is based on the
 incoming `CamelFileName` message header, which is the standard message
-header used by the link:file2.html[file component]. Additionally, the
+header used by the file component. Additionally, the
 outgoing `CamelFileName` message header is automatically set to the
 value of the incoming `CamelFileName` message header, with the ".tar"
 suffix. So for example, if the following route finds a file named
@@ -56,7 +56,7 @@ from("file:input/directory?antInclude=*/.txt").marshal().tarFile().to("file:outp
 -----------------------------------------------------------------------------------------------
 
 If there is no incoming `CamelFileName` message header (for example, if
-the link:file2.html[file component] is not the consumer), then the
+the file component is not the consumer), then the
 message ID is used by default, and since the message ID is normally a
 unique generated ID, you will end up with filenames like
 `ID-MACHINENAME-2443-1211718892437-1-0.tar`. If you want to override
@@ -152,7 +152,7 @@ To use Tar Files in your camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your `pom.xml`,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc b/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
index ca63b8f..f7dd187 100644
--- a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
+++ b/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
@@ -6,9 +6,9 @@ camel-test-blueprint does only support testing _one_ CamelContext. So
 if you have two or more CamelContexts in your blueprint XML files, then
 only the CamelContext first found is used during testing.
 
-link:testing.html[Testing] is a crucial part of any development or
+Testing is a crucial part of any development or
 integration work. Camel supports the definition of
-link:using-osgi-blueprint-with-camel.html[Blueprint routes], but given
+Blueprint routes, but given
 that Blueprint is an OSGi specific technology, writing unit tests is
 quite difficult. This library leverages
 http://code.google.com/p/pojosr/[PojoSR] (now Felix Connect) which
diff --git a/components/camel-test-cdi/src/main/docs/test-cdi.adoc b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
index bfb0842..238f5d6 100644
--- a/components/camel-test-cdi/src/main/docs/test-cdi.adoc
+++ b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
@@ -282,7 +282,7 @@ of dependencies:
 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
-link:rest-dsl.html[REST DSL] configured with the
+REST DSL configured with the
 <<servlet-component,Servlet component>>, you need to create a Web archive,
 e.g.:
 
@@ -630,7 +630,7 @@ public class CamelCdiTest {
 
 In that example, the custom Camel context bean declared in the test
 class will be used during the test execution instead of the default
-Camel context bean provided by the link:cdi.html[Camel CDI component].
+Camel context bean provided by the Camel CDI component.
 
 [[CDITesting-RoutesadvisingwithadviceWith]]
 Routes advising with `adviceWith`
@@ -740,7 +740,7 @@ public class CamelCdiTest {
 See Also
 ^^^^^^^^
 
-* link:cdi.html[CDI component]
+* CDI component
 * http://arquillian.org[Arquillian Web site]
 * http://arquillian.org/modules/descriptors-shrinkwrap/[ShrinkWrap
 Descriptors]
diff --git a/components/camel-test/src/main/docs/test.adoc b/components/camel-test/src/main/docs/test.adoc
index 9cf61e3..c53b3de 100644
--- a/components/camel-test/src/main/docs/test.adoc
+++ b/components/camel-test/src/main/docs/test.adoc
@@ -2,14 +2,14 @@
 Test Component
 ~~~~~~~~~~~~~~
 
-link:testing.html[Testing] of distributed and asynchronous processing is
+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
-link:testing.html[Camel Testing Framework] to simplify your unit and
+Camel Testing Framework to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's large range of link:components.html[Components]
-together with the powerful link:bean-integration.html[Bean Integration].
+Patterns] and Camel's large range of Components
+together with the powerful Bean Integration.
 
 The *test* component extends the <<mock-component,Mock>> component to
 support pulling messages from another endpoint on startup to set the
@@ -49,7 +49,7 @@ test:expectedMessagesEndpointUri
 --------------------------------
 
 Where *expectedMessagesEndpointUri* refers to some other
-link:component.html[Component] URI that the expected message bodies are
+Component URI that the expected message bodies are
 pulled from before starting the test.
 
 [[Test-URIOptions]]
@@ -100,10 +100,10 @@ To see how you can set other expectations on the test endpoint, see the
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:spring-testing.html[Spring Testing]
+* Spring Testing
 
diff --git a/components/camel-thrift/src/main/docs/thrift-component.adoc b/components/camel-thrift/src/main/docs/thrift-component.adoc
index f9d3dc9..4079bbb 100644
--- a/components/camel-thrift/src/main/docs/thrift-component.adoc
+++ b/components/camel-thrift/src/main/docs/thrift-component.adoc
@@ -155,7 +155,7 @@ https://thrift.apache.org/tutorial/java [Apache Thrift Java tutorial]
 
 ### See Also
 
-* link:getting-started.html[Getting Started]
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
\ No newline at end of file
+* Getting Started
+* Configuring Camel
+* Component
+* Endpoint
\ No newline at end of file
diff --git a/components/camel-thrift/src/main/docs/thrift-dataformat.adoc b/components/camel-thrift/src/main/docs/thrift-dataformat.adoc
index 67f00f0..d836621 100644
--- a/components/camel-thrift/src/main/docs/thrift-dataformat.adoc
+++ b/components/camel-thrift/src/main/docs/thrift-dataformat.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.20*
 
 
-Camel provides a link:data-format.html[Data Format] to serialize between
+Camel provides a Data Format to serialize between
 Java and the Apache Thrift . The project's site details why
 you may wish to
 https://thrift.apache.org/.
@@ -92,7 +92,7 @@ The generated classes implement org.apache.thrift.TBase which is required
 by the serialization mechanism. For this reason it important that only
 these classes are used in the body of your exchanges.
 Camel will throw an exception on route creation if you attempt to tell 
-the link:data-format.html[Data Format] to use a class that does not implement 
+the Data Format to use a class that does not implement 
 org.apache.thrift.TBase.
 
 ### Java DSL
diff --git a/components/camel-tika/src/main/docs/tika-component.adoc b/components/camel-tika/src/main/docs/tika-component.adoc
index 633390e..6fbceae 100644
--- a/components/camel-tika/src/main/docs/tika-component.adoc
+++ b/components/camel-tika/src/main/docs/tika-component.adoc
@@ -99,7 +99,7 @@ from("direct:start")
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-twitter/src/main/docs/twitter-component.adoc b/components/camel-twitter/src/main/docs/twitter-component.adoc
index 5713baa..6123583 100644
--- a/components/camel-twitter/src/main/docs/twitter-component.adoc
+++ b/components/camel-twitter/src/main/docs/twitter-component.adoc
@@ -299,9 +299,9 @@ Example].
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:twitter-websocket-example.html[Twitter Websocket Example]
\ No newline at end of file
+* Twitter Websocket Example
\ No newline at end of file
diff --git a/components/camel-twitter/src/main/docs/twitter.adoc b/components/camel-twitter/src/main/docs/twitter.adoc
index cd6d3b4..2677a29 100644
--- a/components/camel-twitter/src/main/docs/twitter.adoc
+++ b/components/camel-twitter/src/main/docs/twitter.adoc
@@ -146,9 +146,9 @@ Example].
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
-* link:twitter-websocket-example.html[Twitter Websocket Example]
+* Twitter Websocket Example
diff --git a/components/camel-undertow/src/main/docs/undertow-component.adoc b/components/camel-undertow/src/main/docs/undertow-component.adoc
index c6eb16d..dd6b3b6 100644
--- a/components/camel-undertow/src/main/docs/undertow-component.adoc
+++ b/components/camel-undertow/src/main/docs/undertow-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.16*
 
 The *undertow* component provides HTTP-based
-link:endpoint.html[endpoints] for consuming and producing HTTP requests.
+endpoints for consuming and producing HTTP requests.
 That is, the Undertow component behaves as a simple Web server. +
  Undertow can also be used as a http client which mean you can also use
 it with Camel as a producer.
@@ -185,10 +185,10 @@ Transport].
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<jetty-component,Jetty>>
 * <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc b/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
index 050e629..8218edc 100644
--- a/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
+++ b/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
@@ -105,8 +105,8 @@ uri.
 Using load balancing eip
 ++++++++++++++++++++++++
 
-You can also use Camel's link:load-balancer.html[Load Balancer] together
-with link:urlrewrite.html[UrlRewrite], as shown below. In this code we
+You can also use Camel's Load Balancer together
+with UrlRewrite, as shown below. In this code we
 use the failover load balancer, to failover to the 2nd endpoint (which
 goes to myapp3) in case of any exception thrown.
 
@@ -177,10 +177,10 @@ the url doesn't start with the endpoint configured path.
 See Also
 ^^^^^^^^
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<jetty-component,Jetty>>
 * <<http4-component,HTTP4>>
diff --git a/components/camel-velocity/src/main/docs/velocity-component.adoc b/components/camel-velocity/src/main/docs/velocity-component.adoc
index 39f42fd..3a21257 100644
--- a/components/camel-velocity/src/main/docs/velocity-component.adoc
+++ b/components/camel-velocity/src/main/docs/velocity-component.adoc
@@ -5,7 +5,7 @@
 
 The *velocity:* component allows you to process a message using an
 http://velocity.apache.org/[Apache Velocity] template. This can be ideal
-when using link:templating.html[Templating] to generate responses for
+when using Templating to generate responses for
 requests.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -266,7 +266,7 @@ And the java code:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-vertx/src/main/docs/vertx-component.adoc b/components/camel-vertx/src/main/docs/vertx-component.adoc
index f35ed71e..17c400d 100644
--- a/components/camel-vertx/src/main/docs/vertx-component.adoc
+++ b/components/camel-vertx/src/main/docs/vertx-component.adoc
@@ -110,7 +110,7 @@ camelContext.addComponent("vertx", vertxComponent);
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-websocket/src/main/docs/websocket-component.adoc b/components/camel-websocket/src/main/docs/websocket-component.adoc
index e319b22..27e0ca2 100644
--- a/components/camel-websocket/src/main/docs/websocket-component.adoc
+++ b/components/camel-websocket/src/main/docs/websocket-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.10*
 
 The *websocket* component provides websocket
-link:endpoint.html[endpoints] for communicating with clients using
+endpoints for communicating with clients using
 websocket. The component uses Eclipse Jetty Server which implements the
 http://tools.ietf.org/html/rfc6455[IETF] specification (drafts and RFC
 6455). It supports the protocols ws:// and wss://. To use wss://
@@ -238,13 +238,13 @@ Java DSL based configuration of endpoint
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
 
 * <<ahc-component,AHC>>
 * <<jetty-component,Jetty>>
-* link:twitter-websocket-example.html[Twitter Websocket Example]
+* 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.
\ No newline at end of file
diff --git a/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc b/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
index b72f3c0..681366d 100644
--- a/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
+++ b/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.2*
 
-XmlBeans is a link:data-format.html[Data Format] which uses the
+XmlBeans is a Data Format which uses the
 http://xmlbeans.apache.org/[XmlBeans library] to unmarshal an XML
 payload into Java objects or to marshal Java objects into an XML
 payload.
@@ -37,7 +37,7 @@ To use XmlBeans in your camel routes you need to add the dependency on
 
 If you use maven you could just add the following to your pom.xml,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
index bbfd429..cb29ff8 100644
--- a/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
+++ b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
@@ -157,7 +157,7 @@ this data format is available from Camel 2.10 onwards, so only schemas
 from that version onwards will include these new XML elements and
 attributes.
 
-The syntax with link:using-osgi-blueprint-with-camel.html[Blueprint] is
+The syntax with Blueprint is
 identical to that of the Spring DSL. Just ensure the correct namespaces
 and schemaLocations are in use.
 
@@ -275,5 +275,5 @@ license with ASF; so add this manually -->
 
 ### See Also
 
-* link:data-format.html[Data Format]
+* Data Format
 * http://json-lib.sourceforge.net/[json-lib]
\ No newline at end of file
diff --git a/components/camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc b/components/camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc
index 934a054..7b8fcce 100644
--- a/components/camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc
+++ b/components/camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc
@@ -7,7 +7,7 @@ The XMLSecurity Data Format facilitates encryption and decryption of XML
 payloads at the Document, Element, and Element Content levels (including
 simultaneous multi-node encryption/decryption using XPath). To sign
 messages using the XML Signature specification, please see the Camel XML
-Security link:xml-security-component.html[component].
+Security component.
 
 The encryption capability is based on formats supported using the Apache
 XML Security (Santuario) project. Symmetric encryption/decryption is
diff --git a/components/camel-xmpp/src/main/docs/xmpp-component.adoc b/components/camel-xmpp/src/main/docs/xmpp-component.adoc
index beb7e7e..d3cac63 100644
--- a/components/camel-xmpp/src/main/docs/xmpp-component.adoc
+++ b/components/camel-xmpp/src/main/docs/xmpp-component.adoc
@@ -162,7 +162,7 @@ from("direct:start").
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-xstream/src/main/docs/json-xstream-dataformat.adoc b/components/camel-xstream/src/main/docs/json-xstream-dataformat.adoc
index 4ad3879..e142978 100644
--- a/components/camel-xstream/src/main/docs/json-xstream-dataformat.adoc
+++ b/components/camel-xstream/src/main/docs/json-xstream-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.0*
 
-XStream is a link:data-format.html[Data Format] which uses the
+XStream is a Data Format which uses the
 http://xstream.codehaus.org/[XStream library] to marshal and unmarshal
 Java objects to and from XML.
 
diff --git a/components/camel-xstream/src/main/docs/xstream-dataformat.adoc b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
index 20324a1..85c1bdf 100644
--- a/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
+++ b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 1.3*
 
-XStream is a link:data-format.html[Data Format] which uses the
+XStream is a Data Format which uses the
 http://xstream.codehaus.org/[XStream library] to marshal and unmarshal
 Java objects to and from XML.
 
diff --git a/components/camel-yammer/src/main/docs/yammer-component.adoc b/components/camel-yammer/src/main/docs/yammer-component.adoc
index 3a66b7f..68567bf 100644
--- a/components/camel-yammer/src/main/docs/yammer-component.adoc
+++ b/components/camel-yammer/src/main/docs/yammer-component.adoc
@@ -358,7 +358,7 @@ the Camel message body.
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc b/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
index 204d045..4d48db3 100644
--- a/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
+++ b/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.11*
 
-The Zip File link:data-format.html[Data Format] is a message compression
+The Zip File Data Format is a message compression
 and de-compression format. Messages can be marshalled (compressed) to
 Zip files containing a single entry, and Zip files containing a single
 entry can be unmarshalled (decompressed) to the original file contents.
@@ -41,7 +41,7 @@ from("direct:start")
 
 The name of the Zip entry inside the created Zip file is based on the
 incoming `CamelFileName` message header, which is the standard message
-header used by the link:file2.html[file component]. Additionally, the
+header used by the file component. Additionally, the
 outgoing `CamelFileName` message header is automatically set to the
 value of the incoming `CamelFileName` message header, with the ".zip"
 suffix. So for example, if the following route finds a file named
@@ -56,7 +56,7 @@ from("file:input/directory?antInclude=*/.txt")
 ----
 
 If there is no incoming `CamelFileName` message header (for example, if
-the link:file2.html[file component] is not the consumer), then the
+the file component is not the consumer), then the
 message ID is used by default, and since the message ID is normally a
 unique generated ID, you will end up with filenames like
 `ID-MACHINENAME-2443-1211718892437-1-0.zip`. If you want to override
@@ -151,7 +151,7 @@ To use Zip files in your camel routes you need to add a dependency on
 
 If you use Maven you can just add the following to your `pom.xml`,
 substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
+the download page for the latest versions).
 
 [source,xml]
 ----
diff --git a/components/camel-zipkin/src/main/docs/zipkin.adoc b/components/camel-zipkin/src/main/docs/zipkin.adoc
index 89d3722..e326c54 100644
--- a/components/camel-zipkin/src/main/docs/zipkin.adoc
+++ b/components/camel-zipkin/src/main/docs/zipkin.adoc
@@ -19,7 +19,7 @@ The mapping can be configured using:
 * endpoint url - A Camel endpoint url
 
 For both kinds you can match using wildcards and regular expressions,
-using the rules from link:intercept.html[Intercept].
+using the rules from Intercept.
 
 To match all Camel messages you can use * in the pattern and configure
 that to the same service name.
@@ -63,15 +63,15 @@ zipkin server.
 
 |clientServiceMappings |  | Sets the *client* service mappings that matches Camel events to the
 given zipkin service name. The content is a Map<String, String> where the key is a pattern and the
-value is the service name. The pattern uses the rules from link:intercept.html[Intercept].
+value is the service name. The pattern uses the rules from Intercept.
 
 |serverServiceMappings |  | Sets the *server* service mappings that matches Camel events to the
 given zipkin service name. The content is a Map<String, String> where the key is a pattern and the
-value is the service name. The pattern uses the rules from link:intercept.html[Intercept].
+value is the service name. The pattern uses the rules from Intercept.
 
 |excludePatterns |  | Sets exclude pattern(s) that will disable tracing with zipkin for Camel
 messages that matches the pattern. The content is a Set<String> where the key is a pattern. The pattern
-uses the rules from link:intercept.html[Intercept].
+uses the rules from Intercept.
 
 |includeMessageBody |false |Whether to include the Camel message body in the zipkin traces.
 This is not recommended for production usage, or when having big
@@ -80,7 +80,7 @@ link:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html[max
 debug log size]. 
 
 |includeMessageBodyStreams |false |Whether to include message bodies that are stream based in the zipkin
-traces. This requires enabling streamlink:stream-caching.html[caching] on the
+traces. This requires enabling streamcaching on the
 routes or globally on the CamelContext. This is not recommended for production usage, or when having big
 payloads. You can limit the size by configuring the
 link:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html[max
@@ -256,7 +256,7 @@ uris.
 camel-zipin-starter
 ^^^^^^^^^^^^^^^^^^^
 
-If you are using link:spring-boot.html[Spring Boot] then you can add
+If you are using Spring Boot then you can add
 the `camel-zipkin-starter` dependency, and turn on zipkin by annotating
 the main class with `@CamelZipkin`. You can then configure camel-zipkin
 in the `application.properties` file where you can configure the
diff --git a/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc b/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
index f36c2c3..8e8226c 100644
--- a/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
+++ b/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
@@ -144,7 +144,7 @@ A little example
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc b/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
index 3d89be2..e9c9d16 100644
--- a/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
+++ b/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
@@ -12,7 +12,7 @@ following features to Camel:
 being set must be convertible to `byte[]`).
 3.  Create and retrieve the list the child nodes attached to a
 particular node.
-4.  A Distributed link:routepolicy.html[`RoutePolicy`] that leverages a
+4.  A Distributed `RoutePolicy` that leverages a
 Leader election coordinated by ZooKeeper to determine if exchanges
 should get processed.
 
@@ -221,7 +221,7 @@ template.sendBodyAndHeader("direct:create-and-write-to-persistent-znode", testPa
 
 ZooKeeper allows for very simple and effective leader election out of
 the box. This component exploits this election capability in a
-link:routepolicy.html[`RoutePolicy`] to control when and how routes are
+`RoutePolicy` to control when and how routes are
 enabled. This policy would typically be used in fail-over scenarios, to
 control identical instances of a route across a cluster of Camel based
 servers. A very common scenario is a simple 'Master-Slave' setup where
@@ -277,7 +277,7 @@ There are currently 3 policies defined in the component, with different SLAs:
 
 ### See Also
 
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
\ No newline at end of file
diff --git a/docs/user-manual/en/architecture.adoc b/docs/user-manual/en/architecture.adoc
index b789485..6313b4a 100644
--- a/docs/user-manual/en/architecture.adoc
+++ b/docs/user-manual/en/architecture.adoc
@@ -3,8 +3,8 @@ Architecture
 ~~~~~~~~~~~~
 
 Camel uses a Java based link:dsl.html[Routing Domain Specific Language
-(DSL)] or an link:xml-configuration.html[Xml Configuration] to configure
-link:routes.html[routing and mediation rules] which are added to a
+(DSL)] or an Xml Configuration to configure
+routing and mediation rules which are added to a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html[CamelContext]
 to implement the various
 link:enterprise-integration-patterns.html[Enterprise Integration
@@ -12,27 +12,27 @@ Patterns].
 
 At a high level Camel consists of a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html[CamelContext]
-which contains a collection of link:component.html[Component] instances.
-A link:component.html[Component] is essentially a factory of
-link:endpoint.html[Endpoint] instances. You can explicitly configure
-link:component.html[Component] instances in Java code or an IoC
+which contains a collection of Component instances.
+A Component is essentially a factory of
+Endpoint instances. You can explicitly configure
+Component instances in Java code or an IoC
 container like Spring or Guice, or they can be auto-discovered using
-link:uris.html[URIs].
+URIs.
 
-An link:endpoint.html[Endpoint] acts rather like a URI or URL in a web
+An Endpoint acts rather like a URI or URL in a web
 application or a Destination in a JMS system; you can communicate with
 an endpoint; either sending messages to it or consuming messages from
 it. You can then create a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
 or
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Consumer.html[Consumer]
-on an link:endpoint.html[Endpoint] to exchange messages with it.
+on an Endpoint to exchange messages with it.
 
-The link:dsl.html[DSL] makes heavy use of pluggable
-link:languages.html[Languages] to create an
-link:expression.html[Expression] or link:predicate.html[Predicate] to
+The DSL makes heavy use of pluggable
+Languages to create an
+Expression or Predicate to
 make a truly powerful DSL which is extensible to the most suitable
-language depending on your needs. Many of the link:languages.html[Languages] 
+language depending on your needs. Many of the Languages 
 are also supported as
 link:annotation-based-expression-language.html[Annotation Based
 Expression Language].
diff --git a/docs/user-manual/en/async.adoc b/docs/user-manual/en/async.adoc
index 961ae70..82146c8 100644
--- a/docs/user-manual/en/async.adoc
+++ b/docs/user-manual/en/async.adoc
@@ -7,17 +7,17 @@ Async
 The asynchronous API in Camel have been rewritten for Camel 2.0, and the
 information on this page applies for Camel 2.0 and later.
 
-The link:async.html[Async] API in Camel is primarily divided in two
+The Async API in Camel is primarily divided in two
 areas +
- 1. Initiating an link:async.html[Async] messaging from the client +
- 2. Turning a route into link:async.html[Async] using the *threads*
-link:dsl.html[DSL]
+ 1. Initiating an Async messaging from the client +
+ 2. Turning a route into Async using the *threads*
+DSL
 
 Before we look at these two areas we start with a bit of background
 information and looks at the concept from at a higher level using
 diagrams. +
  Then we check out the first area how a client can initiate an
-link:async.html[Async] message exchange and we also throw in the
+Async message exchange and we also throw in the
 synchronous message exchange in the mix as well so we can compare and
 distill the difference. +
  And finally we turn our attention towards the last area the new
@@ -27,10 +27,10 @@ distill the difference. +
 Background
 ~~~~~~~~~~
 
-The new link:async.html[Async] API in Camel 2.0 leverages in much
+The new Async API in Camel 2.0 leverages in much
 greater detail the Java Concurrency API and its support for executing
 tasks asynchronous. +
- Therefore the Camel link:async.html[Async] API should be familiar for
+ Therefore the Camel Async API should be familiar for
 users with knowledge of the Java Concurrency API.
 
 [[Async-Afewconceptstomaster]]
@@ -41,22 +41,22 @@ When doing messaging there are a few aspects to keep in mind.
 
 First of all a caller can initiate a message exchange as either:
 
-* link:event-message.html[Request only]
-* link:request-reply.html[Request Reply]
+* Request only
+* Request Reply
 
-link:event-message.html[Request only] is when the caller sends a message
+Request only is when the caller sends a message
 but do *not* expect any reply. This is also known as fire and forget or
 event message.
 
-The link:request-reply.html[Request Reply] is when the caller sends a
+The Request Reply is when the caller sends a
 message and then *waits for a reply*. This is like the
 <<http-component,HTTP>> protocol that we use every day when we surf the
 web. We send a request to fetch a web page and wait until the reply message
 comes with the web content.
 
 In Camel a message is labeled with a Message
-link:exchange-pattern.html[Exchange Pattern] that labels whether its a
-request only or request reply message. Camel uses the link:jbi.html[JBI]
+Exchange Pattern that labels whether its a
+request only or request reply message. Camel uses the JBI
 term for this an uses `InOnly` for the request only, and `InOut` for the
 request reply.
 
@@ -75,11 +75,11 @@ diagram below:
 
 image:async.data/camel_sync_request_reply.png[image]
 
-\1. The client sends a sync link:request-reply.html[Request Reply]
+\1. The client sends a sync Request Reply
 message over <<http-component,HTTP>> to Camel. The client application will
 wait for the response that Camel routes and processes. +
  2. The message invokes an external <<mina-component,TCP>> service using
-synchronous link:request-reply.html[Request Reply]. The client
+synchronous Request Reply. The client
 application still waits for the response. +
  3. The response is send back to the client.
 
@@ -88,7 +88,7 @@ Asynchronous Request Reply
 ++++++++++++++++++++++++++
 
 On the other hand the asynchronous version is where the caller sends a
-message to an link:endpoint.html[Endpoint] and then returns immediately
+message to an Endpoint and then returns immediately
 back to the caller. The message however is processed in another thread,
 the asynchronous thread. Then the caller can continue doing other work
 and at the same time the asynchronous thread is processing the message.
@@ -96,12 +96,12 @@ This is illustrated in the diagram below:
 
 image:async.data/camel_async_request_reply.png[image]
 
- 1. The client sends an link:async.html[Async]
-link:request-reply.html[Request Reply] message over link:http.html[HTTP]
+ 1. The client sends an Async
+Request Reply message over HTTP
 to Camel. The control is immediately returned to the client application,
 that can continue and do other work while Camel routes the message. +
  2. Camel invokes an external <<mina-component,TCP>> service using
-synchronous link:request-reply.html[Request Reply]. The client
+synchronous Request Reply. The client
 application can do other work simultaneously. +
  3. The client wants to get the reply so it uses the Future handle it
 got as _response_ from step 1. With this handle it retrieves the reply,
@@ -111,18 +111,18 @@ wait if nessasary if the reply is not ready.
 Synchronous Request Only
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-You can also do synchronous link:event-message.html[Request only] with
+You can also do synchronous Request only with
 Camel. The client sends a message to Camel in which a reply is not
 expected. However the client still waits until the message is processed
 completely. This is illustrated in the diagram below:
 
 image:async.data/camel_sync_request_only.png[image]
 
-\1. The client sends a link:event-message.html[Request only] and we can
+\1. The client sends a Request only and we can
 still use <<http-component,HTTP>> despite http being
-link:request-reply.html[Request Reply] by nature. +
+Request Reply by nature. +
  2. Camel invokes an external <<mina-component,TCP>> service using
-synchronous link:request-reply.html[Request Reply]. The client
+synchronous Request Reply. The client
 application is still waiting. +
  3. The message is processed completely and the control is returned to
 the client.
@@ -139,33 +139,33 @@ In case of failure the client can detect this as an exception is thrown.
 Asynchronous Request Only
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-As opposed to the synchronous link:event-message.html[Request Only] the
-link:async.html[Async] counter part will *not* wait for the processing
+As opposed to the synchronous Request Only the
+Async counter part will *not* wait for the processing
 of the message to complete. In this case the client can immediately
 continue doing other work while the message is being routed and
 processed in Camel. This is illustrated in the diagram below:
 
 image:async.data/camel_async_request_only.png[image]
 
-\1. The client sends a link:event-message.html[Request only] and we can
+\1. The client sends a Request only and we can
 still use <<http-component,HTTP>> despite http being
-link:request-reply.html[Request Reply] by nature. The control is
+Request Reply by nature. The control is
 immediately returned to the client application, that can continue and do
 other work while Camel routes the message. +
  2. Camel invokes an external <<mina-component,TCP>> service using
-synchronous link:request-reply.html[Request Reply]. The client
+synchronous Request Reply. The client
 application can do other work simultaneously. +
  3. The message completes but no result is returned to the client.
 
 *Notice:* As Camel always returns a `Future` handle for
-link:async.html[Async] messaging to the client. The client can use this
+Async messaging to the client. The client can use this
 handler to get hold of the status of the processing whether the task is
 complete or an Exception occured during processing. Note that the client
 is not required to do so, its perfect valid to just ignore the Future
 handle.
 
-TIP: In case you want to know whether the link:async.html[Async]
-link:event-message.html[Request Only] failed, then you can use the
+TIP: In case you want to know whether the Async
+Request Only failed, then you can use the
 `Future` handle and invoke `get()` and if it throws a
 `ExecutionException` then the processing failed. The caused exception is
 wrapped. You can invoke `isDone()` first to test whether the task is
@@ -173,13 +173,13 @@ done or still in progress. Otherwise invoking `get()` will wait until
 the task is done.
 
 With these diagrams in mind lets turn out attention to the
-link:async.html[Async] API and how to use it with Camel.
+Async API and how to use it with Camel.
 
 [[Async1TheClientAPI]]
 The Async Client API
 ~~~~~~~~~~~~~~~~~~~~
 
-Camel provides the link:async.html[Async] Client API in the
+Camel provides the Async Client API in the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html[ProducerTemplate]
 where we have added about 10 new methods to Camel 2.0. We have listed
 the most important in the table below:
@@ -192,7 +192,7 @@ the most important in the table below:
 ScheduledExecutorService with 5 thread in the pool.
 
 |asyncSend |Future<Exchange> |Is used to send an async exchange to a Camel
-link:endpoint.html[Endpoint]. Camel will imeddiately return control to
+Endpoint. Camel will imeddiately return control to
 the caller thread after the task has been submitted to the executor
 service. This allows you to do other work while Camel processes the
 exchange in the other async thread.
@@ -201,7 +201,7 @@ exchange in the other async thread.
 style so no reply is expected. Uses the `InOnly` exchange pattern.
 
 |asyncRequestBody |Future<Object> |As above but for sending body only. This is a
-link:request-reply.html[Request Reply] messaging style so a reply is
+Request Reply messaging style so a reply is
 expected. Uses the `InOut` exchange pattern.
 
 |extractFutureBody |T |Is used to get the result from the asynchronous thread using the Java
@@ -214,12 +214,12 @@ response. You can do this by using the `extractFutureBody` method, or
 just use plain Java but invoke `get()` on the `Future` handle.
 
 [[Async-TheClientAPIwithcallbacks]]
-The link:async.html[Async] Client API with callbacks
+The Async Client API with callbacks
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 In addition to the Client API from above Camel provides a variation that
-uses link:oncompletion.html[callbacks] when the message
-link:exchange.html[Exchange] is done.
+uses callbacks when the message
+Exchange is done.
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -233,13 +233,13 @@ when the message exchange is done.
 style so no reply is expected. Uses the `InOnly` exchange pattern.
 
 |asyncCallbackRequestBody |Future<Object> |As above but for sending body only. This is a
-link:request-reply.html[Request Reply] messaging style so a reply is
+Request Reply messaging style so a reply is
 expected. Uses the `InOut` exchange pattern.
 |=======================================================================
 
 These methods also returns the Future handle in case you need them. The
 difference is that they invokes the callback as well when the
-link:exchange.html[Exchange] is done being routed.
+Exchange is done being routed.
 
 [[Async-TheFutureAPI]]
 The Future API
@@ -267,7 +267,7 @@ Example: Asynchronous Request Reply
 Suppose we want to call a <<http-component,HTTP>> service but it is usually
 slow and thus we do not want to block and wait for the response, as we
 can do other important computation. So we can initiate an
-link:async.html[Async] exchange to the link:http.html[HTTP] endpoint and
+Async exchange to the HTTP endpoint and
 then do other stuff while the slow <<http-component,HTTP>> service is
 processing our request. And then a bit later we can use the `Future`
 handle to get the response from the <<http-component,HTTP>> service. Yeah
@@ -284,20 +284,20 @@ get the responses from both of them. As the code is based on unit test
 there is a bit of mock in there as well:
 
 All together it should give you the basic idea how to use this
-link:async.html[Async] API and what it can do.
+Async API and what it can do.
 
 [[Async-Example:SynchronousRequestReply]]
 Example: Synchronous Request Reply
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 This example is just to a pure synchronous version of the example from
-above that was link:async.html[Async] based.
+above that was Async based.
 
 The route is the same, so its just how the client initiate and send the
 messages that differs:
 
 [[Async-UsingtheAPIwithcallbacks]]
-Using the link:async.html[Async] API with callbacks
+Using the Async API with callbacks
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Suppose we want to call a <<http-component,HTTP>> service but it is usually
@@ -314,23 +314,23 @@ based on an unit test it just gathers the responses in a list. This is a
 shared callback we use for every request we send in, but you can use
 your own individual or use an anonymous callback. The callback supports
 different methods, but we use `onDone` that is invoked regardless if the
-link:exchange.html[Exchange] was processed successfully or failed. The
+Exchange was processed successfully or failed. The
 `org.apache.camel.spi.Synchronization` API provides fine grained methods
 for `onCompletion` and `onFailure` for the two situations.
 
 And then we have the client API where we call the <<http-component,HTTP>>
 service using `asyncCallback` 3 times with different input. As the
-invocation is link:async.html[Async] the client will send 3 requests
+invocation is Async the client will send 3 requests
 right after each other, so we have 3 concurrent exchanges in progress.
 The response is gathered by our callback so we do not have to care how
 to get the response.
 
 [[Async-UsingtheAPIwiththeCamelclassicAPI]]
-Using the link:async.html[Async] API with the Camel classic API
+Using the Async API with the Camel classic API
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 When using the Camel API to create a producer and send an
-link:exchange.html[Exchange] we do it like this:
+Exchange we do it like this:
 
 [source,java]
 ---------------------------------------------------------------------------
@@ -343,7 +343,7 @@ Producer producer = endpoint.createProducer();
 producer.process(exchange);
 ---------------------------------------------------------------------------
 
-But to do the same with link:async.html[Async] we need a little help
+But to do the same with Async we need a little help
 from a helper class, so the code is:
 
 [source,java]
@@ -375,12 +375,12 @@ Camel 2.0 to 2.3 behavior
 
 The `threads` DSL leverages the JDK concurrency framework for multi
 threading. It can be used to turn a synchronous route into
-link:async.html[Async]. What happens is that from the point forwards
+Async. What happens is that from the point forwards
 from `threads` the messages is routed asynchronous in a new thread. The
 caller will either wait for a reply if a reply is expected, such as when
-we use link:request-reply.html[Request Reply] messaging. Or the caller
+we use Request Reply messaging. Or the caller
 will complete as well if no reply was expected such as
-link:event-message.html[Request Only] messaging.
+Request Only messaging.
 
 [[Async-Camel2.4onwardsbehavior]]
 Camel 2.4 onwards behavior
@@ -388,11 +388,11 @@ Camel 2.4 onwards behavior
 
 The `threads` DSL leverages the JDK concurrency framework for multi
 threading. It can be used to turn a synchronous route into
-link:async.html[Async]. What happens is that from the point forwards
+Async. What happens is that from the point forwards
 from `threads` the messages is routed asynchronous in a new thread.
 Camel leverages the link:asynchronous-processing.html[asynchronous
 routing engine], which was re-introduced in Camel 2.4, to continue
-routing the link:exchange.html[Exchange] asynchronously.
+routing the Exchange asynchronously.
 
 The `threads` DSL supports the following options:
 
@@ -402,7 +402,7 @@ The `threads` DSL supports the following options:
 
 |poolSize |A number to indicate the core pool size of the underlying Java
 `ExecutorService` that is actually doing all the heavy lifting of
-handling link:async.html[Async] tasks and correlate replies etc. By
+handling Async tasks and correlate replies etc. By
 default a pool size of 10 is used.
 
 |maxPoolSize |A number to indicate the maximum pool size of the of the underlying Java
@@ -416,7 +416,7 @@ default a pool size of 10 is used.
 queue for the underlying Java `ExecutorService`
 
 |threadName |To use a custom thread name pattern. See
-link:threading-model.html[Threading Model] for more details.
+Threading Model for more details.
 
 |rejectedPolicy |How to handle rejected tasks. Can be either `Abort`, `CallerRuns`,
 `Discard`, or `DiscardOldest`. See below for more details.
@@ -440,7 +440,7 @@ configured already.
 should wait for the async task to be complete or not before continuing.
 The following 3 options is supported: *Always*, *Never* or
 *IfReplyExpected*. The first two options is self explained. The last
-will only wait if the message is link:request-reply.html[Request Reply]
+will only wait if the message is Request Reply
 based. The default option is *IfReplyExpected*.
 |=======================================================================
 
@@ -458,16 +458,16 @@ but also give time for the thread pool to process its current tasks,
 without adding more tasks - sort of self throttling. This is the default
 behavior. If setting `callerRunsWhenRejected` you use the `Abort`
 policy, which mean the task is rejected, and a
-`RejectedExecutionException` is set on the link:exchange.html[Exchange],
-and the link:exchange.html[Exchange] will stop continue being routed,
+`RejectedExecutionException` is set on the Exchange,
+and the Exchange will stop continue being routed,
 and its `UnitOfWork` will be regarded as failed.
 
 The other options `Discard` and `DiscardOldest` works a bit like
... 2903 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
acosentino@apache.org.

[camel] 01/04: CAMEL-12246 Fixed a duplicate ID in the AsciiDoc source

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2f368e5805d6d341627c141a5a2e94ae5085f078
Author: Fintan Bolton <fb...@redhat.com>
AuthorDate: Thu Feb 8 18:13:29 2018 +0100

    CAMEL-12246 Fixed a duplicate ID in the AsciiDoc source
---
 components/camel-quickfix/src/main/docs/quickfix-component.adoc | 3 +--
 components/camel-rx/src/main/docs/rx.adoc                       | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index f103c88..d9b142c 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -1,6 +1,5 @@
 [[quickfix-component]]
 == QuickFix Component
-[[ConfluenceContent]]
 *Available as of Camel version 2.1.0*
 
 ### QuickFIX/J Component
@@ -597,4 +596,4 @@ Direction : from FIX gateway
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]
diff --git a/components/camel-rx/src/main/docs/rx.adoc b/components/camel-rx/src/main/docs/rx.adoc
index 2235f61..591e161 100644
--- a/components/camel-rx/src/main/docs/rx.adoc
+++ b/components/camel-rx/src/main/docs/rx.adoc
@@ -1,4 +1,3 @@
-[[ConfluenceContent]]
 [[RX-CamelRX]]
 Camel RX (deprecated)
 ---------------------

-- 
To stop receiving notification emails like this one, please contact
acosentino@apache.org.

[camel] 02/04: CAMEL-12246 Replaced file links with AsciiDoc internal cross references

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1a9242c4e18b905a294c3fbf95f4f5a78a6b952e
Author: Fintan Bolton <fb...@redhat.com>
AuthorDate: Fri Feb 9 11:56:09 2018 +0100

    CAMEL-12246 Replaced file links with AsciiDoc internal cross references
---
 camel-core/src/main/docs/bean-component.adoc       |  6 +--
 camel-core/src/main/docs/bean-language.adoc        |  4 +-
 camel-core/src/main/docs/class-component.adoc      |  8 ++--
 camel-core/src/main/docs/controlbus-component.adoc | 14 +++----
 camel-core/src/main/docs/dataformat-component.adoc |  2 +-
 camel-core/src/main/docs/dataset-component.adoc    |  6 +--
 camel-core/src/main/docs/direct-component.adoc     | 10 ++---
 camel-core/src/main/docs/direct-vm-component.adoc  | 10 ++---
 camel-core/src/main/docs/dynamic-router.adoc       |  8 ++--
 camel-core/src/main/docs/eips/aggregate-eip.adoc   |  2 +-
 camel-core/src/main/docs/eips/bean-eip.adoc        |  6 +--
 .../src/main/docs/eips/correlation-identifier.adoc |  4 +-
 .../src/main/docs/eips/dead-letter-channel.adoc    |  2 +-
 camel-core/src/main/docs/eips/event-message.adoc   |  4 +-
 .../src/main/docs/eips/guaranteed-delivery.adoc    | 12 +++---
 .../src/main/docs/eips/idempotentConsumer-eip.adoc | 12 +++---
 camel-core/src/main/docs/eips/log-eip.adoc         |  6 +--
 camel-core/src/main/docs/eips/message-bus.adoc     |  2 +-
 camel-core/src/main/docs/eips/message-channel.adoc |  2 +-
 .../src/main/docs/eips/message-endpoint.adoc       | 12 +++---
 .../src/main/docs/eips/message-translator.adoc     |  2 +-
 .../src/main/docs/eips/point-to-point-channel.adoc | 10 ++---
 .../main/docs/eips/publish-subscribe-channel.adoc  |  8 ++--
 camel-core/src/main/docs/file-component.adoc       | 24 +++++------
 camel-core/src/main/docs/file-language.adoc        | 32 +++++++--------
 camel-core/src/main/docs/gzip-dataformat.adoc      |  2 +-
 camel-core/src/main/docs/language-component.adoc   | 12 +++---
 camel-core/src/main/docs/log-component.adoc        |  2 +-
 camel-core/src/main/docs/mock-component.adoc       | 20 ++++-----
 camel-core/src/main/docs/properties-component.adoc | 24 +++++------
 camel-core/src/main/docs/request-reply.adoc        |  4 +-
 camel-core/src/main/docs/rest-component.adoc       |  2 +-
 camel-core/src/main/docs/rest-dsl.adoc             | 22 +++++-----
 camel-core/src/main/docs/return-address.adoc       |  2 +-
 camel-core/src/main/docs/scheduler-component.adoc  |  6 +--
 camel-core/src/main/docs/seda-component.adoc       | 18 ++++----
 camel-core/src/main/docs/simple-language.adoc      | 32 +++++++--------
 camel-core/src/main/docs/stub-component.adoc       |  8 ++--
 camel-core/src/main/docs/test-component.adoc       | 14 +++----
 camel-core/src/main/docs/timer-component.adoc      |  6 +--
 camel-core/src/main/docs/validator-component.adoc  |  4 +-
 camel-core/src/main/docs/validator.adoc            |  2 +-
 camel-core/src/main/docs/vm-component.adoc         | 14 +++----
 camel-core/src/main/docs/xpath-language.adoc       | 12 +++---
 camel-core/src/main/docs/xslt-component.adoc       |  2 +-
 .../src/main/docs/ahc-ws-component.adoc            |  4 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  6 +--
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  4 +-
 .../main/docs/atmosphere-websocket-component.adoc  |  6 +--
 .../camel-atom/src/main/docs/atom-component.adoc   |  2 +-
 components/camel-azure/src/main/docs/azure.adoc    |  4 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |  8 ++--
 .../src/main/docs/context-component.adoc           |  2 +-
 .../src/main/docs/crypto-dataformat.adoc           |  2 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |  2 +-
 .../src/main/docs/disruptor-component.adoc         |  4 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     | 12 +++---
 .../camel-elsql/src/main/docs/elsql-component.adoc | 10 ++---
 .../src/main/docs/flatpack-component.adoc          |  2 +-
 .../src/main/docs/flatpack-dataformat.adoc         |  2 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |  2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |  2 +-
 .../src/main/docs/groovy-language.adoc             |  4 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |  2 +-
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   | 22 +++++-----
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |  2 +-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |  2 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    | 12 +++---
 .../camel-http/src/main/docs/http-component.adoc   |  8 ++--
 .../camel-http4/src/main/docs/http4-component.adoc |  6 +--
 .../src/main/docs/ibatis-component.adoc            |  8 ++--
 components/camel-ignite/src/main/docs/ignite.adoc  | 14 +++----
 components/camel-jasypt/src/main/docs/jasypt.adoc  | 16 ++++----
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |  4 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   | 10 ++---
 .../src/main/docs/jetty-component.adoc             | 12 +++---
 .../src/main/docs/jgroups-component.adoc           |  4 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |  2 +-
 .../camel-jms/src/main/docs/jms-component.adoc     | 22 +++++-----
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  2 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  8 ++--
 .../camel-jpa/src/main/docs/jpa-component.adoc     |  2 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |  2 +-
 .../src/main/docs/jsonpath-language.adoc           |  2 +-
 .../src/main/docs/jxpath-language.adoc             |  2 +-
 .../src/main/docs/kubernetes-component.adoc        | 26 ++++++------
 .../docs/kubernetes-config-maps-component.adoc     |  2 +-
 .../docs/kubernetes-deployments-component.adoc     |  2 +-
 .../main/docs/kubernetes-namespaces-component.adoc |  2 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |  2 +-
 ...rnetes-persistent-volumes-claims-component.adoc |  2 +-
 .../kubernetes-persistent-volumes-component.adoc   |  2 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |  2 +-
 ...bernetes-replication-controllers-component.adoc |  2 +-
 .../docs/kubernetes-resources-quota-component.adoc |  2 +-
 .../main/docs/kubernetes-secrets-component.adoc    |  2 +-
 .../kubernetes-service-accounts-component.adoc     |  2 +-
 .../main/docs/kubernetes-services-component.adoc   |  2 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc | 24 +++++------
 .../docs/openshift-build-configs-component.adoc    |  2 +-
 .../src/main/docs/openshift-builds-component.adoc  |  2 +-
 .../camel-mina/src/main/docs/mina-component.adoc   | 10 ++---
 .../camel-mina2/src/main/docs/mina2-component.adoc | 10 ++---
 .../src/main/docs/mongodb-gridfs-component.adoc    |  2 +-
 .../src/main/docs/mongodb-component.adoc           | 12 +++---
 .../src/main/docs/mongodb3-component.adoc          | 12 +++---
 .../camel-msv/src/main/docs/msv-component.adoc     |  2 +-
 .../src/main/docs/mybatis-component.adoc           |  4 +-
 .../src/main/docs/nagios-component.adoc            |  6 +--
 .../src/main/docs/netty-http-component.adoc        | 32 +++++++--------
 .../camel-netty/src/main/docs/netty-component.adoc |  8 ++--
 .../src/main/docs/netty4-http-component.adoc       | 14 +++----
 .../src/main/docs/netty4-component.adoc            |  6 +--
 .../camel-openstack/src/main/docs/openstack.adoc   | 12 +++---
 .../src/main/docs/protobuf-dataformat.adoc         |  2 +-
 .../src/main/docs/pubnub-component.adoc            |  2 +-
 .../src/main/docs/quartz-component.adoc            | 12 +++---
 .../src/main/docs/quartz2-component.adoc           | 18 ++++----
 .../src/main/docs/rest-swagger-component.adoc      | 14 +++----
 .../src/main/docs/routebox-component.adoc          |  4 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |  2 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |  4 +-
 .../src/main/docs/salesforce-component.adoc        |  4 +-
 .../src/main/docs/sap-netweaver-component.adoc     |  2 +-
 .../camel-scala/src/main/docs/scala-eip.adoc       |  2 +-
 .../src/main/docs/scala-supported-languages.adoc   |  4 +-
 .../src/main/docs/javaScript-language.adoc         |  4 +-
 .../camel-script/src/main/docs/php-language.adoc   |  4 +-
 .../src/main/docs/python-language.adoc             |  4 +-
 .../camel-script/src/main/docs/ruby-language.adoc  |  4 +-
 .../src/main/docs/servlet-component.adoc           | 10 ++---
 .../src/main/docs/servletlistener.adoc             | 12 +++---
 components/camel-shiro/src/main/docs/shiro.adoc    |  2 +-
 .../src/main/docs/sjms-batch-component.adoc        |  4 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |  4 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |  2 +-
 .../src/main/docs/spark-rest-component.adoc        |  2 +-
 .../src/main/docs/spring-boot.adoc                 |  2 +-
 .../src/main/docs/spring-security.adoc             |  4 +-
 components/camel-spring/src/main/docs/spring.adoc  |  6 +--
 .../camel-sql/src/main/docs/sql-component.adoc     |  4 +-
 .../src/main/docs/sql-stored-component.adoc        |  4 +-
 .../src/main/docs/syslog-dataformat.adoc           | 14 +++----
 .../src/main/docs/test-blueprint.adoc              |  2 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |  4 +-
 components/camel-test/src/main/docs/test.adoc      | 14 +++----
 .../src/main/docs/twitter-component.adoc           | 10 ++---
 .../camel-twitter/src/main/docs/twitter.adoc       | 22 +++++-----
 .../src/main/docs/undertow-component.adoc          |  6 +--
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc | 26 ++++++------
 .../src/main/docs/websocket-component.adoc         |  6 +--
 .../src/main/docs/xmljson-dataformat.adoc          |  2 +-
 docs/user-manual/en/async.adoc                     | 36 ++++++++--------
 .../en/asynchronous-routing-engine.adoc            | 40 +++++++++---------
 docs/user-manual/en/backlogdebugger.adoc           |  2 +-
 docs/user-manual/en/bam-example.adoc               |  8 ++--
 docs/user-manual/en/batch-consumer.adoc            | 22 +++++-----
 docs/user-manual/en/bean-integration.adoc          |  6 +--
 docs/user-manual/en/browsable-endpoint.adoc        |  8 ++--
 .../en/camel-configuration-utilities.adoc          | 18 ++++----
 .../en/enterprise-integration-patterns.adoc        |  8 ++--
 docs/user-manual/en/exchange-pattern.adoc          |  2 +-
 docs/user-manual/en/expression.adoc                | 48 +++++++++++-----------
 .../en/how-do-i-configure-endpoints.adoc           |  2 +-
 docs/user-manual/en/injector.adoc                  |  2 +-
 docs/user-manual/en/intercept.adoc                 |  4 +-
 docs/user-manual/en/json.adoc                      |  2 +-
 docs/user-manual/en/scala-dsl-eip.adoc             |  2 +-
 .../en/scala-dsl-supported-languages.adoc          |  4 +-
 docs/user-manual/en/scripting-languages.adoc       |  4 +-
 docs/user-manual/en/spring-testing.adoc            | 14 +++----
 docs/user-manual/en/testing.adoc                   | 16 ++++----
 172 files changed, 681 insertions(+), 681 deletions(-)

diff --git a/camel-core/src/main/docs/bean-component.adoc b/camel-core/src/main/docs/bean-component.adoc
index 508820b..f80f929 100644
--- a/camel-core/src/main/docs/bean-component.adoc
+++ b/camel-core/src/main/docs/bean-component.adoc
@@ -94,7 +94,7 @@ And the same route using Spring DSL:
 
 === Bean as endpoint
 
-Camel also supports invoking link:bean.html[Bean] as an Endpoint. In the
+Camel also supports invoking <<bean-component,Bean>> as an Endpoint. In the
 route below:
 
 What happens is that when the exchange is routed to the `myBean` Camel
@@ -107,7 +107,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 link:bean.html[Bean]
+Java DSL comes with syntactic sugar for the <<bean-component,Bean>>
 component. Instead of specifying the bean explicitly as the endpoint
 (i.e. `to("bean:beanName")`) you can use the following syntax:
 
@@ -153,6 +153,6 @@ mechanisms in Camel.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:class.html[Class] component
+* <<class-component,Class>> component
 * link:bean-binding.html[Bean Binding]
 * link:bean-integration.html[Bean Integration]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/bean-language.adoc b/camel-core/src/main/docs/bean-language.adoc
index e6cfb9d..3742d23 100644
--- a/camel-core/src/main/docs/bean-language.adoc
+++ b/camel-core/src/main/docs/bean-language.adoc
@@ -19,7 +19,7 @@ the message body and using any annotations on the bean methods.
 The link:bean-binding.html[Bean Binding] rules are used to bind the
 link:message.html[Message] Exchange to the method parameters; so you can
 annotate the bean to extract headers or other expressions such as
-link:xpath.html[XPath] or link:xquery.html[XQuery] from the message.
+<<xpath-language,XPath>> or <<xpath-language,XQuery>> from the message.
 
 === Bean Options
 
@@ -107,7 +107,7 @@ or other expressions.
 
 === Non registry beans
 
-The link:bean-language.html[Bean Language] also supports invoking beans
+The <<bean-language,Bean Language>> also supports invoking beans
 that isn't registered in the link:registry.html[Registry]. This is
 usable for quickly to invoke a bean from Java DSL where you don't need
 to register the bean in the link:registry.html[Registry] such as the
diff --git a/camel-core/src/main/docs/class-component.adoc b/camel-core/src/main/docs/class-component.adoc
index b147c35..954a9ce 100644
--- a/camel-core/src/main/docs/class-component.adoc
+++ b/camel-core/src/main/docs/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 link:bean.html[Bean] component but instead of
+in the same way as the <<bean-component,Bean>> component but instead of
 looking up beans from a link:registry.html[Registry] it creates the bean
 based on the class name.
 
@@ -60,7 +60,7 @@ with the following path and query parameters:
 
 === Using
 
-You simply use the *class* component just as the link:bean.html[Bean]
+You simply use the *class* component just as the <<bean-component,Bean>>
 component but by specifying the fully qualified classname instead. +
  For example to use the `MyFooBean` you have to do as follows:
 
@@ -115,7 +115,7 @@ Which will lookup a bean from the link:registry.html[Registry] with the
 id `foo` and invoke the `setCool` method on the created instance of the
 `MyPrefixBean` class.
 
-TIP:See more details at the link:bean.html[Bean] component as the *class*
+TIP:See more details at the <<bean-component,Bean>> component as the *class*
 component works in much the same way.
 
 === See Also
@@ -125,6 +125,6 @@ component works in much the same way.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:bean.html[Bean]
+* <<bean-component,Bean>>
 * link:bean-binding.html[Bean Binding]
 * link:bean-integration.html[Bean Integration]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/controlbus-component.adoc b/camel-core/src/main/docs/controlbus-component.adoc
index 0bced5b..3ee7146 100644
--- a/camel-core/src/main/docs/controlbus-component.adoc
+++ b/camel-core/src/main/docs/controlbus-component.adoc
@@ -22,7 +22,7 @@ by using a Java API from the `CamelContext`, or from the
 link:eventnotifier-to-log-details-about-all-sent-exchanges.html[here].
 
 From Camel 2.11 onwards we have introduced a new
-link:controlbus-component.html[ControlBus Component] that allows you to
+<<controlbus-component,ControlBus Component>> that allows you to
 send messages to a control bus link:endpoint.html[Endpoint] that reacts
 accordingly.
 
@@ -31,7 +31,7 @@ accordingly.
 *Available as of Camel 2.11*
 
 The *controlbus:* component provides easy management of Camel
-applications based on the link:controlbus.html[Control Bus] EIP
+applications based on the <<controlbus-component,Control Bus>> EIP
 pattern. 
 For example, by sending a message to an link:endpoint.html[Endpoint]
 you can control the lifecycle of routes, or gather performance
@@ -53,7 +53,7 @@ use.
 
 |`route` |To control routes using the `routeId` and `action` parameter.
 
-|`language` |Allows you to specify a link:language.html[Language] to use for
+|`language` |Allows you to specify a <<language-component,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.
 |===
@@ -151,7 +151,7 @@ String xml = template.requestBody("controlbus:route?action=stats", null, String.
 
 === Using Simple language
 
-You can use the link:simple.html[Simple] language with the control bus,
+You can use the <<simple-language,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:
@@ -171,8 +171,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 link:groovy.html[Groovy] or to some
-extend the link:simple.html[Simple] language.
+that has stronger powers such as <<groovy-language,Groovy>> or to some
+extend the <<simple-language,Simple>> language.
 
 For example to shutdown Camel itself you can do:
 
@@ -185,4 +185,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 link:groovy.html[Groovy], etc.
\ No newline at end of file
+TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/dataformat-component.adoc b/camel-core/src/main/docs/dataformat-component.adoc
index 18f1765..1239c8a 100644
--- a/camel-core/src/main/docs/dataformat-component.adoc
+++ b/camel-core/src/main/docs/dataformat-component.adoc
@@ -58,7 +58,7 @@ with the following path and query parameters:
 
 === Samples
 
-For example to use the link:jaxb.html[JAXB] link:data-format.html[Data
+For example to use the <<jaxb-dataformat,JAXB>> link:data-format.html[Data
 Format] we can do as follows:
 
 [source,java]
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 1387d63..8052a89 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 1.3*
 
 link:testing.html[Testing] of distributed and asynchronous processing is
-notoriously difficult. The link:mock.html[Mock], link:test.html[Test]
-and link:dataset.html[DataSet] endpoints work great with the
+notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
+and <<dataset-component,DataSet>> endpoints work great with the
 link:testing.html[Camel Testing Framework] to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[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 link:log.html[throughput logger] when sending
+Camel will use the <<log-component,throughput logger>> when sending
 dataset's.
 
 === URI format
diff --git a/camel-core/src/main/docs/direct-component.adoc b/camel-core/src/main/docs/direct-component.adoc
index dc08fa4..8de3f76 100644
--- a/camel-core/src/main/docs/direct-component.adoc
+++ b/camel-core/src/main/docs/direct-component.adoc
@@ -9,11 +9,11 @@ consumers when a producer sends a message exchange. +
 camel context.
 
 TIP: *Asynchronous*
-The link:seda.html[SEDA] component provides asynchronous invocation of
+The <<seda-component,SEDA>> component provides asynchronous invocation of
 any consumers when a producer sends a message exchange.
 
 TIP: *Connection to other camel contexts*
-The link:vm.html[VM] component provides connections between Camel
+The <<vm-component,VM>> component provides connections between Camel
 contexts as long they run in the same *JVM*.
 
 === URI format
@@ -112,10 +112,10 @@ And the sample using spring DSL:
 </route>
 ----
 
-See also samples from the link:seda.html[SEDA] component, how they can
+See also samples from the <<seda-component,SEDA>> component, how they can
 be used together.
 
 === See Also
 
-* link:seda.html[SEDA]
-* link:vm.html[VM]
\ No newline at end of file
+* <<seda-component,SEDA>>
+* <<vm-component,VM>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/direct-vm-component.adoc b/camel-core/src/main/docs/direct-vm-component.adoc
index 40fc27b..1c81f41 100644
--- a/camel-core/src/main/docs/direct-vm-component.adoc
+++ b/camel-core/src/main/docs/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 link:direct.html[Direct] component in
-that link:direct-vm.html[Direct-VM] supports communication across
+This component differs from the <<direct-component,Direct>> component in
+that <<direct-vm-component,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).
@@ -134,6 +134,6 @@ And the sample using spring DSL:
 
 === See Also
 
-* link:direct.html[Direct]
-* link:seda.html[SEDA]
-* link:vm.html[VM]
\ No newline at end of file
+* <<direct-component,Direct>>
+* <<seda-component,SEDA>>
+* <<vm-component,VM>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/dynamic-router.adoc b/camel-core/src/main/docs/dynamic-router.adoc
index 638f326..07a1f2a 100644
--- a/camel-core/src/main/docs/dynamic-router.adoc
+++ b/camel-core/src/main/docs/dynamic-router.adoc
@@ -60,7 +60,7 @@ from("direct:start")
     .dynamicRouter(method(DynamicRouterTest.class, "slip"));
 ----
 
-Which will leverage a link:bean.html[Bean] to compute the slip
+Which will leverage a <<bean-component,Bean>> to compute the slip
 _on-the-fly_, which could be implemented as follows:
 
 [source,java]
@@ -139,7 +139,7 @@ link:exchange.html[Exchange] are. Although there was a bug in the method
 call expression, see the warning below.
 
 WARNING:*Using beans to store state*
-Mind that in Camel 2.9.2 or older, when using a link:bean.html[Bean] the
+Mind that in Camel 2.9.2 or older, when using a <<bean-component,Bean>> the
 state is not propagated, so you will have to use a
 link:processor.html[Processor] instead. This is fixed in Camel 2.9.3
 onwards.
@@ -198,12 +198,12 @@ In the above we can use the
 link:parameter-binding-annotations.html[Parameter Binding Annotations]
 to bind different parts of the link:message.html[Message] to method
 parameters or use an link:expression.html[Expression] such as using
-link:xpath.html[XPath] or link:xquery.html[XQuery].
+<<xpath-language,XPath>> or <<xpath-language,XQuery>>.
 
 The method can be invoked in a number of ways as described in the
 link:bean-integration.html[Bean Integration] such as
 
 * link:pojo-producing.html[POJO Producing]
 * link:spring-remoting.html[Spring Remoting]
-* link:bean.html[Bean] component
+* <<bean-component,Bean>> component
 
diff --git a/camel-core/src/main/docs/eips/aggregate-eip.adoc b/camel-core/src/main/docs/eips/aggregate-eip.adoc
index e484b9f..3f3ed1b 100644
--- a/camel-core/src/main/docs/eips/aggregate-eip.adoc
+++ b/camel-core/src/main/docs/eips/aggregate-eip.adoc
@@ -190,7 +190,7 @@ The aggregator provides a pluggable repository which you can implement
 your own `org.apache.camel.spi.AggregationRepository`. +
  If you need persistent repository then you can use either Camel
 link:hawtdb.html[HawtDB], link:leveldb.html[LevelDB], or
-link:sql-component.html[SQL Component] components.
+<<sql-component,SQL Component>> components.
 
 === Using TimeoutAwareAggregationStrategy
 
diff --git a/camel-core/src/main/docs/eips/bean-eip.adoc b/camel-core/src/main/docs/eips/bean-eip.adoc
index 18f1ca2..6745e0b 100644
--- a/camel-core/src/main/docs/eips/bean-eip.adoc
+++ b/camel-core/src/main/docs/eips/bean-eip.adoc
@@ -32,7 +32,7 @@ The Bean EIP supports 5 options which are listed below:
 
 === Bean as endpoint
 
-Camel also supports invoking link:bean.html[Bean] as an Endpoint. In the
+Camel also supports invoking <<bean-component,Bean>> as an Endpoint. In the
 route below:
 
 What happens is that when the exchange is routed to the `myBean` Camel
@@ -45,7 +45,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 link:bean.html[Bean]
+Java DSL comes with syntactic sugar for the <<bean-component,Bean>>
 component. Instead of specifying the bean explicitly as the endpoint
 (i.e. `to("bean:beanName")`) you can use the following syntax:
 
@@ -86,6 +86,6 @@ mechanisms in Camel.
 
 === See also
 
-* link:class.html[Class] component
+* <<class-component,Class>> component
 * link:bean-binding.html[Bean Binding]
 * link:bean-integration.html[Bean Integration]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/correlation-identifier.adoc b/camel-core/src/main/docs/eips/correlation-identifier.adoc
index 931ab70..14837d0 100644
--- a/camel-core/src/main/docs/eips/correlation-identifier.adoc
+++ b/camel-core/src/main/docs/eips/correlation-identifier.adoc
@@ -18,7 +18,7 @@ image:http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierSolu
 The use of a Correlation Identifier is key to working with the
 link:bam.html[Camel Business Activity Monitoring Framework] and can also
 be highly useful when testing with simulation or canned data such as
-with the link:mock.html[Mock testing framework]
+with the <<mock-component,Mock testing framework>>
 
 Some link:eip.html[EIP] patterns will spin off a sub message, and in
 those cases, Camel will add a correlation id on the
@@ -31,7 +31,7 @@ Tap] EIP does this.
 
 The following example demonstrates using the Camel JMSMessageID as the
 Correlation Identifier within a request/reply pattern in
-the link:jms.html[JMS] component
+the <<jms-component,JMS>> component
 
 === Samples
 
diff --git a/camel-core/src/main/docs/eips/dead-letter-channel.adoc b/camel-core/src/main/docs/eips/dead-letter-channel.adoc
index 32981d3..f8b96c5 100644
--- a/camel-core/src/main/docs/eips/dead-letter-channel.adoc
+++ b/camel-core/src/main/docs/eips/dead-letter-channel.adoc
@@ -323,7 +323,7 @@ failed.
 
 These information is kept on the Exchange even if the message
 was successfully processed by a given endpoint, and then later fails for
-example in a local link:bean.html[Bean] processing instead. So beware
+example in a local <<bean-component,Bean>> processing instead. So beware
 that this is a hint that helps pinpoint errors.
 
 [source,java]
diff --git a/camel-core/src/main/docs/eips/event-message.adoc b/camel-core/src/main/docs/eips/event-message.adoc
index 37226ca..3575b30 100644
--- a/camel-core/src/main/docs/eips/event-message.adoc
+++ b/camel-core/src/main/docs/eips/event-message.adoc
@@ -12,8 +12,8 @@ implement this pattern using the underlying transport or protocols.
 image:http://www.enterpriseintegrationpatterns.com/img/EventMessageSolution.gif[image]
 
 The default behaviour of many link:components.html[Components] is InOnly
-such as for link:jms.html[JMS], link:file2.html[File] or
-link:seda.html[SEDA]
+such as for <<jms-component,JMS>>, <<jms-component,File>> or
+<<seda-component,SEDA>>
 
 TIP: See the related link:request-reply.html[Request Reply] message.
 
diff --git a/camel-core/src/main/docs/eips/guaranteed-delivery.adoc b/camel-core/src/main/docs/eips/guaranteed-delivery.adoc
index 7fe4fd5..246faa1 100644
--- a/camel-core/src/main/docs/eips/guaranteed-delivery.adoc
+++ b/camel-core/src/main/docs/eips/guaranteed-delivery.adoc
@@ -8,13 +8,13 @@ patterns] using among others the following components:
 
 * link:file2.html[File] for using file systems as a persistent store of
 messages
-* link:jms.html[JMS] when using persistent delivery (the default) for
+* <<jms-component,JMS>> when using persistent delivery (the default) for
 working with JMS Queues and Topics for high performance, clustering and
 load balancing
-* link:jpa.html[JPA] for using a database as a persistence layer, or use
-any of the many other database component such as link:sql.html[SQL],
-link:jdbc.html[JDBC],
-link:mybatis.html[MyBatis],
+* <<jpa-component,JPA>> for using a database as a persistence layer, or use
+any of the many other database component such as <<sql-component,SQL>>,
+<<jdbc-component,JDBC>>,
+<<mybatis-component,MyBatis>>,
 link:hibernate.html[Hibernate]
 * link:hawtdb.html[HawtDB] for a lightweight key-value persistent store
 
@@ -25,7 +25,7 @@ image:http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSoluti
 
 The following example demonstrates illustrates the use
 of http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html[Guaranteed
-Delivery] within the link:jms.html[JMS] component. By default, a message
+Delivery] within the <<jms-component,JMS>> component. By default, a message
 is not considered successfully delivered until the recipient has
 persisted the message locally guaranteeing its receipt in the event the
 destination becomes unavailable.
diff --git a/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc b/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
index f5cb3f4..ffd38e4 100644
--- a/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
+++ b/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
@@ -20,19 +20,19 @@ Camel provides the following Idempotent Consumer implementations:
 * link:file2.html[FileIdempotentRepository]
 * link:hazelcast-component.html[HazelcastIdempotentRepository]
 (*Available as of Camel 2.8*)
-* link:sql-component.html[JdbcMessageIdRepository] (*Available as of
+* <<sql-component,JdbcMessageIdRepository>> (*Available as of
 Camel 2.7*)
-* link:jpa.html[JpaMessageIdRepository]
-* link:infinispan.html[InfinispanIdempotentRepository] (*Available as of
+* <<jpa-component,JpaMessageIdRepository>>
+* <<infinispan-component,InfinispanIdempotentRepository>> (*Available as of
 Camel 2.13.0)*
-* link:jcache.html[JCacheIdempotentRepository]* (*Available as of Camel
+* <<jcache-component,JCacheIdempotentRepository>>* (*Available as of Camel
 2.17.0)**
 * link:spring.html[SpringCacheIdempotentRepository] *(*Available as of
 Camel 2.17.1)**** 
 **
-* link:ehcache.html[EhcacheIdempotentRepository]** *(*Available as of
+* <<ehcache-component,EhcacheIdempotentRepository>>** *(*Available as of
 Camel 2.18.0)****
-* link:kafka.html[KafkaIdempotentRepository] (*Available as of Camel
+* <<kafka-component,KafkaIdempotentRepository>> (*Available as of Camel
 2.19.0)*
 
 === Options
diff --git a/camel-core/src/main/docs/eips/log-eip.adoc b/camel-core/src/main/docs/eips/log-eip.adoc
index 3756f79..74d915a 100644
--- a/camel-core/src/main/docs/eips/log-eip.adoc
+++ b/camel-core/src/main/docs/eips/log-eip.adoc
@@ -4,7 +4,7 @@
 How can I log the processing of a link:message.html[Message]?
 
 Camel provides many ways to log the fact that you are processing a message. Here are just a few examples:
-* You can use the link:log.html[Log] component which logs the Message content.
+* You can use the <<log-component,Log>> component which logs the Message content.
 * You can use the link:tracer.html[Tracer] which trace logs message flow.
 * You can also use a link:processor.html[Processor] or link:bean.html[Bean] and log from Java code.
 * You can use the log DSL.
@@ -32,7 +32,7 @@ The log DSL is much lighter and meant for logging human logs such as Starting to
 
 === Samples
 
-In *Camel 2.2* you can use the log DSL which allows you to use link:simple.html[Simple] language to construct a dynamic message which gets logged.
+In *Camel 2.2* you can use the log DSL which allows you to use <<simple-language,Simple>> language to construct a dynamic message which gets logged.
 
 For example you can do
 
@@ -167,7 +167,7 @@ In some scenarios it is required that the bundle associated with logger should b
 *Available as of Camel 2.19*
 
 You can enable security masking for logging by setting `logMask` flag to `true`.
-Note that this option also affects link:log.html[Log] component.
+Note that this option also affects <<log-component,Log>> component.
 
 To enable mask in Java DSL at CamelContext level:
 [source,java]
diff --git a/camel-core/src/main/docs/eips/message-bus.adoc b/camel-core/src/main/docs/eips/message-bus.adoc
index ca93314..e90b20b 100644
--- a/camel-core/src/main/docs/eips/message-bus.adoc
+++ b/camel-core/src/main/docs/eips/message-bus.adoc
@@ -10,7 +10,7 @@ consumers to be decoupled.
 image:http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif[image]
 
 Folks often assume that a Message Bus is a JMS though so you may wish to
-refer to the link:jms.html[JMS] component for traditional MOM support. +
+refer to the <<jms-component,JMS>> component for traditional MOM support. +
 
 
 [[MessageBus-Example]]
diff --git a/camel-core/src/main/docs/eips/message-channel.adoc b/camel-core/src/main/docs/eips/message-channel.adoc
index 6fe2ed9..57f8e76 100644
--- a/camel-core/src/main/docs/eips/message-channel.adoc
+++ b/camel-core/src/main/docs/eips/message-channel.adoc
@@ -23,7 +23,7 @@ jms:queue:foo
 -------------
 
 This message channel can be then used within the
-link:jms.html[JMS] component
+<<jms-component,JMS>> component
 
 And the following shows a little Java route snippet:
 
diff --git a/camel-core/src/main/docs/eips/message-endpoint.adoc b/camel-core/src/main/docs/eips/message-endpoint.adoc
index b88b998..3c37ff8 100644
--- a/camel-core/src/main/docs/eips/message-endpoint.adoc
+++ b/camel-core/src/main/docs/eips/message-endpoint.adoc
@@ -51,7 +51,7 @@ And in XML:
 There is a new `.toD` / `<toD>` that allows to send a message to a dynamic
 computed link:endpoint.html[Endpoint] using one or
 more link:expression.html[Expression] that are concat together. By
-default the link:simple.html[Simple] language is used to compute
+default the <<simple-language,Simple>> language is used to compute
 the endpoint. For example to send a message to a endpoint defined by a
 header you can do as shown below:
 
@@ -72,7 +72,7 @@ And in XML:
 ----
 
 You can also prefix the uri with a value because by default the uri is
-evaluated using the link:simple.html[Simple] language
+evaluated using the <<simple-language,Simple>> language
 
 [source,java]
 ----
@@ -94,8 +94,8 @@ In the example above we compute an endpoint that has prefix "mock:" and
 then the header foo is appended. So for example if the header foo has
 value order, then the endpoint is computed as "mock:order".
 
-You can also use other languages than link:simple.html[Simple] such
-as link:xpath.html[XPath] - this requires to prefix with language: as
+You can also use other languages than <<simple-language,Simple>> such
+as <<xpath-language,XPath>> - this requires to prefix with language: as
 shown below (simple language is the default language). If you do not
 specify language: then the endpoint is a component name. And in some
 cases there is both a component and language with the same name such as
@@ -117,7 +117,7 @@ from("direct:start")
   .toD("language:xpath:/order/@uri");
 ----
 
-You can also concat multiple link:language.html[Language](s) together
+You can also concat multiple <<language-component,Language>>(s) together
 using the plus sign `+` such as shown below:
 
 [source,xml]
@@ -129,7 +129,7 @@ using the plus sign `+` such as shown below:
 ----
 
 In the example above the uri is a combination
-of link:simple.html[Simple] language and link:xpath.html[XPath] where
+of <<simple-language,Simple>> language and <<simple-language,XPath>> where
 the first part is simple (simple is default language). And then the plus
 sign separate to another language, where we specify the language name
 followed by a colon
diff --git a/camel-core/src/main/docs/eips/message-translator.adoc b/camel-core/src/main/docs/eips/message-translator.adoc
index e35da4c..d2137d3 100644
--- a/camel-core/src/main/docs/eips/message-translator.adoc
+++ b/camel-core/src/main/docs/eips/message-translator.adoc
@@ -54,7 +54,7 @@ invoke a bean
 
 You can also use link:templating.html[Templating] to consume a message
 from one destination, transform it with something like
-link:velocity.html[Velocity] or link:xquery.html[XQuery] and then send
+<<velocity-component,Velocity>> or <<velocity-component,XQuery>> and then send
 it on to another destination. For example using InOnly (one way
 messaging)
 
diff --git a/camel-core/src/main/docs/eips/point-to-point-channel.adoc b/camel-core/src/main/docs/eips/point-to-point-channel.adoc
index db3f61b..24190d3 100644
--- a/camel-core/src/main/docs/eips/point-to-point-channel.adoc
+++ b/camel-core/src/main/docs/eips/point-to-point-channel.adoc
@@ -6,18 +6,18 @@ http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html[Point
 to Point Channel] from the link:enterprise-integration-patterns.html[EIP
 patterns] using the following components
 
-* link:seda.html[SEDA] for in-VM seda based messaging
-* link:jms.html[JMS] for working with JMS Queues for high performance,
+* <<seda-component,SEDA>> for in-VM seda based messaging
+* <<jms-component,JMS>> for working with JMS Queues for high performance,
 clustering and load balancing
-* link:jpa.html[JPA] for using a database as a simple message queue
-* link:xmpp.html[XMPP] for point-to-point communication over XMPP
+* <<jpa-component,JPA>> for using a database as a simple message queue
+* <<xmpp-component,XMPP>> for point-to-point communication over XMPP
 (Jabber)
 * and others
 
 image:http://www.enterpriseintegrationpatterns.com/img/PointToPointSolution.gif[image]
 
 The following example demonstrates point to point messaging using
-the link:jms.html[JMS] component 
+the <<jms-component,JMS>> component 
 
 [[PointtoPointChannel-Samples]]
 === Samples
diff --git a/camel-core/src/main/docs/eips/publish-subscribe-channel.adoc b/camel-core/src/main/docs/eips/publish-subscribe-channel.adoc
index 1ce16e6..aab788d 100644
--- a/camel-core/src/main/docs/eips/publish-subscribe-channel.adoc
+++ b/camel-core/src/main/docs/eips/publish-subscribe-channel.adoc
@@ -7,13 +7,13 @@ Subscribe Channel] from the
 link:enterprise-integration-patterns.html[EIP patterns] using for
 example the following components:
 
-* link:jms.html[JMS] for working with JMS Topics for high performance,
+* <<jms-component,JMS>> for working with JMS Topics for high performance,
 clustering and load balancing
-* link:xmpp.html[XMPP] when using rooms for group communication
-* link:seda.html[SEDA] for working with SEDA in the same
+* <<xmpp-component,XMPP>> when using rooms for group communication
+* <<seda-component,SEDA>> for working with SEDA in the same
 link:camelcontext.html[CamelContext] which can work in pub-sub, but
 allowing multiple consumers.
-* link:vm.html[VM] as SEDA but for intra-JVM.
+* <<vm-component,VM>> as SEDA but for intra-JVM.
 
 image:http://www.enterpriseintegrationpatterns.com/img/PublishSubscribeSolution.gif[image]
 
diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index 27c929e..d39ba4b 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -184,7 +184,7 @@ 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 link:file-language.html[File
-Language], or link:simple.html[Simple] then the result of the expression
+Language], or <<simple-language,Simple>> then the result of the expression
 evaluation is the file name to be used - eg if you set
 
 [source]
@@ -192,7 +192,7 @@ evaluation is the file name to be used - eg if you set
 move=../backup/copy-of-${file:name}
 ----
 
-then that's using the link:file-language.html[File Language] which we
+then that's using the <<file-language,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.
@@ -230,10 +230,10 @@ processed and after it's processed, it's moved to the `.done` folder.
 
 The *move* and *preMove* options
 are link:expression.html[Expression]-based, so we have the full power of
-the link:file-language.html[File Language] to do advanced configuration
+the <<file-language,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 link:file-language.html[File Language] expression. So when we
+into a <<file-language,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
@@ -256,7 +256,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 link:file-language.html[File Language]
+See more examples at <<file-language,File Language>>
 
 === Message Headers
 
@@ -270,7 +270,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
-link:file-language.html[File Language] or link:simple.html[Simple]
+<<file-language,File Language>> or <<file-language,Simple>>
 expression; or an link:expression.html[Expression] object. If it's
 `null` then Camel will auto-generate a filename based on the message
 unique ID.
@@ -478,8 +478,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 link:file-language.html[File Language] expression in the
-`CamelFileName` header. See the link:file-language.html[File Language]
+string-based <<file-language,File Language>> expression in the
+`CamelFileName` header. See the <<file-language,File Language>>
 for syntax and samples.
 
 === Consuming files from folders where others drop files directly
@@ -761,7 +761,7 @@ today's date as a sub-folder name:
 from("file://inbox?move=backup/${date:now:yyyyMMdd}/${file:name}").to("...");
 ----
 
-See link:file-language.html[File Language] for more samples.
+See <<file-language,File Language>> for more samples.
 
 === Avoiding reading the same file more than once (idempotent consumer)
 
@@ -962,7 +962,7 @@ link:registry.html[Registry] for a bean with the ID, `mySorter`.
 ==== Sorting using sortBy
 
 Camel supports pluggable sorting strategies. This strategy it to use the
-link:file-language.html[File Language] to configure the sorting. The
+<<file-language,File Language>> to configure the sorting. The
 `sortBy` option is configured as follows:
 
 [source]
@@ -986,7 +986,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 link:file-language.html[File Language] we
+As we have the full power of <<file-language,File Language>> we
 can use some of the other parameters, so if we want to sort by file size
 we do:
 
@@ -1122,6 +1122,6 @@ problems.
 
 === See Also
 
-* link:file-language.html[File Language]
+* <<file-language,File Language>>
 * link:ftp2.html[FTP]
 * link:polling-consumer.html[Polling Consumer]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/file-language.adoc b/camel-core/src/main/docs/file-language.adoc
index c7e5368..2e3f19e 100644
--- a/camel-core/src/main/docs/file-language.adoc
+++ b/camel-core/src/main/docs/file-language.adoc
@@ -5,11 +5,11 @@
 
 INFO:*File language is now merged with Simple language*
 From Camel 2.2 onwards, the file language is now merged with
-link:simple.html[Simple] language which means you can use all the file
+<<simple-language,Simple>> language which means you can use all the file
 syntax directly within the simple language.
 
 The File Expression Language is an extension to the
-link:simple.html[Simple] language, adding file related capabilities.
+<<simple-language,Simple>> language, adding file related capabilities.
 These capabilities are related to common use cases working with file
 path and names. The goal is to allow expressions to be used with the
 link:file2.html[File] and link:ftp.html[FTP] components for setting
@@ -32,18 +32,18 @@ The File language supports 2 options which are listed below.
 
 === Syntax
 
-This language is an *extension* to the link:simple.html[Simple] language
-so the link:simple.html[Simple] syntax applies also. So the table below
+This language is an *extension* to the <<simple-language,Simple>> language
+so the <<simple-language,Simple>> syntax applies also. So the table below
 only lists the additional.  +
- As opposed to link:simple.html[Simple] language
-link:file-language.html[File Language] also supports
-link:constant.html[Constant] expressions so you can enter a fixed
+ As opposed to <<simple-language,Simple>> language
+<<file-language,File Language>> also supports
+<<constant-language,Constant>> expressions so you can enter a fixed
 filename.
 
 All the file tokens use the same expression name as the method on the
 `java.io.File` object, for instance `file:absolute` refers to the
 `java.io.File.getAbsolute()` method. Notice that not all expressions are
-supported by the current Exchange. For instance the link:ftp.html[FTP]
+supported by the current Exchange. For instance the <<ftp-component,FTP>>
 component supports some of the options, where as the
 link:file2.html[File] component supports all of them.
 
@@ -95,9 +95,9 @@ this expression strips only the last part, and keep the others.
 |file:modified |Date |yes |no |yes |no |Refers to the file last modified returned as a Date type
 
 |date:_command:pattern_ |String |yes |yes |yes |yes |for date formatting using the `java.text.SimpleDateFormat` patterns. Is
-an *extension* to the link:simple.html[Simple] language. Additional
+an *extension* to the <<simple-language,Simple>> language. Additional
 command is: *file* (consumers only) for the last modified timestamp of
-the file. Notice: all the commands from the link:simple.html[Simple]
+the file. Notice: all the commands from the <<simple-language,Simple>>
 language can also be used.
 |===
 
@@ -171,7 +171,7 @@ return as:
 
 === Samples
 
-You can enter a fixed link:constant.html[Constant] expression such as
+You can enter a fixed <<constant-language,Constant>> expression such as
 `myfile.txt`:
 
 [source]
@@ -196,7 +196,7 @@ should be a sibling folder then you can append .. as:
 fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
 ----
 
-As this is an extension to the link:simple.html[Simple] language we have
+As this is an extension to the <<simple-language,Simple>> language we have
 access to all the goodies from this language also, so in this use case
 we want to use the in.header.type as a parameter in the dynamic
 expression:
@@ -223,14 +223,14 @@ fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
 ----
 
 And of course all this can be combined in one expression where you can
-use the link:file-language.html[File Language], link:simple.html[Simple]
-and the link:bean.html[Bean] language in one combined expression. This
+use the <<file-language,File Language>>, <<file-language,Simple>>
+and the <<bean-component,Bean>> language in one combined expression. This
 is pretty powerful for those common file path patterns.
 
 === Using Spring PropertyPlaceholderConfigurer together with the File component
 
-In Camel you can use the link:file-language.html[File Language] directly
-from the link:simple.html[Simple] language which makes a
+In Camel you can use the <<file-language,File Language>> directly
+from the <<simple-language,Simple>> language which makes a
 link:content-based-router.html[Content Based Router] easier to do in
 Spring XML, where we can route based on file extensions as shown below:
 
diff --git a/camel-core/src/main/docs/gzip-dataformat.adoc b/camel-core/src/main/docs/gzip-dataformat.adoc
index 70bc62a..2ec6fef 100644
--- a/camel-core/src/main/docs/gzip-dataformat.adoc
+++ b/camel-core/src/main/docs/gzip-dataformat.adoc
@@ -5,7 +5,7 @@
 
 The GZip link:data-format.html[Data Format] is a message compression and
 de-compression format. It uses the same deflate algorithm that is used
-in link:zip-dataformat.html[Zip DataFormat], although some additional
+in <<zip-dataformat,Zip DataFormat>>, although some additional
 headers are provided. This format is produced by popular `gzip`/`gunzip`
 tool. Messages marshalled using GZip compression can be unmarshalled
 using GZip decompression just prior to being consumed at the endpoint.
diff --git a/camel-core/src/main/docs/language-component.adoc b/camel-core/src/main/docs/language-component.adoc
index 8eb82be..4d29204 100644
--- a/camel-core/src/main/docs/language-component.adoc
+++ b/camel-core/src/main/docs/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
-link:groovy.html[Groovy] or link:javascript.html[JavaScript] languages.
+<<groovy-language,Groovy>> or <<groovy-language,JavaScript>> languages.
 
 === URI format
 
@@ -26,7 +26,7 @@ language://languageName[:script][?options]
 
 And from Camel 2.11 onwards you can refer to an external resource for
 the script using same notation as supported by the other
-link:language.html[Language]s in Camel
+<<language-component,Language>>s in Camel
 
 [source]
 ----
@@ -90,17 +90,17 @@ script configured on the endpoint.
 
 === Examples
 
-For example you can use the link:simple.html[Simple] language to
+For example you can use the <<simple-language,Simple>> language to
 link:message-translator.html[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 link:groovy.html[Groovy] language, such as this
+You can also use the <<groovy-language,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
-link:xpath.html[XPath] language to extract the text from the `<foo>`
+<<xpath-language,XPath>> language to extract the text from the `<foo>`
 tag.
 
 [source,java]
@@ -127,5 +127,5 @@ evaluation. +
 updated script is used:
 
 From *Camel 2.11* onwards you can refer to the resource similar to the
-other link:language.html[Language]s in Camel by prefixing with
+other <<language-component,Language>>s in Camel by prefixing with
 `"resource:"` as shown below:
\ No newline at end of file
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index d6a04ce..8e46851 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -227,7 +227,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 link:log.html[#Formatting] section, you
+With the options outlined in the <<log-component,#Formatting>> section, you
 can control much of the output of the logger. However, log lines will
 always follow this structure:
 
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index 8170645..532b223 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -5,8 +5,8 @@
 
 
 link:testing.html[Testing] of distributed and asynchronous processing is
-notoriously difficult. The link:mock.html[Mock], link:test.html[Test]
-and link:dataset.html[DataSet] endpoints work great with the
+notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
+and <<dataset-component,DataSet>> endpoints work great with the
 link:testing.html[Camel Testing Framework] to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
@@ -29,16 +29,16 @@ link:expression.html[Expression] to create an order testing function,
 * Messages arrive match some kind of link:predicate.html[Predicate] such
 as that specific headers have certain values, or that parts of the
 messages match some predicate, such as by evaluating an
-link:xpath.html[XPath] or link:xquery.html[XQuery]
+<<xpath-language,XPath>> or <<xpath-language,XQuery>>
 link:expression.html[Expression].
 
 [NOTE]
-There is also the link:test.html[Test endpoint] which is a
+There is also the <<test-component,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 link:file2.html[File]
-or link:jpa.html[database], for example.
+or <<jpa-component,database>>, for example.
 
 [CAUTION]
 *Mock endpoints keep received Exchanges in memory indefinitely.* +
@@ -244,7 +244,7 @@ Camel routes.
 
 [NOTE]
 *How it works* The endpoints are still in action. What happens differently
-is that a link:mock.html[Mock] endpoint is injected and receives the
+is that a <<mock-component,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.
 
@@ -351,7 +351,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 link:log.html[Log] endpoints you can define the pattern
+To only mock all <<log-component,Log>> endpoints you can define the pattern
 in the constructor for the bean:
 
 [source,xml]
@@ -391,7 +391,7 @@ include::../../../../components/camel-test/src/test/java/org/apache/camel/test/p
 
 *Available as of Camel 2.10*
 
-The link:mock.html[Mock] endpoints will by default keep a copy of every
+The <<mock-component,Mock>> endpoints will by default keep a copy of every
 link:exchange.html[Exchange] that it received. So if you test with a lot
 of messages, then it will consume memory. +
 From Camel 2.10 onwards we have introduced two options `retainFirst` and
@@ -426,7 +426,7 @@ expectations on the 10 retained messages.
 
 *Available as of Camel 2.7*
 
-The link:mock.html[Mock] endpoint stores the arrival time of the message
+The <<mock-component,Mock>> endpoint stores the arrival time of the message
 as a property on the link:exchange.html[Exchange].
 
 [source,java]
@@ -437,7 +437,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 link:mock.html[Mock]
+set expectations using the `arrives` DSL on the <<mock-component,Mock>>
 endpoint.
 
 For example to say that the first message should arrive between 0-2
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index dca3957..b12529b 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -106,7 +106,7 @@ The property placeholder is generally in use when doing:
 * lookup of beans in the link:registry.html[Registry]
 * additional supported in Spring XML (see below in examples)
 * using Blueprint PropertyPlaceholder with Camel
-link:properties.html[Properties] component
+<<properties-component,Properties>> component
 * using `@PropertyInject` to inject a property in a POJO
 * *Camel 2.14.1* Using default value if a property does not exists
 * *Camel 2.14.1* Include out of the box functions, to lookup property
@@ -309,7 +309,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 link:properties.html[Properties] component as
+Then you could setup the <<properties-component,Properties>> component as
 follows:
 
 [source,xml]
@@ -408,9 +408,9 @@ link:producertemplate.html[ProducerTemplate] for example:
 template.sendBody("{{cool.start}}", "Hello World");
 ----
 
-=== Example with link:simple.html[Simple] language
+=== Example with <<simple-language,Simple>> language
 
-The link:simple.html[Simple] language now also support using property
+The <<simple-language,Simple>> language now also support using property
 placeholders, for example in the route below:
 
 [source,java]
@@ -423,7 +423,7 @@ from("direct:start")
     .transform().simple("Hi ${body} do you think ${properties:cheese.quote}?");
 ----
 
-You can also specify the location in the link:simple.html[Simple]
+You can also specify the location in the <<simple-language,Simple>>
 language for example:
 
 [source,java]
@@ -720,7 +720,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 link:simple.html[Simple] in Camel, and therefore
+syntax clashes with the <<simple-language,Simple>> in Camel, and therefore
 take care. For example:
 
 [source,xml]
@@ -731,7 +731,7 @@ take care. For example:
 ----
 
 clashes with Spring property placeholders, and you should use `$simple{ }`
-to indicate using the link:simple.html[Simple] language in Camel.
+to indicate using the <<simple-language,Simple>> language in Camel.
 
 [source,xml]
 ----
@@ -748,7 +748,7 @@ An alternative is to configure the `PropertyPlaceholderConfigurer` with
 *Available as of Camel 2.10*
 
 When link:testing.html[Testing] with Camel and using the
-link:properties.html[Properties] component, you may want to be able to
+<<properties-component,Properties>> component, you may want to be able to
 provide the properties to be used from directly within the unit test
 source code. +
 This is now possible from Camel 2.10 onwards, as the Camel test kits, eg
@@ -827,7 +827,7 @@ private int timeout;
 
 *Available as of Camel 2.14.1*
 
-The link:properties.html[Properties] component includes the following
+The <<properties-component,Properties>> component includes the following
 functions out of the box
 
 * `env` - A function to lookup the property from OS environment variables
@@ -895,7 +895,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 link:http.html[HTTP] component to make the HTTP call:
+the <<http-component,HTTP>> component to make the HTTP call:
 
 [source,xml]
 ----
@@ -924,7 +924,7 @@ example to call a service on localhost, maybe for unit testing etc
 
 *Available as of Camel 2.14.1*
 
-The link:properties.html[Properties] component allow to plugin 3rd party
+The <<properties-component,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,
@@ -992,6 +992,6 @@ pc.addFunction(new MyBeerFunction());
 
 === See Also
 
-* link:properties.html[Properties] component
+* <<properties-component,Properties>> component
 * link:jasypt.html[Jasypt] for using encrypted values (eg passwords) in
 the properties
\ No newline at end of file
diff --git a/camel-core/src/main/docs/request-reply.adoc b/camel-core/src/main/docs/request-reply.adoc
index 339c7fd..5b7a75f 100644
--- a/camel-core/src/main/docs/request-reply.adoc
+++ b/camel-core/src/main/docs/request-reply.adoc
@@ -11,7 +11,7 @@ this pattern using the underlying transport or protocols.
 
 image:http://www.enterpriseintegrationpatterns.com/img/RequestReply.gif[image]
 
-For example when using link:jms.html[JMS] with InOut the component will
+For example when using <<jms-component,JMS>> with InOut the component will
 by default perform these actions
 
 * create by default a temporary inbound queue
@@ -27,7 +27,7 @@ TIP: *Related* See the related link:event-message.html[Event Message] message
 [[RequestReply-ExplicitlyspecifyingInOut]]
 === Explicitly specifying InOut
 
-When consuming messages from link:jms.html[JMS] a Request-Reply is
+When consuming messages from <<jms-component,JMS>> a Request-Reply is
 indicated by the presence of the *JMSReplyTo* header.
 
 You can explicitly force an endpoint to be in Request Reply mode by
diff --git a/camel-core/src/main/docs/rest-component.adoc b/camel-core/src/main/docs/rest-component.adoc
index 3bc6b74..f045422 100644
--- a/camel-core/src/main/docs/rest-component.adoc
+++ b/camel-core/src/main/docs/rest-component.adoc
@@ -245,4 +245,4 @@ containers.
 === See Also
 
 * link:rest-dsl.html[Rest DSL]
-* link:servlet.html[SERVLET]
\ No newline at end of file
+* <<servlet-component,SERVLET>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/rest-dsl.adoc b/camel-core/src/main/docs/rest-dsl.adoc
index fc5c201..7032e42 100644
--- a/camel-core/src/main/docs/rest-dsl.adoc
+++ b/camel-core/src/main/docs/rest-dsl.adoc
@@ -8,10 +8,10 @@ REST style with verbs such as get, post, delete etc.
 
 === How it works
 
-The Rest DSL is a facade that builds link:rest.html[Rest] endpoints as
+The Rest DSL is a facade that builds <<rest-component,Rest>> endpoints as
 consumers for Camel routes. The actual REST transport is leveraged by
 using Camel REST components such
-as link:restlet.html[Restlet], link:spark-rest.html[Spark-rest], and
+as <<restlet-component,Restlet>>, <<restlet-component,Spark-rest>>, and
 others that has native REST integration.
 
 === Components supporting Rest DSL
@@ -19,19 +19,19 @@ others that has native REST integration.
 The following Camel components supports the Rest DSL. See the bottom of
 this page for how to integrate a component with the Rest DSL.
 
-* link:netty-http.html[camel-netty-http] (also
+* <<netty-http-component,camel-netty-http>> (also
 supports link:swagger-java.html[Swagger Java])
-* link:netty4-http.html[camel-netty4-http] (also
+* <<netty4-http-component,camel-netty4-http>> (also
 supports link:swagger-java.html[Swagger Java])
-* link:jetty.html[camel-jetty] (also
+* <<jetty-component,camel-jetty>> (also
 supports link:swagger-java.html[Swagger Java])
-* link:restlet.html[camel-restlet] (also
+* <<restlet-component,camel-restlet>> (also
 supports link:swagger-java.html[Swagger Java])
-* link:servlet.html[camel-servlet] (also
+* <<servlet-component,camel-servlet>> (also
 supports link:swagger-java.html[Swagger Java])
-* link:spark-rest.html[camel-spark-rest] (also
+* <<spark-rest-component,camel-spark-rest>> (also
 supports link:swagger-java.html[Swagger Java] from Camel 2.17 onwards)
-* link:undertow.html[camel-undertow] (also
+* <<undertow-component,camel-undertow>> (also
 supports link:swagger-java.html[Swagger Java] from Camel 2.17 onwards)
 
 === Rest DSL with Java
@@ -180,7 +180,7 @@ only. The example above can be defined as:
 
 The link:rest-dsl.html[Rest DSL] supports the new .toD <toD> as dynamic
 to in the rest-dsl. For example to do a request/reply
-over link:jms.html[JMS] where the queue name is dynamic defined
+over <<jms-component,JMS>> where the queue name is dynamic defined
 
 [source,java]
 ----
@@ -203,7 +203,7 @@ over link:jms.html[JMS] where the queue name is dynamic defined
 
 See more details at link:message-endpoint.html[Message Endpoint] about
 the dynamic to, and what syntax it supports. By default it uses
-the link:simple.html[Simple] language, but it has more power than so.
+the <<simple-language,Simple>> language, but it has more power than so.
 
 === Embedding Camel routes
 
diff --git a/camel-core/src/main/docs/return-address.adoc b/camel-core/src/main/docs/return-address.adoc
index c0c5e6f5..239e788 100644
--- a/camel-core/src/main/docs/return-address.adoc
+++ b/camel-core/src/main/docs/return-address.adoc
@@ -7,7 +7,7 @@ patterns] by using the `JMSReplyTo` header.
 
 image:http://www.enterpriseintegrationpatterns.com/img/ReturnAddressSolution.gif[image]
 
-For example when using link:jms.html[JMS] with InOut the component will
+For example when using <<jms-component,JMS>> with InOut the component will
 by default return to the address given in `JMSReplyTo`.
 
 *Requestor Code*
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index dc212b3..fbb9a49 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/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
- link:timer.html[Timer] component, but it offers more functionality in
+ <<timer-component,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`.
 
@@ -158,5 +158,5 @@ exchange.
 
 === See Also
 
-* link:timer.html[Timer]
-* link:quartz.html[Quartz]
\ No newline at end of file
+* <<timer-component,Timer>>
+* <<quartz-component,Quartz>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index f09f6a5..3edb668 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/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_
 link:camelcontext.html[CamelContext]. If you want to communicate across
 `CamelContext` instances (for example, communicating between Web
-applications), see the link:vm.html[VM] component.
+applications), see the <<vm-component,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
-link:jms.html[JMS] or link:activemq.html[ActiveMQ].
+<<jms-component,JMS>> or <<jms-component,ActiveMQ>>.
 
 TIP:*Synchronous*
-The link:direct.html[Direct] component provides synchronous invocation
+The <<direct-component,Direct>> component provides synchronous invocation
 of any consumers when a producer sends a message exchange.
 
 === URI format
@@ -133,7 +133,7 @@ ArrayBlockingQueueFactory and PriorityBlockingQueueFactory:
 
 === Use of Request Reply
 
-The link:seda.html[SEDA] component supports using
+The <<seda-component,SEDA>> component supports using
 link:request-reply.html[Request Reply], where the caller will wait for
 the link:async.html[Async] route to complete. For instance:
 
@@ -152,7 +152,7 @@ copies the response to the original message response.
 
 NOTE: *until 2.2: Works only with 2 endpoints*
 Using link:request-reply.html[Request Reply] over link:seda.html[SEDA]
-or link:vm.html[VM] only works with 2 endpoints. You *cannot* chain
+or <<vm-component,VM>> only works with 2 endpoints. You *cannot* chain
 endpoints by sending to A -> B -> C etc. Only between A -> B. The reason
 is the implementation logic is fairly simple. To support 3+ endpoints
 makes the logic much more complex to handle ordering and notification
@@ -187,7 +187,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 link:direct.html[Direct] endpoint
+Instead, you might wish to configure a <<direct-component,Direct>> endpoint
 with a thread pool, which can process messages both synchronously and
 asynchronously. For example:
 
@@ -241,7 +241,7 @@ int size = seda.getExchanges().size();
 
 === See Also
 
-* link:vm.html[VM]
-* link:disruptor.html[Disruptor]
-* link:direct.html[Direct]
+* <<vm-component,VM>>
+* <<disruptor-component,Disruptor>>
+* <<direct-component,Direct>>
 * link:async.html[Async]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/simple-language.adoc b/camel-core/src/main/docs/simple-language.adoc
index f45c1da..bf66151 100644
--- a/camel-core/src/main/docs/simple-language.adoc
+++ b/camel-core/src/main/docs/simple-language.adoc
@@ -8,19 +8,19 @@ created, but has since grown more powerful. It is primarily intended for
 being a really small and simple language for evaluating
 link:expression.html[Expression]s and link:predicate.html[Predicate]s
 without requiring any new dependencies or knowledge of
-link:xpath.html[XPath]; so it is ideal for testing in camel-core. The
+<<xpath-language,XPath>>; so it is ideal for testing in camel-core. The
 idea was to cover 95% of the common use cases when you need a little bit
 of expression based script in your Camel routes.
 
 However for much more complex use cases you are generally recommended to
 choose a more expressive and powerful language such as:
 
-* link:spel.html[SpEL]
-* link:mvel.html[Mvel]
-* link:groovy.html[Groovy]
+* <<spel-language,SpEL>>
+* <<mvel-component,Mvel>>
+* <<groovy-language,Groovy>>
 * link:javascript.html[JavaScript]
-* link:el.html[EL]
-* link:ognl.html[OGNL]
+* <<el-language,EL>>
+* <<ognl-language,OGNL>>
 * one of the supported link:scripting-languages.html[Scripting
 Languages]
 
@@ -36,13 +36,13 @@ Spring property placeholder together with Camel.
 
 === Simple Language Changes in Camel 2.9 onwards
 
-The link:simple.html[Simple] language have been improved from Camel 2.9
+The <<simple-language,Simple>> language have been improved from Camel 2.9
 onwards to use a better syntax parser, which can do index precise error
 messages, so you know exactly what is wrong and where the problem is.
 For example if you have made a typo in one of the operators, then
 previously the parser would not be able to detect this, and cause the
 evaluation to be true. There are a few changes in the syntax which are
-no longer backwards compatible. When using link:simple.html[Simple]
+no longer backwards compatible. When using <<simple-language,Simple>>
 language as a link:predicate.html[Predicate] then the literal text
 *must* be enclosed in either single or double quotes. For example:
 `"${body} == 'Camel'"`. Notice how we have single quotes around the
@@ -215,9 +215,9 @@ Command accepts offsets such as: *now-24h* or *in.header.xxx+1h* or even *now+1h
 
 |date-with-timezone:_command:timezone:pattern_ |String |Date formatting using `java.text.SimpleDataFormat` timezones and patterns.
 
-|bean:_bean expression_ |Object |Invoking a bean expression using the link:bean.html[Bean] language.
+|bean:_bean expression_ |Object |Invoking a bean expression using the <<bean-component,Bean>> language.
 Specifying a method name you must use dot as separator. We also support
-the ?method=methodname syntax that is used by the link:bean.html[Bean]
+the ?method=methodname syntax that is used by the <<bean-component,Bean>>
 component.
 
 |properties:_locations:key_ |String |*Deprecated (use properties-location instead) Camel 2.3:* Lookup a
@@ -281,7 +281,7 @@ fields. From *Camel 2.11.1* onwards we added special support for accessing the
 length field of Java arrays.
 
 
-The link:simple.html[Simple] and link:bean.html[Bean] language now
+The <<simple-language,Simple>> and <<simple-language,Bean>> language now
 supports a Camel OGNL notation for invoking beans in a chain like
 fashion. Suppose the Message IN body contains a POJO which has a `getAddress()`
 method.
@@ -502,7 +502,7 @@ function, otherwise parsed as literal.
 |\ |*Camel 2.9.3 to 2.10.x* To escape a value, eg \$, to indicate a $ sign.
 Special: Use \n for new line, \t for tab, and \r for carriage return.
 *Notice:* Escaping is *not* supported using the
-link:file-language.html[File Language]. *Notice:* From Camel 2.11
+<<file-language,File Language>>. *Notice:* From Camel 2.11
 onwards the escape character is no longer support, but replaced with the
 following three special escaping.
 
@@ -803,7 +803,7 @@ from("direct:order")
 ----
 
 We can use the `?method=methodname` option that we are familiar with the
-link:bean.html[Bean] component itself:
+<<bean-component,Bean>> component itself:
 
 [source,java]
 ----
@@ -858,7 +858,7 @@ From Camel 2.9 onwards you can nest functions, such as shown below:
 Suppose you have an enum for customers
 
 And in a link:content-based-router.html[Content Based Router] we can use
-the link:simple.html[Simple] language to refer to this enum, to check
+the <<simple-language,Simple>> language to refer to this enum, to check
 the message which enum it matches.
 
 === Using new lines or tabs in XML DSLs
@@ -895,7 +895,7 @@ whitespace characters.
 
 *Available as of Camel 2.8*
 
-You can now provide a result type to the link:simple.html[Simple]
+You can now provide a result type to the <<simple-language,Simple>>
 expression, which means the result of the evaluation will be converted
 to the desired type. This is most useable to define types such as
 booleans, integers, etc.
@@ -977,4 +977,4 @@ You can set a spring bean into an exchange property as shown below:
 
 === Dependencies
 
-The link:simple.html[Simple] language is part of *camel-core*.
\ No newline at end of file
+The <<simple-language,Simple>> language is part of *camel-core*.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/stub-component.adoc b/camel-core/src/main/docs/stub-component.adoc
index f38eed6..0a77d0f 100644
--- a/camel-core/src/main/docs/stub-component.adoc
+++ b/camel-core/src/main/docs/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
-link:mail.html[SMTP] or link:http.html[Http] endpoint. Just add *stub:*
+<<mail-component,SMTP>> or <<mail-component,Http>> endpoint. Just add *stub:*
 in front of any endpoint URI to stub out the endpoint.
 
-Internally the Stub component creates link:vm.html[VM] endpoints. The
-main difference between link:stub.html[Stub] and link:vm.html[VM] is
-that link:vm.html[VM] will validate the URI and parameters you give it,
+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,
 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/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index a09b61c..a590b50 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -4,23 +4,23 @@
 *Available as of Camel version 1.3*
 
 link:testing.html[Testing] of distributed and asynchronous processing is
-notoriously difficult. The link:mock.html[Mock], link:test.html[Test]
-and link:dataset.html[DataSet] endpoints work great with the
+notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
+and <<dataset-component,DataSet>> endpoints work great with the
 link:testing.html[Camel Testing Framework] to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
 Patterns] and Camel's large range of link:components.html[Components]
 together with the powerful link:bean-integration.html[Bean Integration].
 
-The *test* component extends the link:mock.html[Mock] component to
+The *test* component extends the <<mock-component,Mock>> component to
 support pulling messages from another endpoint on startup to set the
-expected message bodies on the underlying link:mock.html[Mock] endpoint.
+expected message bodies on the underlying <<mock-component,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 link:mock.html[Mock]
+This will then set up a properly configured <<mock-component,Mock>>
 endpoint, which is only valid if the received messages match the number
 of expected messages and their message payloads are equal.
 
@@ -37,7 +37,7 @@ for this component when using *Camel 2.8* or older:
 </dependency>
 ----
 
-From Camel 2.9 onwards the link:test.html[Test] component is provided
+From Camel 2.9 onwards the <<test-component,Test>> component is provided
 directly in the camel-core.
 
 === URI format
@@ -113,7 +113,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
-link:mock.html[Mock] component.
+<<mock-component,Mock>> component.
 
 === See Also
 
diff --git a/camel-core/src/main/docs/timer-component.adoc b/camel-core/src/main/docs/timer-component.adoc
index 0d882ab..5bc70a6 100644
--- a/camel-core/src/main/docs/timer-component.adoc
+++ b/camel-core/src/main/docs/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 link:quartz.html[Quartz] component that supports much more
+See also the <<quartz-component,Quartz>> component that supports much more
 advanced scheduling.
 
 TIP:*Specify time in human friendly format*
@@ -164,5 +164,5 @@ starting the route. To do that you use the repeatCount option as shown:
 
 === See Also
 
-* link:scheduler.html[Scheduler]
-* link:quartz.html[Quartz]
\ No newline at end of file
+* <<scheduler-component,Scheduler>>
+* <<quartz-component,Quartz>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index d933bb6..a3dc1f2 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/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 link:jing.html[Jing] component also supports the following
+Note that the <<jing-component,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 link:msv.html[MSV] component also supports
+The <<msv-component,MSV>> component also supports
 http://relaxng.org/[RelaxNG XML Syntax].
 
 === URI format
diff --git a/camel-core/src/main/docs/validator.adoc b/camel-core/src/main/docs/validator.adoc
index 443c8e5..683c3e6 100644
--- a/camel-core/src/main/docs/validator.adoc
+++ b/camel-core/src/main/docs/validator.adoc
@@ -105,7 +105,7 @@ And here is an example to specify endpoint ref in XML DSL:
 
 Note that the Endpoint Validator just forwards the message to the specified endpoint. In above example,
 camel forwards the message to the `validator:` endpoint, which actually is a
-link:validator-component.adoc[Validation Component]. You can also use any other validation component like
+<<validator-component,Validation Component>>. You can also use any other validation component like
 link:bean-validation.html[Bean Validation Component].
 
 [[Validator-Custom]]
diff --git a/camel-core/src/main/docs/vm-component.adoc b/camel-core/src/main/docs/vm-component.adoc
index 989256a..c21db86 100644
--- a/camel-core/src/main/docs/vm-component.adoc
+++ b/camel-core/src/main/docs/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 link:seda.html[Seda] component in that
+This component differs from the <<seda-component,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 link:seda.html[Seda] component.
+VM is an extension to the <<seda-component,Seda>> component.
 
 === URI format
 
@@ -30,9 +30,9 @@ camel-core.jar)
 You can append query options to the URI in the following format:
 `?option=value&option=value&...`
 
-An exactly identical link:vm.html[VM] endpoint URI *must* be used for
+An exactly identical <<vm-component,VM>> endpoint URI *must* be used for
 both the producer and the consumer endpoint. Otherwise, Camel will
-create a second link:vm.html[VM] endpoint despite that the `queueName`
+create a second <<vm-component,VM>> endpoint despite that the `queueName`
 portion of the URI is identical. For example:
 
 [source,java]
@@ -116,8 +116,8 @@ with the following path and query parameters:
 // endpoint options: END
 
 
-See the link:seda.html[Seda] component for options and other important
-usage details as the same rules apply to the link:vm.html[Vm] component.
+See the <<seda-component,Seda>> component for options and other important
+usage details as the same rules apply to the <<vm-component,Vm>> component.
 
 === Samples
 
@@ -139,4 +139,4 @@ from("vm:order.email").bean(MyOrderEmailSender.class);
 
 === See Also
 
-* link:seda.html[Seda]
\ No newline at end of file
+* <<seda-component,Seda>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/xpath-language.adoc b/camel-core/src/main/docs/xpath-language.adoc
index cd49968..c8ace31 100644
--- a/camel-core/src/main/docs/xpath-language.adoc
+++ b/camel-core/src/main/docs/xpath-language.adoc
@@ -16,7 +16,7 @@ link:recipient-list.html[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
-link:xpath.html[XPath] as link:message-filter.html[Message Filter] or
+<<xpath-language,XPath>> as <<xpath-language,Message Filter>> or
 link:content-based-router.html[Content Based Router] then you need to
 access the data multiple times, and you should use
 link:stream-caching.html[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 |*Camel 2.5:* To lookup a property using the
-link:properties.html[Properties] component (property placeholders).
+<<properties-component,Properties>> component (property placeholders).
 
-|function:simple |simple expression |Object |*Camel 2.5:* To evaluate a link:simple.html[Simple] expression.
+|function:simple |simple expression |Object |*Camel 2.5:* To evaluate a <<simple-language,Simple>> expression.
 |===
 
 CAUTION: `function:properties` and `function:simple` is not supported
@@ -172,10 +172,10 @@ on the mailinglist] about using your own namespaces with xpath
 
 === Setting result type
 
-The link:xpath.html[XPath] expression will return a result type using
+The <<xpath-language,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
-link:xpath.html[XPath] which result type to use.
+<<xpath-language,XPath>> which result type to use.
 
 In Java DSL:
 
@@ -422,7 +422,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
-link:xpath.html[Auditing Namespaces], in which case the logging will
+<<xpath-language,Auditing Namespaces>>, in which case the logging will
 occur on the INFO level
 
 === Auditing namespaces
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index f05d67c..1c8a681 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -48,7 +48,7 @@ for this component:
 </dependency>
 ----
 
-From *Camel 2.9* onwards the link:xslt.html[XSLT] component is provided
+From *Camel 2.9* onwards the <<xslt-component,XSLT>> component is provided
 directly in the camel-core.
 
 === Options
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 2dcbc8d..ff8a193 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -7,7 +7,7 @@ The *ahc-ws* component provides Websocket
 based link:endpoint.html[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 link:ahc.html[AHC] component that in turn uses
+The component uses the <<ahc-component,AHC>> component that in turn uses
 the https://github.com/AsyncHttpClient/async-http-client[Async Http
 Client] library.
 
@@ -167,4 +167,4 @@ And the equivalent Spring sample:
 * link:getting-started.html[Getting Started]
 
 * link:../../../../camel-ahc/src/main/docs/readme.html[AHC]
-* link:atmosphere-websocket.html[Atmosphere-Websocket]
\ No newline at end of file
+* <<atmosphere-websocket-component,Atmosphere-Websocket>>
\ No newline at end of file
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index ec013ce..fffc8a6 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -440,6 +440,6 @@ Spring DSL based configuration of endpoint
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:jetty.html[Jetty]
-* link:http.html[HTTP]
-* link:http4.html[HTTP4]
\ No newline at end of file
+* <<jetty-component,Jetty>>
+* <<http-component,HTTP>>
+* <<http4-component,HTTP4>>
\ No newline at end of file
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index d6dd2dd..5db7578 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -6,7 +6,7 @@
 The *amqp:* component supports the http://www.amqp.org/[AMQP 1.0
 protocol] using the JMS Client API of the http://qpid.apache.org/[Qpid]
 project. In case you want to use AMQP 0.9 (in particular RabbitMQ) you
-might also be interested in the link:rabbitmq.html[Camel RabbitMQ]
+might also be interested in the <<rabbitmq-component,Camel RabbitMQ>>
 component. Please keep in mind that prior to the Camel 2.17.0 AMQP
 component supported AMQP 0.9 and above, however since Camel 2.17.0 it
 supports only AMQP 1.0.
@@ -330,7 +330,7 @@ AMQPConnectionDetails amqpConnection() {
 }
 ------------------------------------------------------------------------------------- 
 
-You can also rely on the link:properties.html[Camel properties] to read
+You can also rely on the <<properties-component,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/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 320e4dd..5e5364b 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -7,7 +7,7 @@ The *atmosphere-websocket:* component provides Websocket
 based link:endpoint.html[endpoints] for a servlet communicating with
 external clients over Websocket (as a servlet accepting websocket
 connections from external clients). +
-The component uses the link:servlet.html[SERVLET] component and uses
+The component uses the <<servlet-component,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, ...).
@@ -185,7 +185,7 @@ And the equivalent Spring sample:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:servlet.html[SERVLET]
-* link:ahc-ws.html[AHC-WS]
+* <<servlet-component,SERVLET>>
+* <<ahc-ws-component,AHC-WS>>
 *
 https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
\ No newline at end of file
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index 086e2ff..bd9015f 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -146,4 +146,4 @@ in any Container or using Spring.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:rss.html[RSS]
\ No newline at end of file
+* <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure.adoc b/components/camel-azure/src/main/docs/azure.adoc
index ea11038..6a9b53c 100644
--- a/components/camel-azure/src/main/docs/azure.adoc
+++ b/components/camel-azure/src/main/docs/azure.adoc
@@ -10,6 +10,6 @@ provide connectivity to Azure services from Camel.
 |=======================================================================
 |Azure Service |Camel Component |Camel Version | Component Description
 
-|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |link:azure-blob.html[Azure-Blob] |2.9.0 |Supports storing and retrieving of blobs
-|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |link:azure-queue.html[Azure-Queue] |2.9.0 |Supports storing and retrieving of messages in the queues
+|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |<<azure-blob-component,Azure-Blob>> |2.9.0 |Supports storing and retrieving of blobs
+|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |<<azure-queue-component,Azure-Queue>> |2.9.0 |Supports storing and retrieving of messages in the queues
 |=======================================================================
diff --git a/components/camel-bam/src/main/docs/bam-example.adoc b/components/camel-bam/src/main/docs/bam-example.adoc
index 130d04f..90159eb 100644
--- a/components/camel-bam/src/main/docs/bam-example.adoc
+++ b/components/camel-bam/src/main/docs/bam-example.adoc
@@ -53,17 +53,17 @@ the Camel link:components.html[Components]
 correlate together the purchase order and invoice messages which can be
 any link:expression.html[Expression] via any of the
 link:languages-supported.html[Languages Supported]. In this case we are
-using link:xpath.html[XPath].
+using <<xpath-language,XPath>>.
 
 Then the final line of code defines the temporal rules to use; namely
 that it is considered to be an error if an invoice is not received
 within 2 seconds of a purchase order being received. When a failure
-occurs in this example we just send it to the link:log.html[Log]
+occurs in this example we just send it to the <<log-component,Log>>
 component to log out an error level message to commons-logging / log4j.
 You could change this to use some of the other
 link:components.html[Components] such as link:activemq.html[ActiveMQ],
-link:jms.html[JMS], link:irc.html[IRC], link:mail.html[Mail],
-link:xmpp.html[XMPP] etc.
+<<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
+<<xmpp-component,XMPP>> etc.
 
 ### Running the example
 
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index 7f6b0af..c580a27 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -8,7 +8,7 @@ CamelContext with a number of routes which is then treated as a black
 box, allowing you to refer to the local endpoints within the component
 from other CamelContexts.
 
-It is similar to the link:routebox.html[Routebox] component in idea,
+It is similar to the <<routebox-component,Routebox>> component in idea,
 though the Context component tries to be really simple for end users;
 just a simple convention over configuration approach to refer to local
 endpoints inside the CamelContext Component.
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index d3d9c83..d4986dd 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -262,7 +262,7 @@ or with spring.
 
 ### Dependencies
 
-To use the link:crypto.html[Crypto] dataformat in your camel routes you
+To use the <<crypto-component,Crypto>> dataformat in your camel routes you
 need to add the following dependency to your pom.
 
 [source,xml]
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index c8fd4c1..6702b5e 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -292,7 +292,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 link:restlet.html[Camel Restlet] component, you don't need
+ Unlike the <<restlet-component,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/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index bbc9953..e7a2e71 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/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 link:seda.html[SEDA]. Alternatively, a
+utilized by the standard <<seda-component,SEDA>>. Alternatively, a
 
 *disruptor-vm:* endpoint is supported by this component, providing an
-alternative to the standard link:vm.html[VM]. As with the SEDA
+alternative to the standard <<vm-component,VM>>. As with the SEDA
 component, buffers of the *disruptor:* endpoints are only visible within
 a *single* link:camelcontext.html[CamelContext] and no support is
 provided for persistence or recovery. The buffers of the
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index bce4fc0..09add07 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -131,7 +131,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 link:ejb.html[EJB] component with the OpenEJB
+set a `JndiContext` on the <<ejb-component,EJB>> component with the OpenEJB
 settings.
 
 [source,java]
@@ -169,10 +169,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 link:ejb.html[EJB] component as it will create a
+`JndiContext` on the <<ejb-component,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
-link:ejb.html[EJB]s. However if you need to access a application server on a remote JVM or
+<<ejb-component,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
@@ -180,7 +180,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
-link:ejb.html[EJB] component:
+<<ejb-component,EJB>> component:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -195,7 +195,7 @@ link:ejb.html[EJB] component:
 </p:properties>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-Before we are ready to use link:ejb.html[EJB] in the Camel routes:
+Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -214,6 +214,6 @@ Before we are ready to use link:ejb.html[EJB] in the Camel routes:
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
-* link:bean.html[Bean]
+* <<bean-component,Bean>>
 * link:bean-binding.html[Bean Binding]
 * link:bean-integration.html[Bean Integration]
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index 781df4a..a6721dd 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.16*
 
 The *elsql:* component is an extension to the existing
-link:sql-component.html[SQL Component] that uses
+<<sql-component,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. *Camel 2.16.1:* from message body if link:simple.html[Simple]
+1. *Camel 2.16.1:* from message body if <<simple-language,Simple>>
 expression.
 
 2. from message body if its a `java.util.Map`3. from message headers
@@ -227,6 +227,6 @@ assumes to have `getLicense` and `getMinimum` methods:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:sql-component.html[SQL Component]
-* link:mybatis.html[MyBatis]
-* link:jdbc.html[JDBC]
\ No newline at end of file
+* <<sql-component,SQL Component>>
+* <<mybatis-component,MyBatis>>
+* <<jdbc-component,JDBC>>
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index c411608..f049d5a 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -202,7 +202,7 @@ easy link:bean-integration.html[Bean Integration]
 
 ### Flatpack DataFormat
 
-The link:flatpack.html[Flatpack] component ships with the Flatpack data
+The <<flatpack-component,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/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index 8c0be57c..bd1a2fb 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.1*
 
-The link:flatpack.html[Flatpack] component ships with the Flatpack data
+The <<flatpack-component,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/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index edbf784..ca85f49 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -19,7 +19,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at link:ftp.html[FTP component]
+For more information you can look at <<ftp-component,FTP component>>
 
 ### URI Options
 
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index c7299f3..2006bdf 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -19,7 +19,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at link:ftp.html[FTP component]
+For more information you can look at <<ftp-component,FTP component>>
 
 ### URI Options
 
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index f97af3a..5a35351 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -107,7 +107,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -126,7 +126,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index b7e0f42..7d16a26 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -263,4 +263,4 @@ https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:protobuf.html[Protocol Buffers Data Format]
\ No newline at end of file
+* <<protobuf-dataformat,Protocol Buffers Data Format>>
\ No newline at end of file
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast.adoc b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
index 55f638d..91d39ee 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
@@ -31,17 +31,17 @@ for this component:
 
 ### Hazelcast components
 See followings for each component usage:
-* link:hazelcast-map-component.html[map]
-* link:hazelcast-multimap-component.html[multimap]
-* link:hazelcast-queue-component.html[queue]
-* link:hazelcast-topic-component.html[topic]
-* link:hazelcast-list-component.html[list]
-* link:hazelcast-seda-component.html[seda]
-* link:hazelcast-set-component.html[set]
-* link:hazelcast-atomicvalue-component.html[atomic number]
-* link:hazelcast-instance-component.html[cluster support (instance)]
-* link:hazelcast-replicatedmap-component.html[replicatedmap] 
-* link:hazelcast-ringbuffer-component.html[ringbuffer] 
+* <<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>> 
 
 
 
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index 9dba902..ba2c869 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -222,7 +222,7 @@ split strategy.
 
 *Available as of Camel 2.10.4*
 
-When using the link:hdfs.html[HDFS] producer *without* a split strategy,
+When using the <<hdfs-component,HDFS>> 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/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index 2fa0b5e..8356261 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -213,7 +213,7 @@ split strategy.
 
 ### Controlling to close file stream
 
-When using the link:hdfs2.html[HDFS2] producer *without* a split
+When using the <<hdfs2-component,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/components/camel-hl7/src/main/docs/hl7-dataformat.adoc b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
index 1a71d85..d122114 100644
--- a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
+++ b/components/camel-hl7/src/main/docs/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 link:mina2.html[Mina]
-* HL7 MLLP codec for link:netty4.html[Netty4] from *Camel 2.15* onwards
+* HL7 MLLP codec for <<mina2-component,Mina>>
+* HL7 MLLP codec for <<netty4-component,Netty4>> from *Camel 2.15* onwards
 * link:type-converter.html[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
-link:mina2.html[camel-mina2] component.
+<<mina2-component,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 link:mina2.html[camel-mina2] or
-link:netty4.html[camel-netty4] component is used with the
+a HL7 listener service, the <<mina2-component,camel-mina2>> or
+<<netty4-component,camel-netty4>> component is used with the
 `HL7MLLPCodec` (mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
 (Netty4).
 
@@ -207,7 +207,7 @@ String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
 
 ### HL7 DataFormat
 
-The link:hl7.html[HL7] component ships with a HL7 data format that can
+The <<hl7-dataformat,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/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 3667eb7..30a0425 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -34,8 +34,8 @@ Will by default use port 80 for HTTP and 443 for HTTPS.
 You can only produce to endpoints generated by the HTTP 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, you can use the link:jetty.html[Jetty Component] or the
-link:servlet.html[Servlet Component]
+route, you can use the <<jetty-component,Jetty Component>> or the
+<<servlet-component,Servlet Component>>
 
 
 ### Examples
@@ -417,7 +417,7 @@ behavior.
 
 #### Setting MaxConnectionsPerHost
 
-The link:http.html[HTTP] Component has a
+The <<http-component,HTTP>> Component has a
 `org.apache.commons.httpclient.HttpConnectionManager` where you can
 configure various global configuration for the given component. +
  By global, we mean that any endpoint the component creates has the same
@@ -549,4 +549,4 @@ keystore and truststore as described above, it will work fine.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:jetty.html[Jetty]
\ No newline at end of file
+* <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index 0a15f8c..5eed8d5 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/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 link:jetty.html[Jetty Component] instead.
+route, use the <<jetty-component,Jetty Component>> instead.
 
 ### Http4 Component Options
 
@@ -663,10 +663,10 @@ public class HttpContextFactory {
 [[HTTP4-UsingdifferentSSLContextParameters]]
 Using different SSLContextParameters
 
-The link:http4.html[HTTP4] component only support one instance of
+The <<http4-component,HTTP4>> component only support one instance of
 `org.apache.camel.util.jsse.SSLContextParameters` per component. If you
 need to use 2 or more different instances, then you need to setup
-multiple link:http4.html[HTTP4] components as shown below. Where we have
+multiple <<http4-component,HTTP4>> components as shown below. Where we have
 2 components, each using their own instance of `sslContextParameters`
 property.
 
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index 016d3f4..b420925 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -11,7 +11,7 @@ http://ibatis.apache.org/[Apache iBATIS].
 
 The Apache iBatis project is no longer active. The project is moved
 outside Apache and is now know as the MyBatis project. +
-Therefore we encourage users to use link:mybatis.html[MyBatis] instead.
+Therefore we encourage users to use <<mybatis-component,MyBatis>> instead.
 This camel-ibatis component will be removed in Camel 3.0.
 
 iBatis do not support Spring 4.x. So you can only use Spring 3.x or
@@ -212,10 +212,10 @@ body to iBatis:
 
 Since this component does not support scheduled polling, you need to use
 another mechanism for triggering the scheduled polls, such as the
-link:timer.html[Timer] or link:quartz.html[Quartz] components.
+<<timer-component,Timer>> or <<timer-component,Quartz>> components.
 
 In the sample below we poll the database, every 30 seconds using the
-link:timer.html[Timer] component and send the data to the JMS queue:
+<<timer-component,Timer>> component and send the data to the JMS queue:
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------------------------------
@@ -253,4 +253,4 @@ And the statements in the sqlmap file:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:mybatis.html[MyBatis]
\ No newline at end of file
+* <<mybatis-component,MyBatis>>
\ No newline at end of file
diff --git a/components/camel-ignite/src/main/docs/ignite.adoc b/components/camel-ignite/src/main/docs/ignite.adoc
index 0cc2634..f165706 100644
--- a/components/camel-ignite/src/main/docs/ignite.adoc
+++ b/components/camel-ignite/src/main/docs/ignite.adoc
@@ -8,13 +8,13 @@ image:https://ignite.apache.org/images/apache-ignite.png[]
 
 This component offers seven endpoints to cover much of Ignite's functionality:
 
-* link:ignite-cache-component.html[Ignite Cache].
-* link:ignite-compute-component.html[Ignite Compute].
-* link:ignite-messaging-component.html[Ignite Messaging].
-* link:ignite-events-component.html[Ignite Events].
-* link:ignite-set-component.html[Ignite Sets].
-* link:ignite-queue-component.html[Ignite Queues].
-* link:ignite-idgen-component.html[Ignite ID Generator].
+* <<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>>.
 
 To use this component, add the following dependency to your pom.xml:
 
diff --git a/components/camel-jasypt/src/main/docs/jasypt.adoc b/components/camel-jasypt/src/main/docs/jasypt.adoc
index 8497447..5541a0f 100644
--- a/components/camel-jasypt/src/main/docs/jasypt.adoc
+++ b/components/camel-jasypt/src/main/docs/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 link:properties.html[Properties] files to
+allow sensitive information in <<properties-component,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
@@ -83,7 +83,7 @@ Decrypted text: tiger
 ---------------------
 
 The idea is then to use those encrypted values in your
-link:properties.html[Properties] files. Notice how the password value is
+<<properties-component,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  [...]
@@ -140,7 +140,7 @@ The `password` option is then a matter of defining as follows:
 
 In Java DSL you need to configure link:jasypt.html[Jasypt] as a
 `JasyptPropertiesParser` instance and set it on the
-link:properties.html[Properties] component as show below:
+<<properties-component,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
@@ -149,7 +149,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 link:properties.html[Properties]
+is shown below. Then the Camel <<properties-component,Properties>>
 component is told to use `jasypt` as the properties parser, which means
 link:jasypt.html[Jasypt] has its chance to decrypt values looked up in
 the properties.
@@ -170,7 +170,7 @@ the properties.
 </bean>
 -----------------------------------------------------------------------------------------------------------
 
-The link:properties.html[Properties] component can also be inlined
+The <<properties-component,Properties>> component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer to
 link:jasypt.html[Jasypt].
@@ -200,7 +200,7 @@ link:jasypt.html[Jasypt].
 
 In Blueprint XML you need to configure
 the `JasyptPropertiesParser` which is shown below. Then the
-Camel link:properties.html[Properties] component is told to
+Camel <<properties-component,Properties>> component is told to
 use `jasypt` as the properties parser, which
 means link:jasypt.html[Jasypt] has its chance to decrypt values looked
 up in the properties.
@@ -240,7 +240,7 @@ up in the properties.
 </blueprint>
 ----------------------------------------------------------------------------------------------------------------
 
-The link:properties.html[Properties] component can also be inlined
+The <<properties-component,Properties>> component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer
 to link:jasypt.html[Jasypt].
@@ -275,7 +275,7 @@ to link:jasypt.html[Jasypt].
 ### See Also
 
 * link:security.html[Security]
-* link:properties.html[Properties]
+* <<properties-component,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/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
index de7ff7a..c850c16 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -191,7 +191,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 link:jaxb.html[JAXB] or link:soap.html[SOAP] then
+When marshalling using <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,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.
@@ -213,7 +213,7 @@ namespace "http://www.mycompany.com/foo/2" is not using any prefix.
   </util:map>
 -----------------------------------------------------------------------
 
-To use this in link:jaxb.html[JAXB] or link:soap.html[SOAP] you refer to
+To use this in <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> you refer to
 this map, using the `namespacePrefixRef` attribute as shown below. Then
 Camel will lookup in the link:registry.html[Registry] a `java.util.Map`
 with the id "myMap", which was what we defined above.
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index dcd9d43..535295c 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/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
-link:sql-component.html[SQL Component] component, which uses
+<<sql-component,SQL Component>> component, which uses
 spring-jdbc.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -140,7 +140,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 link:jdbc.html[JDBC] producer to
+generated keys. You can instruct the <<jdbc-component,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
@@ -214,8 +214,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 link:timer.html[Timer]
-or link:quartz.html[Quartz] etc. In the following example, we retrieve
+combine it with a polling scheduler such as the <<timer-component,Timer>>
+or <<quartz-component,Quartz>> etc. In the following example, we retrieve
 data from the database every 60 seconds:
 
 [source,java]
@@ -250,4 +250,4 @@ from("timer://MoveNewCustomersEveryHour?period=3600000")
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:sql.html[SQL]
\ No newline at end of file
+* <<sql-component,SQL>>
\ No newline at end of file
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index b537e51..616abb0 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -189,7 +189,7 @@ with the following path and query parameters:
 
 ### Message Headers
 
-Camel uses the same message headers as the link:http.html[HTTP]
+Camel uses the same message headers as the <<http-component,HTTP>>
 component. 
 From Camel 2.2, it also uses (Exchange.HTTP_CHUNKED,CamelHttpChunked)
 header to turn on or turn off the chuched encoding on the camel-jetty
@@ -207,7 +207,7 @@ message header not only from Get Method, but also other HTTP method.
 
 The Jetty component supports both consumer and producer endpoints.
 Another option for producing to other HTTP endpoints, is to use the
-link:http.html[HTTP Component]
+<<http-component,HTTP Component>>
 
 ### Producer Example
 
@@ -272,8 +272,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
-link:simple.html[Simple] (such as link:el.html[EL] or
-link:ognl.html[OGNL]) we could also test for the parameter value and do
+<<simple-language,Simple>> (such as <<simple-language,EL>> or
+<<ognl-language,OGNL>>) we could also test for the parameter value and do
 routing based on the header value as well.
 
 ### Session Support
@@ -680,7 +680,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 link:jetty.html[Jetty]
+instead of the default reply message Camel <<jetty-component,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
@@ -738,4 +738,4 @@ name collisions when registering Jetty MBeans.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:http.html[HTTP]
\ No newline at end of file
+* <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index 5463455..a822357 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -183,7 +183,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. link:controlbus-component.html[Control Bus] `start` command
+cluster. <<controlbus-component,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.
@@ -258,7 +258,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 link:jetty.html[jetty]
+particular example we want to keep singleton <<jetty-component,jetty>>
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index b9309c6..8bc232f 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -24,7 +24,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the link:msv.html[MSV] component can also support RelaxNG XML
+Note that the <<msv-component,MSV>> component can also support RelaxNG XML
 syntax.
 
 ### URI format Camel 2.16
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index 289b4d9..62726f9 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -35,7 +35,7 @@ component.
 *Transacted and caching*
 
 See section _Transactions and Cache Levels_ below if you are using
-transactions with link:jms.html[JMS] as it can impact performance.
+transactions with <<jms-component,JMS>> as it can impact performance.
 ====
 
 [NOTE]
@@ -1004,7 +1004,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 link:jms.html[JMS]
+have synchronized clocks. For example when sending a <<jms-component,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.
@@ -1017,18 +1017,18 @@ plugin] to synchronize clocks.
 
 Read first above about synchronized clocks.
 
-When you do request/reply (InOut) over link:jms.html[JMS] with Camel
+When you do request/reply (InOut) over <<jms-component,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 link:jms.html[JMS] message being send. So that requires the
+set on the <<jms-component,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 link:jms.html[JMS]
+*not* set any time to live value when sending <<jms-component,JMS>>
 messages. *But* the request timeout is still active. So for example if
-you do request/reply over link:jms.html[JMS] and have disabled time to
+you do request/reply over <<jms-component,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
@@ -1071,7 +1071,7 @@ the service bean as shown below:
      .to("bean:processReply");
 ----------------------------------------------------------------------------------------
 
-When you do fire and forget (InOut) over link:jms.html[JMS] with Camel
+When you do fire and forget (InOut) over <<jms-component,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
@@ -1251,9 +1251,9 @@ together link:tutorial-jmsremoting.html[Tutorial-JmsRemoting].
 
 #### Using JMS as a Dead Letter Queue storing Exchange
 
-Normally, when using link:jms.html[JMS] as the transport, it only
+Normally, when using <<jms-component,JMS>> as the transport, it only
 transfers the body and headers as the payload. If you want to use
-link:jms.html[JMS] with a link:dead-letter-channel.html[Dead Letter
+<<jms-component,JMS>> with a link:dead-letter-channel.html[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
@@ -1289,7 +1289,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
 link:message-translator.html[Message Translator] EIP to do a
 transformation on the failed exchange before it is moved to the
-link:jms.html[JMS] dead letter queue:
+<<jms-component,JMS>> dead letter queue:
 
 [source,java]
 --------------------------------------------------------------------------------------------------
@@ -1307,7 +1307,7 @@ a custom processor.
 
 ### Sending an InOnly message and keeping the JMSReplyTo header
 
-When sending to a link:jms.html[JMS] destination using *camel-jms* the
+When sending to a <<jms-component,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/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index 302b5a2..342c6b5 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/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 link:jmx.html[JMX] component that allows you to
+Camel also provides a <<jmx-component,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/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
index 7cf3e27..1425314 100644
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ b/components/camel-josql/src/main/docs/sql-language.adoc
@@ -6,13 +6,13 @@
 The SQL support is added by http://josql.sourceforge.net/[JoSQL] and is
 primarily used for performing SQL queries on in-memory objects. If you
 prefer to perform actual database queries then check out the
-link:jpa.html[JPA] component.
+<<jpa-component,JPA>> component.
 
 *Looking for the SQL component*
 
-Camel has both a link:sql.html[SQL] language and a
-link:sql-component.html[SQL Component]. This page is about the SQL
-language. Click on link:sql-component.html[SQL Component] if you are
+Camel has both a <<sql-component,SQL>> language and a
+<<sql-component,SQL Component>>. This page is about the SQL
+language. Click on <<sql-component,SQL Component>> if you are
 looking for the component instead.
 
 To use SQL in your camel routes you need to add the a dependency on
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index f359e77..f7d3c0b 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -361,7 +361,7 @@ the message body.
 ### Example
 
 See link:http://camel.apache.org/tracer-example.html[Tracer Example] for an example using
-link:jpa.html[JPA] to store traced messages into a database.
+<<jpa-component,JPA>> to store traced messages into a database.
 
 ### Using the JPA-Based Idempotent Repository
 
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index e47f21d..260fad7 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/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 link:ftp.html[FTP] component for the *sftp:*
+used in camel by the <<ftp-component,FTP>> component for the *sftp:*
 protocol.
 
 Maven users will need to add the following dependency to their `pom.xml`
diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index 6a960e7..93fe221 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -45,7 +45,7 @@ The JsonPath language supports 7 options which are listed below.
 === Using XML configuration
 
 If you prefer to configure your routes in your link:spring.html[Spring]
-XML file then you can use link:jsonpath.html[JSonPath] expressions as
+XML file then you can use <<jsonpath-language,JSonPath>> expressions as
 follows
 
 [source,xml]
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
index 7f6a393..32d036c 100644
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 1.3*
 
 Camel supports http://commons.apache.org/jxpath/[JXPath] to allow
-link:xpath.html[XPath] expressions to be used on beans in an
+<<xpath-language,XPath>> expressions to be used on beans in an
 link:expression.html[Expression] or link:predicate.html[Predicate] to be
 used in the link:dsl.html[DSL] or link:xml-configuration.html[Xml
 Configuration]. For example you could use JXPath to create an
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
index a4bd8ca..86f9ac8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -8,20 +8,20 @@
 The composite kubernetes component has been deprecated. Use individual
 component splitted as following.
 
-* link:kubernetes.html[Kubernetes Components]
-  ** link:kubernetes-build-configs-component.html[Kubernetes Build Config]
+* <<kubernetes-component,Kubernetes Components>>
+  ** <<kubernetes-build-configs-component,Kubernetes Build Config>>
   ** link:kubernetes-builds-component.html[Kubernetes Build]
-  ** link:kubernetes-config-maps-component.html[Kubernetes ConfigMap]
-  ** link:kubernetes-namespaces-component.html[Kubernetes Namespace]
-  ** link:kubernetes-nodes-component.html[Kubernetes Node]
-  ** link:kubernetes-persistent-volumes-component.html[Kubernetes Persistent Volume]
-  ** link:kubernetes-persistent-volumes-claims-component.html[Kubernetes Persistent Volume Claim]
-  ** link:kubernetes-pods-component.html[Kubernetes Pod]
-  ** link:kubernetes-replication-controllers-component.html[Kubernetes Replication Controller]
-  ** link:kubernetes-resources-quota-component.html[Kubernetes Resource Quota]
-  ** link:kubernetes-secrets-component.html[Kubernetes Secrets]
-  ** link:kubernetes-service-accounts-component.html[Kubernetes Service Account]
-  ** link:kubernetes-services-component.html[Kubernetes Service]
+  ** <<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>>
 ====================================================================================
 
 The *Kubernetes* component is a component for integrating your
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index 26be9f5..9f961c9 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes ConfigMap* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes ConfigMap* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes ConfigMap operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index c374f00..af3334d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.20*
 
-The *Kubernetes Deployments* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Deployments* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes secret operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index ae1c41d..d921aa7 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Namespaces* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Namespaces* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes namespace operations and a consumer to consume
 kubernetes namespace events.
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index a2b32fb..dadcc16 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Nodes* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Nodes* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes node operations and a consumer to consume kubernetes
 node events.
  
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index b07034a..efed60e 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/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 link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Persistent Volume Claim* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes persistent volume claim operations.
  
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index 501c0d7..62cacae 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Persistent Volume* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Persistent Volume* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes persistent volume operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index f4f8ff1..6ee0150 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Pods* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Pods* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes pod operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index 1f572a9..95ff190 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Replication Controller* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Replication Controller* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes replication controller operations and a consumer to
 consume kubernetes replication controller events.
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index e20fb9a..a090ba7 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Resources Quota* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Resources Quota* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes resource quota operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index e0b44df..091aeaa 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Secrets* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Secrets* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes secret operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index c8a6ab5..5dfa086 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Service Account* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Service Account* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes Service Account operations.
 
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index 0a9a410..10ab6b8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Services* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Services* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes service operations and a consumer to consume kubernetes
 service events.
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index a91b07c..aa7f724 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -6,21 +6,21 @@ The *Kubernetes* components integrate your application with Kubernetes standalo
 
 The camel-kubernetes consists of 13 components:
 
-* link:kubernetes-config-maps-component.html[Kubernetes ConfigMap]
-* link:kubernetes-namespaces-component.html[Kubernetes Namespace]
-* link:kubernetes-nodes-component.html[Kubernetes Node]
-* link:kubernetes-persistent-volumes-component.html[Kubernetes Persistent Volume]
-* link:kubernetes-persistent-volumes-claims-component.html[Kubernetes Persistent Volume Claim]
-* link:kubernetes-pods-component.html[Kubernetes Pod]
-* link:kubernetes-replication-controllers-component.html[Kubernetes Replication Controller]
-* link:kubernetes-resources-quota-component.html[Kubernetes Resource Quota]
-* link:kubernetes-secrets-component.html[Kubernetes Secrets]
-* link:kubernetes-service-accounts-component.html[Kubernetes Service Account]
-* link:kubernetes-services-component.html[Kubernetes Service]
+* <<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>>
 
 In OpenShift, also:
 
-* link:kubernetes-build-configs-component.html[Kubernetes Build Config]
+* <<kubernetes-build-configs-component,Kubernetes Build Config>>
 * link:kubernetes-builds-component.html[Kubernetes Build]
 
 
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index 80cfe30..63cf61c 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Openshift Build Config* component is one of link:kubernetes.html[Kubernetes Components] which
+The *OpenShift Build Config* component is one of link:kubernetes.html[Kubernetes Components] which
 provides a producer to execute kubernetes build config operations. 
 
 
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index 463d438..fbaff2f 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.17*
 
-The *Kubernetes Builds* component is one of link:kubernetes.html[Kubernetes Components] which
+The *Kubernetes Builds* component is one of <<kubernetes-component,Kubernetes Components>> which
 provides a producer to execute kubernetes build operations.
 
 
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 2398655..1b215ff 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -6,7 +6,7 @@
 *Deprecated*
 
 WARNING: This component is deprecated as the Apache Mina 1.x project is EOL.
-Instead use link:mina2.html[MINA2] or link:netty.html[Netty] instead.
+Instead use <<mina2-component,MINA2>> or <<mina2-component,Netty>> instead.
 
 The *mina:* component is a transport for working with
 http://mina.apache.org/[Apache MINA]
@@ -142,7 +142,7 @@ documentation] how to write your own codec. To use your custom codec
 with `camel-mina`, you should register your codec in the
 link:registry.html[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 link:hl7.html[HL7] that has a custom codec.
+your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
 
 ### Sample with sync=false
 
@@ -167,7 +167,7 @@ fact, something we have dynamically set in our processor code logic.
 
 ### Sample with Spring DSL
 
-Spring DSL can, of course, also be used for link:mina.html[MINA]. In the
+Spring DSL can, of course, also be used for <<mina-component,MINA>>. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -336,5 +336,5 @@ Then, you can configure your endpoint using Spring DSL:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:mina2.html[MINA2]
-* link:netty.html[Netty]
\ No newline at end of file
+* <<mina2-component,MINA2>>
+* <<netty-component,Netty>>
\ No newline at end of file
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index d52be53..2a23498 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/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 link:netty.html[Netty] as Netty is a much more active
+TIP: Favor using <<netty-component,Netty>> as Netty is a much more active
 maintained and popular project than Apache Mina currently is
 
 INFO: Be careful with sync=false on consumer endpoints. Since camel-mina2 all
@@ -147,7 +147,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
 link:registry.html[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 link:hl7.html[HL7] that has a custom codec.
+your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
 
 ### Sample with sync=false
 
@@ -203,7 +203,7 @@ assertEquals("Bye World", response);
 
 ### Sample with Spring DSL
 
-Spring DSL can, of course, also be used for link:mina.html[MINA]. In the
+Spring DSL can, of course, also be used for <<mina-component,MINA>>. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -270,5 +270,5 @@ is, after `codec` and `logger`.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:mina.html[MINA]
-* link:netty.html[Netty]
\ No newline at end of file
+* <<mina-component,MINA>>
+* <<netty-component,Netty>>
\ No newline at end of file
diff --git a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
index 44d22ec..f12af2c 100644
--- a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
+++ b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
@@ -97,7 +97,7 @@ MongoDB instance.
 ### Sample route
 
 The following route defined in Spring XML executes the operation
-link:mongodb-gridfs.html[*findOne*] on a collection.
+<<mongodb-gridfs-component,*findOne*>> on a collection.
 
 *Get a file from GridFS*
 
diff --git a/components/camel-mongodb/src/main/docs/mongodb-component.adoc b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
index 377c95b..fe08eec 100644
--- a/components/camel-mongodb/src/main/docs/mongodb-component.adoc
+++ b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
@@ -134,7 +134,7 @@ MongoDB instance.
 ### Sample route
 
 The following route defined in Spring XML executes the operation
-link:mongodb.html[*dbStats*] on a collection.
+<<mongodb-component,*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -170,7 +170,7 @@ from("direct:findById")
 
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-link:mongodb.html[Specifying optional parameters].
+<<mongodb-component,Specifying optional parameters>>.
 
 #### findOneByQuery
 
@@ -178,7 +178,7 @@ Use this operation to retrieve just one element from the collection that
 matches a MongoDB query. *The query object is extracted from the IN
 message body*, i.e. it should be of type `DBObject` or convertible to
 `DBObject`. It can be a JSON String or a Hashmap. See
-link:mongodb.html[#Type conversions] for more info.
+<<mongodb-component,#Type conversions>> for more info.
 
 Example with no query (returns any object of the collection):
 
@@ -200,7 +200,7 @@ from("direct:findOneByQuery")
 ------------------------------------------------------------------------------------
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-link:mongodb.html[Specifying optional parameters].
+<<mongodb-component,Specifying optional parameters>>.
 
 #### findAll
 
@@ -208,7 +208,7 @@ The `findAll` operation returns all documents matching a query, or none
 at all, in which case all documents contained in the collection are
 returned. *The query object is extracted from the IN message body*, i.e.
 it should be of type `DBObject` or convertible to `DBObject`. It can be
-a JSON String or a Hashmap. See link:mongodb.html[#Type conversions] for
+a JSON String or a Hashmap. See <<mongodb-component,#Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -287,7 +287,7 @@ consideration. |int/Integer
 |=======================================================================
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-link:mongodb.html[Specifying optional parameters].
+<<mongodb-component,Specifying optional parameters>>.
 
 #### count
 
diff --git a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
index 64a3ca7..86ec3e8 100644
--- a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
+++ b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
@@ -145,7 +145,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/context
 ### Sample route
 
 The following route defined in Spring XML executes the operation
-link:mongodb3.html[*dbStats*] on a collection.
+<<mongodb3-component,*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -181,7 +181,7 @@ from("direct:findById")
 
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-link:mongodb3.html[Specifying optional parameters].
+<<mongodb3-component,Specifying optional parameters>>.
 
 #### findOneByQuery
 
@@ -189,7 +189,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 link:mongodb3.html[#Type conversions] for more info.
+`Bson`. It can be a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for more info.
 you can use the Filters class from MongoDB Driver.
 
 Example with no query (returns any object of the collection):
@@ -212,7 +212,7 @@ from("direct:findOneByQuery")
 ------------------------------------------------------------------------------------
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-link:mongodb3.html[Specifying optional parameters].
+<<mongodb3-component,Specifying optional parameters>>.
 
 #### findAll
 
@@ -222,7 +222,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 link:mongodb3.html[#Type conversions] for
+a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -295,7 +295,7 @@ consideration. |int/Integer
 |=======================================================================
 
 TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-link:mongodb3.html[Specifying optional parameters].
+<<mongodb3-component,Specifying optional parameters>>.
 
 #### count
 
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index d2877d8..13c0643 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the link:jing.html[Jing] component also supports
+Note that the <<jing-component,Jing>> component also supports
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax]
 
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index af8499d..60f5a49 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -290,9 +290,9 @@ See "ScheduledPollConsumer Options"
 on link:polling-consumer.html[Polling Consumer] for more options.
 
 Alternatively you can use another mechanism for triggering the scheduled
-polls, such as the link:timer.html[Timer] or link:quartz.html[Quartz]
+polls, such as the <<timer-component,Timer>> or <<timer-component,Quartz>>
 components. In the sample below we poll the database, every 30 seconds
-using the link:timer.html[Timer] component and send the data to the JMS
+using the <<timer-component,Timer>> component and send the data to the JMS
 queue:
 
 [source,java]
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index 789faba..b5bb8e7 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-The link:nagios.html[Nagios] component allows you to send passive checks
+The <<nagios-component,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 link:nagios.html[Nagios]
+Camel provides two abilities with the <<nagios-component,Nagios>>
 component. You can send passive check messages by sending a message to
 its endpoint. +
  Camel also provides a link:camel-jmx.html[EventNotifer] which allows
@@ -121,7 +121,7 @@ To send a `CRITICAL` message you can send the headers such as:
 
 ### Using `NagiosEventNotifer`
 
-The link:nagios.html[Nagios] component also provides an
+The <<nagios-component,Nagios>> component also provides an
 link:camel-jmx.html[EventNotifer] which you can use to send events to
 Nagios. For example we can enable this from Java as follows:
 
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index 0f1c3fd..0cf6751 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -3,13 +3,13 @@
 
 *Available as of Camel version 2.12*
 
-The *netty-http* component is an extension to link:netty.html[Netty]
-component to facilitiate HTTP transport with link:netty.html[Netty].
+The *netty-http* component is an extension to <<netty-component,Netty>>
+component to facilitiate HTTP transport with <<netty-component,Netty>>.
 
 This camel component supports both producer and consumer endpoints.
 
 WARNING: This component is deprecated. You should use
-link:netty4-http.html[Netty4 HTTP].
+<<netty4-http-component,Netty4 HTTP>>.
 
 INFO: *Stream*.
 Netty is stream based, which means the input it receives is submitted to
@@ -66,10 +66,10 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 ### HTTP Options
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-link:netty.html[Netty]. So make sure to look at the
-link:netty.html[Netty] documentation as well. +
- Notice that some options from link:netty.html[Netty] is not applicable
-when using this link:netty-http.html[Netty HTTP] component, such as
+<<netty-component,Netty>>. So make sure to look at the
+<<netty-component,Netty>> documentation as well. +
+ Notice that some options from <<netty-component,Netty>> is not applicable
+when using this <<netty-http-component,Netty HTTP>> component, such as
 options related to UDP transport.
 
 
@@ -241,7 +241,7 @@ success, and 500 for failure.
 |=======================================================================
 
 The following headers is provided as meta-data when a route starts from
-an link:netty-http.html[Netty HTTP] endpoint:
+an <<netty-http-component,Netty HTTP>> endpoint:
 
 The description in the table takes offset in a route having:
 `from("netty-http:http:0.0.0.0:8080/myapp")...`
@@ -291,7 +291,7 @@ org.jboss.netty.handler.codec.http.HttpRequest request = exchange.getIn(NettyHtt
 
 ### Examples
 
-In the route below we use link:netty-http.html[Netty HTTP] as a HTTP
+In the route below we use <<netty-http-component,Netty HTTP>> as a HTTP
 server, which returns back a hardcoded "Bye World" message.
 
 [source,java]
@@ -313,7 +313,7 @@ And we get back "Bye World" as the output.
 
 ### How do I let Netty match wildcards
 
-By default link:netty-http.html[Netty HTTP] will only match on exact
+By default <<netty-http-component,Netty HTTP>> will only match on exact
 uri's. But you can instruct Netty to match prefixes. For example
 
 [source,java]
@@ -321,7 +321,7 @@ uri's. But you can instruct Netty to match prefixes. For example
 from("netty-http:http://0.0.0.0:8123/foo").to("mock:foo");
 ----------------------------------------------------------
 
-In the route above link:netty-http.html[Netty HTTP] will only match if
+In the route above <<netty-http-component,Netty HTTP>> will only match if
 the uri is an exact match, so it will match if you enter +
  `http://0.0.0.0:8123/foo` but not match if you do
 `http://0.0.0.0:8123/foo/bar`.
@@ -345,7 +345,7 @@ from("netty-http:http://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
 ### Using multiple routes with same port
 
 In the same link:camelcontext.html[CamelContext] you can have multiple
-routes from link:netty-http.html[Netty HTTP] that shares the same port
+routes from <<netty-http-component,Netty HTTP>> that shares the same port
 (eg a `org.jboss.netty.bootstrap.ServerBootstrap` instance). Doing this
 requires a number of bootstrap options to be identical in the routes, as
 the routes will share the same
@@ -401,7 +401,7 @@ By configuring the common server bootstrap option in an single instance
 of a
 `org.apache.camel.component.netty.NettyServerBootstrapConfiguration`
 type, we can use the `bootstrapConfiguration` option on the
-link:netty-http.html[Netty HTTP] consumers to refer and reuse the same
+<<netty-http-component,Netty HTTP>> consumers to refer and reuse the same
 options across all consumers.
 
 [source,xml]
@@ -440,7 +440,7 @@ for more details and example how to do that.
 
 ### Using HTTP Basic Authentication
 
-The link:netty-http.html[Netty HTTP] consumer supports HTTP basic
+The <<netty-http-component,Netty HTTP>> consumer supports HTTP basic
 authentication by specifying the security realm name to use, as shown
 below
 
@@ -520,6 +520,6 @@ below:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:netty.html[Netty]
+* <<netty-component,Netty>>
 * link:netty-http-server-example.html[Netty HTTP Server Example]
-* link:jetty.html[Jetty]
\ No newline at end of file
+* <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index d19d5da..761e44e 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -3,7 +3,7 @@
 
 *Available as of Camel version 2.3*
 
-WARNING: This component is deprecated. You should use link:netty4.html[Netty4].
+WARNING: This component is deprecated. You should use <<netty4-component,Netty4>>.
 
 The *netty* component in Camel is a socket communication component,
 based on the http://netty.io/[Netty] project.
@@ -411,7 +411,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
-link:netty.html[Netty] component will store the `SSLSession` as a header
+<<netty-component,Netty>> component will store the `SSLSession` as a header
 on the Camel link:message.html[Message] as shown below:
 
 [source,java]
@@ -626,5 +626,5 @@ And if we have another route we can refer to the shared worker pool:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:netty-http.html[Netty HTTP]
-* link:mina.html[MINA]
\ No newline at end of file
+* <<netty-http-component,Netty HTTP>>
+* <<mina-component,MINA>>
\ No newline at end of file
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 4aa7830..3956b88 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -3,8 +3,8 @@
 
 *Available as of Camel version 2.14*
 
-The *netty4-http* component is an extension to link:netty4.html[Netty4]
-component to facilitiate HTTP transport with link:netty4.html[Netty4].
+The *netty4-http* component is an extension to <<netty4-component,Netty4>>
+component to facilitiate HTTP transport with <<netty4-component,Netty4>>.
 
 This camel component supports both producer and consumer endpoints.
 
@@ -65,9 +65,9 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-link:netty4.html[Netty4]. So make sure to look at
-the link:netty4.html[Netty4] documentation as well. +
- Notice that some options from link:netty4.html[Netty4] is not
+<<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
 applicable when using this Netty4 HTTP component, such as options
 related to UDP transport.
 
@@ -524,6 +524,6 @@ below:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:netty.html[Netty]
+* <<netty-component,Netty>>
 * link:netty-http-server-example.html[Netty HTTP Server Example]
-* link:jetty.html[Jetty]
\ No newline at end of file
+* <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 8563951..b3daa4a 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -398,7 +398,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
-link:netty4.html[Netty4] component will store the `SSLSession` as a
+<<netty4-component,Netty4>> component will store the `SSLSession` as a
 header on the Camel link:message.html[Message] as shown below:
 
 [source,java]
@@ -694,5 +694,5 @@ And if we have another route we can refer to the shared worker pool:
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:netty-http.html[Netty HTTP]
-* link:mina.html[MINA]
\ No newline at end of file
+* <<netty-http-component,Netty HTTP>>
+* <<mina-component,MINA>>
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack.adoc b/components/camel-openstack/src/main/docs/openstack.adoc
index 8d953ea..d4b17f7 100644
--- a/components/camel-openstack/src/main/docs/openstack.adoc
+++ b/components/camel-openstack/src/main/docs/openstack.adoc
@@ -22,12 +22,12 @@ for this component:
 [width="100%", options="header"]
 |=======================================================================
 | OpenStack service | Camel Component| Description
-| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | link:openstack-cinder-component.html[openstack-cinder] | Component to maintain OpenStack cinder.
-| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | link:openstack-glance-component.html[openstack-glance] | Component to maintain OpenStack glance.
-| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | link:openstack-keystone-component.html[openstack-keystone] | Component to maintain OpenStack keystone.
-| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | link:openstack-neutron-component.html[openstack-neutron] | Component to maintain OpenStack neutron.
-| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | link:openstack-nova-component.html[openstack-nova] | Component to maintain OpenStack nova.
-| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | link:openstack-swift-component.html[openstack-swift] | Component to maintain OpenStack swift.
+| 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.
 |=======================================================================
 
 
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 397c0b6..6bab036 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -212,4 +212,4 @@ To use Protobuf in your camel routes you need to add the a dependency on
 </dependency>
 -----------------------------------------
 ### See Also
-* link:grpc.html[Camel gRPC component]
\ No newline at end of file
+* <<grpc-component,Camel gRPC component>>
\ No newline at end of file
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index eef881a..14ffb21 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -201,4 +201,4 @@ The example illustrates the PubNub component subscribing to a infinite stream of
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:rss.html[RSS]
\ No newline at end of file
+* <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index b7e60a1..ecec97d 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -9,7 +9,7 @@ the http://www.quartz-scheduler.org/[Quartz Scheduler 1.x].  +
 and JobDetail).
 
 TIP: If you are using Quartz 2.x then from Camel 2.12 onwards there is a
-link:quartz2.html[Quartz2] component you should use
+<<quartz2-component,Quartz2>> component you should use
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -120,7 +120,7 @@ INFO: *Running in OSGi and having multiple bundles with quartz
 routes*
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-link:quartz.html[Quartz] endpoints, then make sure if you assign +
+<<quartz-component,Quartz>> 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 +
@@ -133,7 +133,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 link:quartz.html[Quartz] component also allows you to
+However the Camel <<quartz-component,Quartz>> component also allows you to
 configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -180,7 +180,7 @@ This is an example:
 *Available as of Camel 2.4*
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then from Camel 2.4 onwards the link:quartz.html[Quartz] component will
+Then from Camel 2.4 onwards the <<quartz-component,Quartz>> 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.
 
@@ -260,5 +260,5 @@ link:type-converter.html[Type Converter] in the camel-core.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:quartz2.html[Quartz2]
-* link:timer.html[Timer]
\ No newline at end of file
+* <<quartz2-component,Quartz2>>
+* <<timer-component,Timer>>
\ No newline at end of file
diff --git a/components/camel-quartz2/src/main/docs/quartz2-component.adoc b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
index 5c587dd..283265a 100644
--- a/components/camel-quartz2/src/main/docs/quartz2-component.adoc
+++ b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
@@ -23,7 +23,7 @@ for this component:
 
 *NOTE:* Quartz 2.x API is not compatible with Quartz 1.x. If you need to
 remain on old Quartz 1.x, please +
- use the old link:quartz.html[Quartz] component instead.
+ use the old <<quartz-component,Quartz>> component instead.
 
 === URI format
 
@@ -135,7 +135,7 @@ INFO: *Running in OSGi and having multiple bundles with quartz
 routes*
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-link:quartz2.html[Quartz2] endpoints, then make sure if you assign an `id` 
+<<quartz2-component,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.
@@ -147,7 +147,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 link:quartz2.html[Quartz2] component also allows you
+However the Camel <<quartz2-component,Quartz2>> component also allows you
 to configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -180,7 +180,7 @@ unless explicit disabled.
 
 === Starting the Quartz scheduler
 
-The link:quartz2.html[Quartz2] component offers an option to let the
+The <<quartz2-component,Quartz2>> component offers an option to let the
 Quartz scheduler be started delayed, or not auto started at all.
 
 This is an example:
@@ -195,7 +195,7 @@ This is an example:
 === Clustering
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then the link:quartz2.html[Quartz2] component will *not* pause/remove
+Then the <<quartz2-component,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.
 
@@ -260,7 +260,7 @@ The timeZone value is the values accepted by `java.util.TimeZone`.
 
 === Using QuartzScheduledPollConsumerScheduler
 
-The link:quartz2.html[Quartz2] component provides a
+The <<quartz2-component,Quartz2>> component provides a
 link:polling-consumer.html[Polling Consumer] scheduler which allows to
 use cron based scheduling for link:polling-consumer.html[Polling
 Consumer] such as the link:file2.html[File] and link:ftp2.html[FTP]
@@ -276,8 +276,8 @@ second, then a Camel route can be define simply as:
 ----
 
 Notice we define the `scheduler=quartz2` to instruct Camel to use the
-link:quartz2.html[Quartz2] based scheduler. Then we use `scheduler.xxx`
-options to configure the scheduler. The link:quartz2.html[Quartz2]
+<<quartz2-component,Quartz2>> based scheduler. Then we use `scheduler.xxx`
+options to configure the scheduler. The <<quartz2-component,Quartz2>>
 scheduler requires the cron option to be set.
 
 The following options is supported:
@@ -287,7 +287,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 link:quartz2.html[Quartz2] component is used.
+scheduler from the <<quartz2-component,Quartz2>> component is used.
 
 |`cron` |`null` |`String` |*Mandatory*: To define the cron expression for triggering the polls.
 
diff --git a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
index 7dc7648..1edb9bb 100644
--- a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
+++ b/components/camel-rest-swagger/src/main/docs/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:
 
-* link:http-component.html[http]
-* link:http4-component.html[http4]
-* link:netty4-http-component.html[netty4-http]
-* link:restlet-component.html[restlet]
-* link:jetty-component.html[jetty]
-* link:undertow-component.html[undertow]
+* <<http-component,http>>
+* <<http4-component,http4>>
+* <<netty4-http-component,netty4-http>>
+* <<restlet-component,restlet>>
+* <<jetty-component,jetty>>
+* <<undertow-component,undertow>>
 
 Maven users will need to add the following dependency to their
 `pom.xml` for this component:
@@ -143,7 +143,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 link:undertow-component.html[Undertow]
+automaticaly used. Let's use the <<undertow-component,Undertow>>
 component to perform all the requests and Camels excelent support for 
 link:spring-boot.html[Spring Boot].
 
diff --git a/components/camel-routebox/src/main/docs/routebox-component.adoc b/components/camel-routebox/src/main/docs/routebox-component.adoc
index 398dfe6..dbffbdc 100644
--- a/components/camel-routebox/src/main/docs/routebox-component.adoc
+++ b/components/camel-routebox/src/main/docs/routebox-component.adoc
@@ -7,9 +7,9 @@
 
 The Routebox component will be revisited in upcoming releases to see if
 it can be further simplified, be more intuitive and user friendly. The
-related link:context.html[Context] component may be regardes as the
+related <<context-component,Context>> component may be regardes as the
 simpler component. This component may be @deprecated in favor of
-link:context.html[Context].
+<<context-component,Context>>.
 
 The *routebox* component enables the creation of specialized endpoints
 that offer encapsulation and a strategy based indirection service to a
diff --git a/components/camel-rss/src/main/docs/rss-component.adoc b/components/camel-rss/src/main/docs/rss-component.adoc
index 937d291..b4a6ea0 100644
--- a/components/camel-rss/src/main/docs/rss-component.adoc
+++ b/components/camel-rss/src/main/docs/rss-component.adoc
@@ -174,4 +174,4 @@ return firstEntry.getTitle().contains("Camel");
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:atom.html[Atom]
\ No newline at end of file
+* <<atom-component,Atom>>
\ No newline at end of file
diff --git a/components/camel-ruby/src/main/docs/ruby.adoc b/components/camel-ruby/src/main/docs/ruby.adoc
index a532704..310f5a4 100644
--- a/components/camel-ruby/src/main/docs/ruby.adoc
+++ b/components/camel-ruby/src/main/docs/ruby.adoc
@@ -78,7 +78,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -101,7 +101,7 @@ Using properties function
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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
 placeholder, which key is provided in a header named "foo".
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 0297792..21d0629 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -264,7 +264,7 @@ For instance, consider that you need to limit the API usage of Salesforce so tha
 other routes. The body of output message contains an instance of
 `org.apache.camel.component.salesforce.api.dto.Limits` object that can be used in conjunction with
 link:content-based-router.html[Content Based Router] and link:content-based-router.html[Content Based Router] and 
-link:spel-language.html[Spring Expression Language (SpEL)] to choose when to perform queries.
+<<spel-language,Spring Expression Language (SpEL)>> to choose when to perform queries.
 
 Notice how multiplying `1.0` with the integer value held in `body.dailyApiRequests.remaining` makes the expression
 evaluate as with floating point arithmetic, without it - it would end up making integral division which would result
@@ -539,7 +539,7 @@ final SObjectCompositeResult contactCreationResult = results.stream().filter(r -
 ### Camel Salesforce Maven Plugin
 
 This Maven plugin generates DTOs for the Camel
-link:salesforce.html[Salesforce].
+<<salesforce-component,Salesforce>>.
 
 ### Options
 
diff --git a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
index 8dc2993..a80fcb2 100644
--- a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
+++ b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
@@ -188,4 +188,4 @@ Destination airport: SFO
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:http.html[HTTP]
\ No newline at end of file
+* <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-scala/src/main/docs/scala-eip.adoc b/components/camel-scala/src/main/docs/scala-eip.adoc
index f8d52e6..8ec69a4 100644
--- a/components/camel-scala/src/main/docs/scala-eip.adoc
+++ b/components/camel-scala/src/main/docs/scala-eip.adoc
@@ -220,5 +220,5 @@ transformation and pass that to the `process` method instead. The
 example below uses pattern matching to enrich the message content:
 
 Off course, you can also use any other Camel component (e.g.
-link:velocity.html[Velocity]) to enrich the content and add it to a
+<<velocity-component,Velocity>>) to enrich the content and add it to a
 pipeline
diff --git a/components/camel-scala/src/main/docs/scala-supported-languages.adoc b/components/camel-scala/src/main/docs/scala-supported-languages.adoc
index bbdb72a..ec39e85 100644
--- a/components/camel-scala/src/main/docs/scala-supported-languages.adoc
+++ b/components/camel-scala/src/main/docs/scala-supported-languages.adoc
@@ -12,7 +12,7 @@ You can use any of the supported Camel link:languages.html[Languages] in
 the link:scala-dsl.html[Scala DSL]; see below for a couple of examples:
 
 [[ScalaDSL-Supportedlanguages-Using]]
-Using link:xpath.html[XPath]
+Using <<xpath-language,XPath>>
 ++++++++++++++++++++++++++++
 
 With the XPath trait, you have an additional method available on an
@@ -21,7 +21,7 @@ Splitter example, where the `xpath` method is used in a
 `Exchange ⇒ Any*` function literal
 
 [[ScalaDSL-Supportedlanguages-Using.1]]
-Using link:jxpath.html[JXPath]
+Using <<jxpath-language,JXPath>>
 ++++++++++++++++++++++++++++++
 
 With the `org.apache.camel.scala.dsl.languages.JXPath` trait, you can an
diff --git a/components/camel-script/src/main/docs/javaScript-language.adoc b/components/camel-script/src/main/docs/javaScript-language.adoc
index b9a6dd1..1726968 100644
--- a/components/camel-script/src/main/docs/javaScript-language.adoc
+++ b/components/camel-script/src/main/docs/javaScript-language.adoc
@@ -90,7 +90,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -109,7 +109,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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/components/camel-script/src/main/docs/php-language.adoc b/components/camel-script/src/main/docs/php-language.adoc
index 5e0ff28..df64f52 100644
--- a/components/camel-script/src/main/docs/php-language.adoc
+++ b/components/camel-script/src/main/docs/php-language.adoc
@@ -56,7 +56,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -75,7 +75,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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/components/camel-script/src/main/docs/python-language.adoc b/components/camel-script/src/main/docs/python-language.adoc
index c2797b3..e4123a3 100644
--- a/components/camel-script/src/main/docs/python-language.adoc
+++ b/components/camel-script/src/main/docs/python-language.adoc
@@ -89,7 +89,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -108,7 +108,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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/components/camel-script/src/main/docs/ruby-language.adoc b/components/camel-script/src/main/docs/ruby-language.adoc
index efd573b..b2b954a 100644
--- a/components/camel-script/src/main/docs/ruby-language.adoc
+++ b/components/camel-script/src/main/docs/ruby-language.adoc
@@ -89,7 +89,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -108,7 +108,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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/components/camel-servlet/src/main/docs/servlet-component.adoc b/components/camel-servlet/src/main/docs/servlet-component.adoc
index f1b314c..9bdbdb3 100644
--- a/components/camel-servlet/src/main/docs/servlet-component.adoc
+++ b/components/camel-servlet/src/main/docs/servlet-component.adoc
@@ -109,7 +109,7 @@ with the following path and query parameters:
 
 ### Message Headers
 
-Camel will apply the same Message Headers as the link:http.html[HTTP]
+Camel will apply the same Message Headers as the <<http-component,HTTP>>
 component.
 
 Camel will also populate *all* `request.parameter` and
@@ -122,7 +122,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
-link:http.html[HTTP Component]
+<<http-component,HTTP Component>>
 
 ### Putting Camel JARs in the app server boot classpath
 
@@ -185,7 +185,7 @@ side-effects.
 
 ### Sample
 
-INFO: From Camel 2.7 onwards it's easier to use link:servlet.html[Servlet] in
+INFO: From Camel 2.7 onwards it's easier to use <<servlet-component,Servlet>> in
 Spring web applications. See link:servlet-tomcat-example.html[Servlet
 Tomcat Example] for details.
 
@@ -279,5 +279,5 @@ The automatic mapping of the Camel servlet can also be disabled.
 * link:servlet-tomcat-example.html[Servlet Tomcat Example]
 * link:servlet-tomcat-no-spring-example.html[Servlet Tomcat No Spring
 Example]
-* link:http.html[HTTP]
-* link:jetty.html[Jetty]
\ No newline at end of file
+* <<http-component,HTTP>>
+* <<jetty-component,Jetty>>
\ No newline at end of file
diff --git a/components/camel-servletlistener/src/main/docs/servletlistener.adoc b/components/camel-servletlistener/src/main/docs/servletlistener.adoc
index 79040c6..9705503 100644
--- a/components/camel-servletlistener/src/main/docs/servletlistener.adoc
+++ b/components/camel-servletlistener/src/main/docs/servletlistener.adoc
@@ -67,7 +67,7 @@ in the web.xml file.
 in Camel. You should prefix the option with "propertyPlaceholder.", for
 example to configure the location, use propertyPlaceholder.location as
 name. You can configure all the options from the
-link:properties.html[Properties] component.
+<<properties-component,Properties>> component.
 
 |jmx.XXX |  | To configure link:camel-jmx.html[JMX]. You should prefix the option with
 "jmx.", for example to disable JMX, use jmx.disabled as name. You can
@@ -293,8 +293,8 @@ JNDI or Simple as Camel link:registry.html[Registry]
 
 This component uses either JNDI or Simple as the
 link:registry.html[Registry]. +
- This allows you to lookup link:bean.html[Bean]s and other services in
-JNDI, and as well to bind and unbind your own link:bean.html[Bean]s.
+ This allows you to lookup <<bean-component,Bean>>s and other services in
+JNDI, and as well to bind and unbind your own <<bean-component,Bean>>s.
 
 This is done from Java code by implementing the
 `org.apache.camel.component.servletlistener.CamelContextLifecycle`.
@@ -321,8 +321,8 @@ interface.
   </context-param>
 -------------------------------------------------------------------------------------
 
-As we enlisted our HelloBean link:bean.html[Bean] using the name
-"myBean" we can refer to this link:bean.html[Bean] in the Camel routes
+As we enlisted our HelloBean <<bean-component,Bean>> using the name
+"myBean" we can refer to this <<bean-component,Bean>> in the Camel routes
 as shown below:
 
 [source,java]
@@ -348,7 +348,7 @@ then the `CamelContextLifecycle` must use the `SimpleRegistry`
 See Also
 ^^^^^^^^
 
-* link:servlet.html[SERVLET]
+* <<servlet-component,SERVLET>>
 * link:servlet-tomcat-example.html[Servlet Tomcat Example]
 * link:servlet-tomcat-no-spring-example.html[Servlet Tomcat No Spring
 Example]
diff --git a/components/camel-shiro/src/main/docs/shiro.adoc b/components/camel-shiro/src/main/docs/shiro.adoc
index a0c0b86..4e9ad1f 100644
--- a/components/camel-shiro/src/main/docs/shiro.adoc
+++ b/components/camel-shiro/src/main/docs/shiro.adoc
@@ -135,7 +135,7 @@ of the roles in the list are applicable.
 these or pass in your own Cipher implementation
 
 |`base64` |`false` |`boolean` |*Camel 2.12:* To use base64 encoding for the security token header,
-which allows transferring the header over link:jms.html[JMS] etc. This
+which allows transferring the header over <<jms-component,JMS>> etc. This
 option must also be set on `ShiroSecurityTokenInjector` as well.
 
 |`allPermissionsRequired` |`false` |`boolean` |*Camel 2.13:* The default is that authorization is granted if any of the
diff --git a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
index 2c13b6e..04f3f52 100644
--- a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
+++ b/components/camel-sjms/src/main/docs/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
-link:jdbc.html[JDBC Component].
+<<jdbc-component,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 link:sjms.html[SJMS] consumer endpoint can be used in
+broker. A plain <<sjms-component,SJMS>> consumer endpoint can be used in
 conjunction with a regular non-persistence backed
 link:aggregator2.html[aggregator] in this scenario.
 
diff --git a/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc b/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
index 71e75c4..15002ce 100644
--- a/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
+++ b/components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
@@ -14,7 +14,7 @@ onwards.
 
 *Namespace prefix mapping*
 
-See link:jaxb.html[JAXB] for details how you can control namespace
+See <<jaxb-dataformat,JAXB>> for details how you can control namespace
 prefix mappings when marshalling using link:soap.html[SOAP] data format.
 
 ### SOAP Options
@@ -89,7 +89,7 @@ from("direct:start")
 -------------------------------------------------------------------------------------------------------------------------------------
 
 TIP: *See also*
-As the SOAP dataformat inherits from the link:jaxb.html[JAXB] dataformat
+As the SOAP dataformat inherits from the <<jaxb-dataformat,JAXB>> dataformat
 most settings apply here as well
 
 
diff --git a/components/camel-solr/src/main/docs/solr-component.adoc b/components/camel-solr/src/main/docs/solr-component.adoc
index 7200cf7..cc35a3e 100644
--- a/components/camel-solr/src/main/docs/solr-component.adoc
+++ b/components/camel-solr/src/main/docs/solr-component.adoc
@@ -186,7 +186,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 link:http.html[HTTP] as
+added later). For now, you can query Solr using <<http-component,HTTP>> as
 follows:
 
 [source,java]
diff --git a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
index 8c324bc..ad02fab 100644
--- a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
+++ b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
@@ -188,4 +188,4 @@ containers.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:rest.html[Rest]
\ No newline at end of file
+* <<rest-component,Rest>>
\ No newline at end of file
diff --git a/components/camel-spring-boot/src/main/docs/spring-boot.adoc b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
index 9f148a6..fa49e56 100644
--- a/components/camel-spring-boot/src/main/docs/spring-boot.adoc
+++ b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
@@ -157,7 +157,7 @@ Spring Boot auto-configuration automatically connects
 to http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config[Spring
 Boot external configuration] (like properties placeholders, OS
 environment variables or system properties) with
-the link:properties.html[Camel properties support]. It basically means
+the <<properties-component,Camel properties support>>. It basically means
 that any property defined in `application.properties` file:  
 
 [source,xml]
diff --git a/components/camel-spring-security/src/main/docs/spring-security.adoc b/components/camel-spring-security/src/main/docs/spring-security.adoc
index f3f3e8f..b897b76 100644
--- a/components/camel-spring-security/src/main/docs/spring-security.adoc
+++ b/components/camel-spring-security/src/main/docs/spring-security.adoc
@@ -88,7 +88,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 link:jetty.html[Jetty] component. No matter how the credentials
+in the <<jetty-component,Jetty>> component. No matter how the credentials
 are collected, they need to be placed in the In message or the
 `SecurityContextHolder` so the Camel link:spring-security.html[Spring
 Security] component can access them:
@@ -147,7 +147,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 link:cxf.html[CXF] component populates
+`Subject`. At this time, only the <<cxf-component,CXF>> component populates
 the `Exchange.AUTHENTICATION` header.
 
 [[SpringSecurity-Handlingauthenticationandauthorizationerrors]]
diff --git a/components/camel-spring/src/main/docs/spring.adoc b/components/camel-spring/src/main/docs/spring.adoc
index fea8c87..65fbcbc 100644
--- a/components/camel-spring/src/main/docs/spring.adoc
+++ b/components/camel-spring/src/main/docs/spring.adoc
@@ -4,7 +4,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 link:jms.html[JMS] and link:jpa.html[JPA]
+components like <<jms-component,JMS>> and <<jms-component,JPA>>
 * Camel works with Spring 2 XML processing with the
 link:xml-configuration.html[Xml Configuration]
 * Camel Spring XML Schema's is defined at link:xml-reference.html[Xml
@@ -24,8 +24,8 @@ and auto-expose Spring beans as components and endpoints.
 * Allows you to reuse the link:spring-testing.html[Spring Testing]
 framework to simplify your unit and integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's powerful link:mock.html[Mock] and
-link:test.html[Test] endpoints
+Patterns] and Camel's powerful <<mock-component,Mock>> and
+<<test-component,Test>> endpoints
 * From *Camel 2.15* onwards Camel supports Spring Boot using
 the `camel-spring-boot` component.
 
diff --git a/components/camel-sql/src/main/docs/sql-component.adoc b/components/camel-sql/src/main/docs/sql-component.adoc
index cbd6266..f6f9d37 100644
--- a/components/camel-sql/src/main/docs/sql-component.adoc
+++ b/components/camel-sql/src/main/docs/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 link:jdbc.html[JDBC]
+queries. The difference between this component and <<jdbc-component,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.
 
@@ -780,4 +780,4 @@ You should also include the specific database driver, if needed.
 
 link:sql-stored-procedure.html[SQL Stored Procedure]
 
-link:jdbc.html[JDBC]
\ No newline at end of file
+<<jdbc-component,JDBC>>
\ No newline at end of file
diff --git a/components/camel-sql/src/main/docs/sql-stored-component.adoc b/components/camel-sql/src/main/docs/sql-stored-component.adoc
index 19b4e59..1eb0e4c 100644
--- a/components/camel-sql/src/main/docs/sql-stored-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-stored-component.adoc
@@ -5,7 +5,7 @@
 
 The *sql-stored:* component allows you to work with databases using JDBC
 Stored Procedure queries. This component is an extension to
-the link:sql-component.html[SQL Component] but specialized for calling
+the <<sql-component,SQL Component>> but specialized for calling
 stored procedures.
 
 This component uses `spring-jdbc` behind the scenes for the actual SQL
@@ -250,4 +250,4 @@ You should also include the specific database driver, if needed.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:sql-component.html[SQL Component]
\ No newline at end of file
+* <<sql-component,SQL Component>>
\ No newline at end of file
diff --git a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
index 445e99f..06628f7 100644
--- a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
+++ b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
@@ -13,10 +13,10 @@ This component supports the following:
 SyslogMessage model objects.
 * link:type-converter.html[Type Converter] from/to SyslogMessage and
 String
-* Integration with the link:mina.html[camel-mina] component.
-* Integration with the link:netty.html[camel-netty] component.
+* Integration with the <<mina-component,camel-mina>> component.
+* Integration with the <<netty-component,camel-netty>> component.
 * *Camel 2.14:* Encoder and decoder for
-the link:netty.html[camel-netty] component.
+the <<netty-component,camel-netty>> component.
 * *Camel 2.14:* Support for RFC5424 also.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -40,7 +40,7 @@ as its underlying transport layer mechanism.
 The UDP port that has been assigned to syslog is 514.
 
 To expose a Syslog listener service we reuse the existing
-link:mina.html[camel-mina] component or link:netty.html[camel-netty]
+<<mina-component,camel-mina>> component or <<mina-component,camel-netty>>
 where we just use the `Rfc3164SyslogDataFormat` to marshal and unmarshal
 messages. Notice that from *Camel 2.14* onwards the syslog dataformat is
 renamed to `SyslogDataFormat`.
@@ -64,8 +64,8 @@ The Syslog dataformat supports 1 options which are listed below.
 *Available as of Camel 2.14*
 
 To expose a Syslog listener service we reuse the
-existing link:mina.html[camel-mina] component
-or link:netty.html[camel-netty] where we just use
+existing <<mina-component,camel-mina>> component
+or <<netty-component,camel-netty>> where we just use
 the `SyslogDataFormat` to marshal and unmarshal messages
 
 #### Exposing a Syslog listener
@@ -93,7 +93,7 @@ as an InputStream:
 </camelContext>
 ------------------------------------------------------------------------------------------
 
-The same route using link:mina.html[camel-mina]
+The same route using <<mina-component,camel-mina>>
 
 [source,xml]
 -------------------------------------------------------------------------
diff --git a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc b/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
index a1dc3e2..ca63b8f 100644
--- a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
+++ b/components/camel-test-blueprint/src/main/docs/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
-link:bean.html[Bean] component in a route as shown:
+<<bean-component,Bean>> component in a route as shown:
 
 [source,xml]
 --------------------------------
diff --git a/components/camel-test-cdi/src/main/docs/test-cdi.adoc b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
index 2b614be..bfb0842 100644
--- a/components/camel-test-cdi/src/main/docs/test-cdi.adoc
+++ b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
@@ -283,7 +283,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
 link:rest-dsl.html[REST DSL] configured with the
-link:servlet.html[Servlet component], you need to create a Web archive,
+<<servlet-component,Servlet component>>, you need to create a Web archive,
 e.g.:
 
 [source,java]
@@ -640,7 +640,7 @@ Routes advising with `adviceWith`
 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 link:mock.html[Mock] component.
+the <<mock-component,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/components/camel-test/src/main/docs/test.adoc b/components/camel-test/src/main/docs/test.adoc
index 3d1bf1b..9cf61e3 100644
--- a/components/camel-test/src/main/docs/test.adoc
+++ b/components/camel-test/src/main/docs/test.adoc
@@ -3,23 +3,23 @@ Test Component
 ~~~~~~~~~~~~~~
 
 link:testing.html[Testing] of distributed and asynchronous processing is
-notoriously difficult. The link:mock.html[Mock], link:test.html[Test]
-and link:dataset.html[DataSet] endpoints work great with the
+notoriously difficult. The <<mock-component,Mock>>, <<mock-component,Test>>
+and <<dataset-component,DataSet>> endpoints work great with the
 link:testing.html[Camel Testing Framework] to simplify your unit and
 integration testing using
 link:enterprise-integration-patterns.html[Enterprise Integration
 Patterns] and Camel's large range of link:components.html[Components]
 together with the powerful link:bean-integration.html[Bean Integration].
 
-The *test* component extends the link:mock.html[Mock] component to
+The *test* component extends the <<mock-component,Mock>> component to
 support pulling messages from another endpoint on startup to set the
-expected message bodies on the underlying link:mock.html[Mock] endpoint.
+expected message bodies on the underlying <<mock-component,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 link:mock.html[Mock]
+This will then set up a properly configured <<mock-component,Mock>>
 endpoint, which is only valid if the received messages match the number
 of expected messages and their message payloads are equal.
 
@@ -36,7 +36,7 @@ for this component when using *Camel 2.8* or older:
 </dependency>
 ------------------------------------------------------------
 
-From Camel 2.9 onwards the link:test.html[Test] component is provided
+From Camel 2.9 onwards the <<test-component,Test>> component is provided
 directly in the camel-core.
 
 [[Test-URIformat]]
@@ -94,7 +94,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
-link:mock.html[Mock] component.
+<<mock-component,Mock>> component.
 
 [[Test-SeeAlso]]
 See Also
diff --git a/components/camel-twitter/src/main/docs/twitter-component.adoc b/components/camel-twitter/src/main/docs/twitter-component.adoc
index b43038e..5713baa 100644
--- a/components/camel-twitter/src/main/docs/twitter-component.adoc
+++ b/components/camel-twitter/src/main/docs/twitter-component.adoc
@@ -7,11 +7,11 @@
 ====================================================================================
 The composite twitter component has been deprecated. Use individual component for directmessage, search, streaming and timeline.
 
-* link:twitter.html[Twitter Components]
-  ** link:twitter-directmessage-component.html[Twitter Direct Message]
-  ** link:twitter-search-component.html[Twitter Search]
-  ** link:twitter-streaming-component.html[Twitter Streaming]
-  ** link:twitter-timeline-component.html[Twitter Timeline]
+* <<twitter-component,Twitter Components>>
+  ** <<twitter-directmessage-component,Twitter Direct Message>>
+  ** <<twitter-search-component,Twitter Search>>
+  ** <<twitter-streaming-component,Twitter Streaming>>
+  ** <<twitter-timeline-component,Twitter Timeline>>
 ====================================================================================
 
 The Twitter component enables the most useful features of the Twitter
diff --git a/components/camel-twitter/src/main/docs/twitter.adoc b/components/camel-twitter/src/main/docs/twitter.adoc
index e9fd24b..cd6d3b4 100644
--- a/components/camel-twitter/src/main/docs/twitter.adoc
+++ b/components/camel-twitter/src/main/docs/twitter.adoc
@@ -4,10 +4,10 @@
 
 The camel-twitter consists of 4 components:
 
-* link:twitter-directmessage-component.html[Twitter Direct Message]
-* link:twitter-search-component.html[Twitter Search]
-* link:twitter-streaming-component.html[Twitter Streaming]
-* link:twitter-timeline-component.html[Twitter Timeline]
+* <<twitter-directmessage-component,Twitter Direct Message>>
+* <<twitter-search-component,Twitter Search>>
+* <<twitter-streaming-component,Twitter Streaming>>
+* <<twitter-timeline-component,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
-|link:twitter-directmessage-component.html[twitter-directmessage] |direct, polling |twitter4j.DirectMessage | 
+|<<twitter-directmessage-component,twitter-directmessage>> |direct, polling |twitter4j.DirectMessage | 
 
-|link:twitter-search-component.html[twitter-search] |direct, polling |twitter4j.Status | 
+|<<twitter-search-component,twitter-search>> |direct, polling |twitter4j.Status | 
 
-|link:twitter-streaming-component.html[twitter-streaming] |event, polling |twitter4j.Status | 
+|<<twitter-streaming-component,twitter-streaming>> |event, polling |twitter4j.Status | 
 
-|link:twitter-timeline-component.html[twitter-timeline] |direct, polling |twitter4j.Status | 
+|<<twitter-timeline-component,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
-|link:twitter-directmessage-component.html[twitter-directmessage] |String |
-|link:twitter-search-component.html[twitter-search] |List<twitter4j.Status> |
-|link:twitter-timeline-component.html[twitter-timeline] |String |Only 'user' timelineType is supported for producer
+|<<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
 |==============================
 
 ### Message headers
diff --git a/components/camel-undertow/src/main/docs/undertow-component.adoc b/components/camel-undertow/src/main/docs/undertow-component.adoc
index cf6c11a..c6eb16d 100644
--- a/components/camel-undertow/src/main/docs/undertow-component.adoc
+++ b/components/camel-undertow/src/main/docs/undertow-component.adoc
@@ -117,7 +117,7 @@ with the following path and query parameters:
 
 ### Message Headers
 
-Camel uses the same message headers as the link:http.html[HTTP]
+Camel uses the same message headers as the <<http-component,HTTP>>
 component.
  From Camel 2.2, it also uses
 `Exchange.HTTP_CHUNKED,CamelHttpChunked` header to turn on or turn off
@@ -190,5 +190,5 @@ Transport].
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:jetty.html[Jetty]
-* link:http.html[HTTP]
\ No newline at end of file
+* <<jetty-component,Jetty>>
+* <<http-component,HTTP>>
\ No newline at end of file
diff --git a/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc b/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
index 2ab2f1f..050e629 100644
--- a/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
+++ b/components/camel-urlrewrite/src/main/docs/urlrewrite.adoc
@@ -5,16 +5,16 @@ UrlRewrite Component
 *Available as of Camel 2.11*
 
 The `camel-urlrewrite` component allows to plugin url rewrite
-functionality to link:http.html[HTTP], link:http4.html[HTTP4],
-link:jetty.html[Jetty], or link:ahc.html[AHC] components. This component
+functionality to <<http-component,HTTP>>, <<http-component,HTTP4>>,
+<<jetty-component,Jetty>>, or <<jetty-component,AHC>> components. This component
 integrates the
 http://code.google.com/p/urlrewritefilter/[UrlRewriteFilter] project
 with Apache Camel. This allows you to use the capabilities from the url
 rewrite project with your Camel routes.
 
 This component *requires* that your Camel routes starts from a servlet
-based endpoint such as link:jetty.html[Jetty] or
-link:servlet.html[SERVLET].
+based endpoint such as <<jetty-component,Jetty>> or
+<<servlet-component,SERVLET>>.
 
 [[UrlRewrite-Options]]
 Options
@@ -53,8 +53,8 @@ Usage
 ^^^^^
 
 The following component producers supports using together with the
-`camel-urlrewrite` component: link:http.html[HTTP],
-link:http4.html[HTTP4] and link:jetty.html[Jetty].
+`camel-urlrewrite` component: <<http-component,HTTP>>,
+<<http4-component,HTTP4>> and <<http4-component,Jetty>>.
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -76,7 +76,7 @@ with any of the components.
 
 You setup the url rewrite as a bean of the type
 `org.apache.camel.component.urlrewrite.http.HttpUrlRewrite` (when using
-link:http.html[HTTP] component) as shown below:
+<<http-component,HTTP>> component) as shown below:
 
 And in XML DSL you can do:
 
@@ -152,8 +152,8 @@ Component(s): camel-http4
 
 The former is a simple and generic interface, which is not dependent on
 the Servlet API. The later is servlet based which requires the Camel route to start from
-a servlet based component such as link:jetty.html[Jetty] or
-link:servlet.html[SERVLET]. The servlet based is more feature rich and
+a servlet based component such as <<jetty-component,Jetty>> or
+<<servlet-component,SERVLET>>. The servlet based is more feature rich and
 that's the API we use to integrate with the
 http://code.google.com/p/urlrewritefilter/[UrlRewriteFilter] project in
 this `camel-urlrewrite` component.
@@ -182,8 +182,8 @@ See Also
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:jetty.html[Jetty]
-* link:http4.html[HTTP4]
-* link:http.html[HTTP]
-* link:ahc.html[AHC]
+* <<jetty-component,Jetty>>
+* <<http4-component,HTTP4>>
+* <<http-component,HTTP>>
+* <<ahc-component,AHC>>
 
diff --git a/components/camel-websocket/src/main/docs/websocket-component.adoc b/components/camel-websocket/src/main/docs/websocket-component.adoc
index 3f507ae..e319b22 100644
--- a/components/camel-websocket/src/main/docs/websocket-component.adoc
+++ b/components/camel-websocket/src/main/docs/websocket-component.adoc
@@ -141,7 +141,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 link:ahc.html[AHC] library which offers support
+As a client we use the <<ahc-component,AHC>> library which offers support
 for web socket as well.
 
 Here is another example where webapp resources location have been
@@ -243,8 +243,8 @@ Java DSL based configuration of endpoint
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:ahc.html[AHC]
-* link:jetty.html[Jetty]
+* <<ahc-component,AHC>>
+* <<jetty-component,Jetty>>
 * link:twitter-websocket-example.html[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.
\ No newline at end of file
diff --git a/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
index da81371..bbfd429 100644
--- a/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
+++ b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
@@ -252,7 +252,7 @@ That's why the elements are in a different order in the output XML.
 
 ### Dependencies
 
-To use the link:xmljson.html[XmlJson] dataformat in your camel routes
+To use the <<xmljson-dataformat,XmlJson>> dataformat in your camel routes
 you need to add the following dependency to your pom:
 
 [source,xml]
diff --git a/docs/user-manual/en/async.adoc b/docs/user-manual/en/async.adoc
index 8c9e164..961ae70 100644
--- a/docs/user-manual/en/async.adoc
+++ b/docs/user-manual/en/async.adoc
@@ -50,7 +50,7 @@ event message.
 
 The link:request-reply.html[Request Reply] is when the caller sends a
 message and then *waits for a reply*. This is like the
-link:http.html[HTTP] protocol that we use every day when we surf the
+<<http-component,HTTP>> protocol that we use every day when we surf the
 web. We send a request to fetch a web page and wait until the reply message
 comes with the web content.
 
@@ -76,9 +76,9 @@ diagram below:
 image:async.data/camel_sync_request_reply.png[image]
 
 \1. The client sends a sync link:request-reply.html[Request Reply]
-message over link:http.html[HTTP] to Camel. The client application will
+message over <<http-component,HTTP>> to Camel. The client application will
 wait for the response that Camel routes and processes. +
- 2. The message invokes an external link:mina.html[TCP] service using
+ 2. The message invokes an external <<mina-component,TCP>> service using
 synchronous link:request-reply.html[Request Reply]. The client
 application still waits for the response. +
  3. The response is send back to the client.
@@ -100,7 +100,7 @@ image:async.data/camel_async_request_reply.png[image]
 link:request-reply.html[Request Reply] message over link:http.html[HTTP]
 to Camel. The control is immediately returned to the client application,
 that can continue and do other work while Camel routes the message. +
- 2. Camel invokes an external link:mina.html[TCP] service using
+ 2. Camel invokes an external <<mina-component,TCP>> service using
 synchronous link:request-reply.html[Request Reply]. The client
 application can do other work simultaneously. +
  3. The client wants to get the reply so it uses the Future handle it
@@ -119,9 +119,9 @@ completely. This is illustrated in the diagram below:
 image:async.data/camel_sync_request_only.png[image]
 
 \1. The client sends a link:event-message.html[Request only] and we can
-still use link:http.html[HTTP] despite http being
+still use <<http-component,HTTP>> despite http being
 link:request-reply.html[Request Reply] by nature. +
- 2. Camel invokes an external link:mina.html[TCP] service using
+ 2. Camel invokes an external <<mina-component,TCP>> service using
 synchronous link:request-reply.html[Request Reply]. The client
 application is still waiting. +
  3. The message is processed completely and the control is returned to
@@ -148,11 +148,11 @@ processed in Camel. This is illustrated in the diagram below:
 image:async.data/camel_async_request_only.png[image]
 
 \1. The client sends a link:event-message.html[Request only] and we can
-still use link:http.html[HTTP] despite http being
+still use <<http-component,HTTP>> despite http being
 link:request-reply.html[Request Reply] by nature. The control is
 immediately returned to the client application, that can continue and do
 other work while Camel routes the message. +
- 2. Camel invokes an external link:mina.html[TCP] service using
+ 2. Camel invokes an external <<mina-component,TCP>> service using
 synchronous link:request-reply.html[Request Reply]. The client
 application can do other work simultaneously. +
  3. The message completes but no result is returned to the client.
@@ -264,19 +264,19 @@ exception.
 Example: Asynchronous Request Reply
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Suppose we want to call a link:http.html[HTTP] service but it is usually
+Suppose we want to call a <<http-component,HTTP>> service but it is usually
 slow and thus we do not want to block and wait for the response, as we
 can do other important computation. So we can initiate an
 link:async.html[Async] exchange to the link:http.html[HTTP] endpoint and
-then do other stuff while the slow link:http.html[HTTP] service is
+then do other stuff while the slow <<http-component,HTTP>> service is
 processing our request. And then a bit later we can use the `Future`
-handle to get the response from the link:http.html[HTTP] service. Yeah
+handle to get the response from the <<http-component,HTTP>> service. Yeah
 nice so lets do it:
 
-First we define some routes in Camel. One for the link:http.html[HTTP]
+First we define some routes in Camel. One for the <<http-component,HTTP>>
 service where we simulate a slow server as it takes at least 1 second to
 reply. And then other route that we want to invoke while the
-link:http.html[HTTP] service is on route. This allows you to be able to
+<<http-component,HTTP>> service is on route. This allows you to be able to
 process the two routes simultaneously:
 
 And then we have the client API where we call the two routes and we can
@@ -300,13 +300,13 @@ messages that differs:
 Using the link:async.html[Async] API with callbacks
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Suppose we want to call a link:http.html[HTTP] service but it is usually
+Suppose we want to call a <<http-component,HTTP>> service but it is usually
 slow and thus we do not want to block and wait for the response, but
 instead let a callback gather the response. This allows us to send
 multiple requests without waiting for the replies before we can send the
 next request.
 
-First we define a route in Camel for the link:http.html[HTTP] service
+First we define a route in Camel for the <<http-component,HTTP>> service
 where we simulate a slow server as it takes at least 1 second to reply.
 
 Then we define our callback where we gather the responses. As this is
@@ -318,7 +318,7 @@ link:exchange.html[Exchange] was processed successfully or failed. The
 `org.apache.camel.spi.Synchronization` API provides fine grained methods
 for `onCompletion` and `onFailure` for the two situations.
 
-And then we have the client API where we call the link:http.html[HTTP]
+And then we have the client API where we call the <<http-component,HTTP>>
 service using `asyncCallback` 3 times with different input. As the
 invocation is link:async.html[Async] the client will send 3 requests
 right after each other, so we have 3 concurrent exchanges in progress.
@@ -513,8 +513,8 @@ See Also
 *
 http://davsclaus.blogspot.com/2009/05/on-road-to-camel-20-concurrency-with.html[Blog
 entry on using async for concurrent file processing]
-* link:seda.html[SEDA]
-* link:direct.html[Direct]
+* <<seda-component,SEDA>>
+* <<direct-component,Direct>>
 * link:toasync.html[ToAsync] for non blocking
 link:request-reply.html[Request Reply]
 
diff --git a/docs/user-manual/en/asynchronous-routing-engine.adoc b/docs/user-manual/en/asynchronous-routing-engine.adoc
index 1b022d9..c085484 100644
--- a/docs/user-manual/en/asynchronous-routing-engine.adoc
+++ b/docs/user-manual/en/asynchronous-routing-engine.adoc
@@ -9,37 +9,37 @@ All the link:enterprise-integration-patterns.html[Enterprise
 Integration Patterns] are supported as well a selected number of
 link:components.html[Components]:
 
-* link:ahc.html[AHC] *Camel 2.8:* (only producer)
+* <<ahc-component,AHC>> *Camel 2.8:* (only producer)
 * link:aws.html[AWS] *Camel 2.11:* (only consumer) for S3 and SNS.
-* link:avro.html[Avro] *Camel 2.10:* (only producer)
-* link:cxf.html[CXF] *Camel 2.5:* (both consumer and producer)
-* link:cxfrs.html[CXFRS] *Camel 2.5:* (only consumer)
-* link:direct-vm.html[Direct-VM] *Camel 2.10.5/2.11.0:* (both consumer
+* <<avro-component,Avro>> *Camel 2.10:* (only producer)
+* <<cxf-component,CXF>> *Camel 2.5:* (both consumer and producer)
+* <<cxfrs-component,CXFRS>> *Camel 2.5:* (only consumer)
+* <<direct-vm-component,Direct-VM>> *Camel 2.10.5/2.11.0:* (both consumer
 and producer)
-* link:file.html[File] - (only consumer)
-* link:ftp.html[FTP] - (only consumer)
-* link:guava-eventbus.html[Guava EventBus] *Camel 2.10:* (only consumer)
+* <<file-component,File>> - (only consumer)
+* <<ftp-component,FTP>> - (only consumer)
+* <<guava-eventbus-component,Guava EventBus>> *Camel 2.10:* (only consumer)
 * link:jbi.html[JBI] (both consumer and producer)
-* link:jetty.html[Jetty] (both consumer and producer)
-* link:jgroups.html[JGroups] *Camel 2.10:* (only consumer)
-* link:jms.html[JMS] *Camel 2.5:* (only producer for
+* <<jetty-component,Jetty>> (both consumer and producer)
+* <<jgroups-component,JGroups>> *Camel 2.10:* (only consumer)
+* <<jms-component,JMS>> *Camel 2.5:* (only producer for
 link:request-reply.html[Request Reply] messaging over JMS). *Camel 2.9:*
 (consumer, if option `asyncConsumer=true` is used).
-* link:jms.html[JMS] *Camel 2.9:* (also consumer)
-* link:mqtt.html[MQTT] *Camel 2.10.2:* (only producer)
+* <<jms-component,JMS>> *Camel 2.9:* (also consumer)
+* <<mqtt-component,MQTT>> *Camel 2.10.2:* (only producer)
 * link:nmr.html[NMR] (both consumer and producer)
-* link:netty.html[Netty] only producer (*Camel 2.10:* also consumer)
-* link:restlet.html[Restlet] *Camel 2.8:* (only producer)
-* link:seda.html[SEDA] (both consumer and producer) SEDA was mistakenly
+* <<netty-component,Netty>> only producer (*Camel 2.10:* also consumer)
+* <<restlet-component,Restlet>> *Camel 2.8:* (only producer)
+* <<seda-component,SEDA>> (both consumer and producer) SEDA was mistakenly
 in this list until November 3rd 2012. As of Camel 2.10.x, it still does
 not leverage the Async Routing Engine, but support is planned for
 http://camel.apache.org/camel-30-roadmap.html#Camel3.0-Roadmap-SEDA%2FVMcomponentstoleverageasyncroutingengine[Camel
 3.0].
 
-* link:timer.html[Timer] *Camel 2.12:* (only consumer)
+* <<timer-component,Timer>> *Camel 2.12:* (only consumer)
 
 When we say a component is supported, that means, the component is
-leveraging the asynchronous model. For example link:jetty.html[Jetty]
+leveraging the asynchronous model. For example <<jetty-component,Jetty>>
 uses continuations and the async http client to be fully asynchronous
 and non blocked. That means no threads will ever be blocked while
 waiting for a reply.
@@ -53,10 +53,10 @@ Forcing to use synchronous processing
 
 You can configure the endpoints with the option `synchronous=true` to
 force using synchronous processing. For example when sending a web
-service request using link:cxf.html[CXF], the caller will wait for the
+service request using <<cxf-component,CXF>>, the caller will wait for the
 reply if `synchronous=true` was configured. Currently this option is
 supported by the all the producers. If you don't want to let the
-link:cxf.html[CXF] consumer leverage the CXF continuation API to use the
+<<cxf-component,CXF>> consumer leverage the CXF continuation API to use the
 asynchronous processing, you can also use this option `synchronous=true`
 to disable it. The link:jbi.html[JBI] and link:nmr.html[NMR] component
 are always asynchronous and doesn't support this option.
diff --git a/docs/user-manual/en/backlogdebugger.adoc b/docs/user-manual/en/backlogdebugger.adoc
index 46138a3..6e3541d 100644
--- a/docs/user-manual/en/backlogdebugger.adoc
+++ b/docs/user-manual/en/backlogdebugger.adoc
@@ -103,5 +103,5 @@ See Also
 
 * link:backlogtracer.html[BacklogTracer]
 * link:debugger.html[Debugger]
-* link:log.html[Log]
+* <<log-component,Log>>
 
diff --git a/docs/user-manual/en/bam-example.adoc b/docs/user-manual/en/bam-example.adoc
index 3517c5a..49c0771 100644
--- a/docs/user-manual/en/bam-example.adoc
+++ b/docs/user-manual/en/bam-example.adoc
@@ -79,17 +79,17 @@ the Camel link:components.html[Components]
 correlate together the purchase order and invoice messages which can be
 any link:expression.html[Expression] via any of the
 link:languages-supported.html[Languages Supported]. In this case we are
-using link:xpath.html[XPath].
+using <<xpath-language,XPath>>.
 
 Then the final line of code defines the temporal rules to use; namely
 that it is considered to be an error if an invoice is not received
 within 2 seconds of a purchase order being received. When a failure
-occurs in this example we just send it to the link:log.html[Log]
+occurs in this example we just send it to the <<log-component,Log>>
 component to log out an error level message to commons-logging / log4j.
 You could change this to use some of the other
 link:components.html[Components] such as link:activemq.html[ActiveMQ],
-link:jms.html[JMS], link:irc.html[IRC], link:mail.html[Mail],
-link:xmpp.html[XMPP] etc.
+<<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
+<<xmpp-component,XMPP>> etc.
 
 [[BAMExample-Runningtheexample]]
 Running the example
diff --git a/docs/user-manual/en/batch-consumer.adoc b/docs/user-manual/en/batch-consumer.adoc
index d3a1a2a..d799d54 100644
--- a/docs/user-manual/en/batch-consumer.adoc
+++ b/docs/user-manual/en/batch-consumer.adoc
@@ -13,19 +13,19 @@ that a consumer can implement to indicate it support batching as well.
 The following components supports link:batch-consumer.html[Batch
 Consumer] by its consumer:
 
-* link:atom.html[Atom]
+* <<atom-component,Atom>>
 * link:file2.html[File]
 * link:ftp2.html[FTP]
-* link:hbase.html[hbase]
-* link:ibatis.html[iBatis]
-* link:jpa.html[JPA]
-* link:jclouds.html[JCLOUDS]
-* link:mail.html[Mail]
-* link:mybatis.html[MyBatis]
-* link:snmp.html[SNMP]
-* link:sql-component.html[SQL]
-* link:aws-sqs.html[SQS]
-* link:aws-s3.html[S3]
+* <<hbase-component,hbase>>
+* <<ibatis-component,iBatis>>
+* <<jpa-component,JPA>>
+* <<jclouds-component,JCLOUDS>>
+* <<mail-component,Mail>>
+* <<mybatis-component,MyBatis>>
+* <<snmp-component,SNMP>>
+* <<sql-component,SQL>>
+* <<aws-sqs-component,SQS>>
+* <<aws-s3-component,S3>>
 
 [[BatchConsumer-ConsumerOptions]]
 Consumer Options
diff --git a/docs/user-manual/en/bean-integration.adoc b/docs/user-manual/en/bean-integration.adoc
index 0937240..ef382bc 100644
--- a/docs/user-manual/en/bean-integration.adoc
+++ b/docs/user-manual/en/bean-integration.adoc
@@ -67,8 +67,8 @@ to use the annotations for routing and messaging.
 Bean Component
 ^^^^^^^^^^^^^^
 
-The link:bean.html[Bean] component allows one to invoke a particular
-method. Alternately the link:bean.html[Bean] component supports the
+The <<bean-component,Bean>> component allows one to invoke a particular
+method. Alternately the <<bean-component,Bean>> component supports the
 creation of a proxy via
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/bean/ProxyHelper.html[ProxyHelper]
 to a Java interface; which the implementation just sends a message
@@ -94,7 +94,7 @@ headers and so forth.
 *Bean binding*
 
 Whenever Camel invokes a bean method via one of the above methods
-(link:bean.html[Bean] component, link:spring-remoting.html[Spring
+(<<bean-component,Bean>> component, link:spring-remoting.html[Spring
 Remoting] or link:pojo-consuming.html[POJO Consuming]) then the
 *link:bean-binding.html[Bean Binding]* mechanism is used to figure out
 what method to use (if it is not explicit) and how to bind the
diff --git a/docs/user-manual/en/browsable-endpoint.adoc b/docs/user-manual/en/browsable-endpoint.adoc
index ab0d138..78a7d59 100644
--- a/docs/user-manual/en/browsable-endpoint.adoc
+++ b/docs/user-manual/en/browsable-endpoint.adoc
@@ -9,9 +9,9 @@ which are pending or have been sent on it.
 
 Some example implementations include
 
-* link:jms.html[JMS] for queues only (as of 1.3.0)
+* <<jms-component,JMS>> for queues only (as of 1.3.0)
 * link:list.html[List]
-* link:mock.html[Mock]
-* link:seda.html[Seda]
-* link:vm.html[VM]
+* <<mock-component,Mock>>
+* <<seda-component,Seda>>
+* <<vm-component,VM>>
 
diff --git a/docs/user-manual/en/camel-configuration-utilities.adoc b/docs/user-manual/en/camel-configuration-utilities.adoc
index 41979d1..6f2a33f 100644
--- a/docs/user-manual/en/camel-configuration-utilities.adoc
+++ b/docs/user-manual/en/camel-configuration-utilities.adoc
@@ -15,21 +15,21 @@ Supported Components
 The following Camel components directly support the use of this
 configuration utility:
 
-* link:http4.html[HTTP4]
-* link:jetty.html[Jetty]
-* link:ahc.html[AHC]
-* link:netty.html[Netty]
-* link:cometd.html[Cometd]
+* <<http4-component,HTTP4>>
+* <<jetty-component,Jetty>>
+* <<ahc-component,AHC>>
+* <<netty-component,Netty>>
+* <<cometd-component,Cometd>>
 * link:ftp2.html[FTP2]
-* link:irc.html[IRC]
-* link:mail.html[Mail]
+* <<irc-component,IRC>>
+* <<mail-component,Mail>>
 * MINA 2
 
 The following Camel components indirectly support the use of this
 configuration utility:
 
-* link:cxf.html[CXF]
-* link:http.html[HTTP]
+* <<cxf-component,CXF>>
+* <<http-component,HTTP>>
 
 [[CamelConfigurationUtilities-Configuration]]
 Configuration
diff --git a/docs/user-manual/en/enterprise-integration-patterns.adoc b/docs/user-manual/en/enterprise-integration-patterns.adoc
index fd29da1..0c1eb9b 100644
--- a/docs/user-manual/en/enterprise-integration-patterns.adoc
+++ b/docs/user-manual/en/enterprise-integration-patterns.adoc
@@ -188,7 +188,7 @@ number of endpoints?
 of endpoints at the same time?
 
 |image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
-|link:loop.html[Loop] |How can I repeat processing a message in a loop?
+|<<loop-eip,Loop>> |How can I repeat processing a message in a loop?
 |=======================================================================
 
 [[EnterpriseIntegrationPatterns-MessageTransformation]]
@@ -216,12 +216,12 @@ content?
 semantically equivalent, but arrive in a different format?
 
 |image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
-|link:sort.html[Sort] |How can I sort the body of a message?
+|<<sort-eip,Sort>> |How can I sort the body of a message?
 
 |  |Script |How do I execute a script which may not change the message?
 
 |image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
-|link:validate.html[Validate] |How can I validate a message?
+|<<validate-eip,Validate>> |How can I validate a message?
 |=======================================================================
 
 [[EnterpriseIntegrationPatterns-MessagingEndpoints]]
@@ -284,7 +284,7 @@ System Management
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
 |image:http://www.eaipatterns.com/img/ControlBusIcon.gif[image]
-|link:controlbus.html[ControlBus] |How can we effectively administer a
+|<<controlbus-component,ControlBus>> |How can we effectively administer a
 messaging system that is distributed across multiple platforms and a
 wide geographic area?
 
diff --git a/docs/user-manual/en/exchange-pattern.adoc b/docs/user-manual/en/exchange-pattern.adoc
index 2df7529..daa3557 100644
--- a/docs/user-manual/en/exchange-pattern.adoc
+++ b/docs/user-manual/en/exchange-pattern.adoc
@@ -18,7 +18,7 @@ the Message link:exchange.html[Exchange] indicating if a message
 exchange is a one way link:event-message.html[Event Message] (InOnly) or
 a link:request-reply.html[Request Reply] message exchange (InOut).
 
-For example to override the default pattern on a link:jms.html[JMS]
+For example to override the default pattern on a <<jms-component,JMS>>
 endpoint you could use this URI
 
 [source,java]
diff --git a/docs/user-manual/en/expression.adoc b/docs/user-manual/en/expression.adoc
index 9b7f5ac..a383844 100644
--- a/docs/user-manual/en/expression.adoc
+++ b/docs/user-manual/en/expression.adoc
@@ -73,31 +73,31 @@ Expression Languages
 
 The following languages are supported out of the box
 
-* link:bean-language.html[Bean Language] for using Java for expressions
-* link:constant.html[Constant]
-* the unified link:el.html[EL] from JSP and JSF
-* link:header.html[Header]
-* link:jsonpath.html[JSonPath]
-* link:jxpath.html[JXPath]
-* link:mvel.html[Mvel]
-* link:ognl.html[OGNL]
-* link:ref-language.html[Ref Language]
+* <<bean-language,Bean Language>> for using Java for expressions
+* <<constant-language,Constant>>
+* the unified <<el-language,EL>> from JSP and JSF
+* <<header-language,Header>>
+* <<jsonpath-language,JSonPath>>
+* <<jxpath-language,JXPath>>
+* <<mvel-component,Mvel>>
+* <<ognl-language,OGNL>>
+* <<ref-language,Ref Language>>
 * link:exchangeproperty.html[ExchangeProperty]
 / link:property.html[Property]
 * link:scripting-languages.html[Scripting Languages] such as
 ** link:beanshell.html[BeanShell]
 ** link:javascript.html[JavaScript]
-** link:groovy.html[Groovy]
-** link:python.html[Python]
-** link:php.html[PHP]
-** link:ruby.html[Ruby]
-* link:simple.html[Simple]
-** link:file-language.html[File Language]
-* link:spel.html[Spring Expression Language]
-* link:sql.html[SQL]
+** <<groovy-language,Groovy>>
+** <<python-language,Python>>
+** <<php-language,PHP>>
+** <<ruby-language,Ruby>>
+* <<simple-language,Simple>>
+** <<file-language,File Language>>
+* <<spel-language,Spring Expression Language>>
+* <<sql-component,SQL>>
 * link:tokenizer.html[Tokenizer]
-* link:xpath.html[XPath]
-* link:xquery.html[XQuery]
+* <<xpath-language,XPath>>
+* <<xquery-component,XQuery>>
 * link:vtd-xml.html[VTD-XML]
 
 Most of these languages is also supported used as
@@ -118,14 +118,14 @@ wish to use.
 
 |link:scripting-languages.html[Scripting Languages] such as
 link:beanshell.html[BeanShell], link:javascript.html[JavaScript],
-link:groovy.html[Groovy], link:php.html[PHP], link:python.html[Python]
-and link:ruby.html[Ruby] |http://camel.apache.org/maven/current/camel-script/apidocs/org/apache/camel/builder/script/ScriptBuilder.html[org.apache.camel.builder.script.ScriptBuilder]
+<<groovy-language,Groovy>>, <<groovy-language,PHP>>, <<groovy-language,Python>>
+and <<ruby-language,Ruby>> |http://camel.apache.org/maven/current/camel-script/apidocs/org/apache/camel/builder/script/ScriptBuilder.html[org.apache.camel.builder.script.ScriptBuilder]
 
-|link:sql.html[SQL] |http://camel.apache.org/maven/current/camel-josql/apidocs/org/apache/camel/builder/sql/SqlBuilder.html[org.apache.camel.builder.josql.SqlBuilder]
+|<<sql-component,SQL>> |http://camel.apache.org/maven/current/camel-josql/apidocs/org/apache/camel/builder/sql/SqlBuilder.html[org.apache.camel.builder.josql.SqlBuilder]
 
-|link:xpath.html[XPath] |http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/builder/xml/XPathBuilder.html[org.apache.camel.builder.xml.XPathBuilder]
+|<<xpath-language,XPath>> |http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/builder/xml/XPathBuilder.html[org.apache.camel.builder.xml.XPathBuilder]
 
-|link:xquery.html[XQuery] |http://camel.apache.org/maven/current/camel-saxon/apidocs/org/apache/camel/builder/saxon/XQueryBuilder.html[org.apache.camel.builder.saxon.XQueryBuilder]
+|<<xquery-component,XQuery>> |http://camel.apache.org/maven/current/camel-saxon/apidocs/org/apache/camel/builder/saxon/XQueryBuilder.html[org.apache.camel.builder.saxon.XQueryBuilder]
 |=======================================================================
 
 [[Expression-SeeAlso]]
diff --git a/docs/user-manual/en/how-do-i-configure-endpoints.adoc b/docs/user-manual/en/how-do-i-configure-endpoints.adoc
index 48fec4b..bc57475 100644
--- a/docs/user-manual/en/how-do-i-configure-endpoints.adoc
+++ b/docs/user-manual/en/how-do-i-configure-endpoints.adoc
@@ -122,7 +122,7 @@ Using Endpoint URIs
 ^^^^^^^^^^^^^^^^^^^
 
 Another approach is to use the URI syntax. The URI syntax supports the
-query notation. So for example with the link:mail.html[Mail] component
+query notation. So for example with the <<mail-component,Mail>> component
 you can configure the password property via the URI
 
 [source]
diff --git a/docs/user-manual/en/injector.adoc b/docs/user-manual/en/injector.adoc
index a19a0d7..28b8432 100644
--- a/docs/user-manual/en/injector.adoc
+++ b/docs/user-manual/en/injector.adoc
@@ -18,7 +18,7 @@ link:endpoint.html[Endpoint] in your Spring XML file; or let Camel find
 the defaults then use the Injector to create and inject any of its
 dependencies.
 
-As an example; consider the link:jms.html[JMS] component. Rather than
+As an example; consider the <<jms-component,JMS>> component. Rather than
 explicitly configuring the JMS component in Spring XML you can just
 provide a ConnectionFactory in your Spring XML which the Injector will
 use to properly configure the JmsComponent when it is instantiated.
diff --git a/docs/user-manual/en/intercept.adoc b/docs/user-manual/en/intercept.adoc
index e980acf..832b2da 100644
--- a/docs/user-manual/en/intercept.adoc
+++ b/docs/user-manual/en/intercept.adoc
@@ -117,7 +117,7 @@ particular route.
 
 So lets start with the logging example. We want to log all the
 *incoming* requests so we use `interceptFrom` to route to the
-link:log.html[Log] component. As `proceed` is default then the
+<<log-component,Log>> component. As `proceed` is default then the
 link:exchange.html[Exchange] will continue its route, and thus it will
 continue to `mock:first`.
 
@@ -193,7 +193,7 @@ Intercept endpoint is of course also available using Spring DSL.
 
 We start with the first example from above in Spring DSL:
 
-And the 2nd. Notice how we can leverage the link:simple.html[Simple]
+And the 2nd. Notice how we can leverage the <<simple-language,Simple>>
 language for the link:predicate.html[Predicate]:
 
 And the 3rd with the `skip`, notice skip is set with the
diff --git a/docs/user-manual/en/json.adoc b/docs/user-manual/en/json.adoc
index 9f3fcb7..09aecec 100644
--- a/docs/user-manual/en/json.adoc
+++ b/docs/user-manual/en/json.adoc
@@ -22,7 +22,7 @@ XStream library.
 *Direct, bi-directional JSON <=> XML conversions*
 
 As of Camel 2.10, Camel supports direct, bi-directional JSON <=> XML
-conversions via the link:xmljson.html[camel-xmljson] data format, which
+conversions via the <<xmljson-dataformat,camel-xmljson>> data format, which
 is documented separately.
 
 [[JSON-UsingJSONdataformatwiththeXStreamlibrary]]
diff --git a/docs/user-manual/en/scala-dsl-eip.adoc b/docs/user-manual/en/scala-dsl-eip.adoc
index 2f28636..136c983 100644
--- a/docs/user-manual/en/scala-dsl-eip.adoc
+++ b/docs/user-manual/en/scala-dsl-eip.adoc
@@ -403,7 +403,7 @@ val myProcessor = (exchange: Exchange) => {
 ----------------------------------------------------------------------------------------------------------------
 
 Off course, you can also use any other Camel component (e.g.
-link:velocity.html[Velocity]) to enrich the content and add it to a
+<<velocity-component,Velocity>>) to enrich the content and add it to a
 pipeline
 
 
diff --git a/docs/user-manual/en/scala-dsl-supported-languages.adoc b/docs/user-manual/en/scala-dsl-supported-languages.adoc
index 76d402a..68cc3f5 100644
--- a/docs/user-manual/en/scala-dsl-supported-languages.adoc
+++ b/docs/user-manual/en/scala-dsl-supported-languages.adoc
@@ -11,7 +11,7 @@ You can use any of the supported Camel link:languages.html[Languages] in
 the link:scala-dsl.html[Scala DSL]; see below for a couple of examples:
 
 [[ScalaDSL-Supportedlanguages-Using]]
-Using link:xpath.html[XPath]
+Using <<xpath-language,XPath>>
 ----------------------------
 
 With the XPath trait, you have an additional method available on an
@@ -31,7 +31,7 @@ Splitter example, where the `xpath` method is used in a
 ----------------------------------------------------------
 
 [[ScalaDSL-Supportedlanguages-Using.1]]
-Using link:jxpath.html[JXPath]
+Using <<jxpath-language,JXPath>>
 ------------------------------
 
 With the `org.apache.camel.scala.dsl.languages.JXPath` trait, you can an
diff --git a/docs/user-manual/en/scripting-languages.adoc b/docs/user-manual/en/scripting-languages.adoc
index 37c6371..1fc6683 100644
--- a/docs/user-manual/en/scripting-languages.adoc
+++ b/docs/user-manual/en/scripting-languages.adoc
@@ -65,7 +65,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels link:properties.html[Properties] component from scripts. See
+Camels <<properties-component,Properties>> component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -88,7 +88,7 @@ Using properties function
 
 *Available as of Camel 2.9*
 
-If you need to use the link:properties.html[Properties] component from a
+If you need to use the <<properties-component,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
 placeholder, which key is provided in a header named "foo".
diff --git a/docs/user-manual/en/spring-testing.adoc b/docs/user-manual/en/spring-testing.adoc
index 2c2f4a8..655b6fc 100644
--- a/docs/user-manual/en/spring-testing.adoc
+++ b/docs/user-manual/en/spring-testing.adoc
@@ -7,8 +7,8 @@ integration work. The Spring Framework offers a number of features that
 makes it easy to test while using Spring for Inversion of Control which
 works with JUnit 3.x, JUnit 4.x, and http://testng.org[TestNG].
 
-We can use Spring for IoC and the Camel link:mock.html[Mock] and
-link:test.html[Test] endpoints to create sophisticated integration/unit
+We can use Spring for IoC and the Camel <<mock-component,Mock>> and
+<<test-component,Test>> endpoints to create sophisticated integration/unit
 tests that are easy to run and debug inside your IDE.  There are three
 supported approaches for testing with Spring in Camel.
 
@@ -336,7 +336,7 @@ Adding more Mock expectations
 
 If you wish to programmatically add any new assertions to your test you
 can easily do so with the following. Notice how we use @EndpointInject
-to inject a Camel endpoint into our code then the link:mock.html[Mock]
+to inject a Camel endpoint into our code then the <<mock-component,Mock>>
 API to add an expectation on a specific message.
 
 [source,java]
@@ -363,7 +363,7 @@ public class MyCamelTest extends AbstractJUnit38SpringContextTests {
 Further processing the received messages
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Sometimes once a link:mock.html[Mock] endpoint has received some
+Sometimes once a <<mock-component,Mock>> endpoint has received some
 messages you want to then process them further to add further assertions
 that your test case worked as you expect.
 
@@ -403,7 +403,7 @@ It might be that the
 link:enterprise-integration-patterns.html[Enterprise Integration
 Patterns] you have defined in either link:spring.html[Spring] XML or
 using the Java link:dsl.html[DSL] do all of the sending and receiving
-and you might just work with the link:mock.html[Mock] endpoints as
+and you might just work with the <<mock-component,Mock>> endpoints as
 described above. However sometimes in a test case its useful to
 explicitly send or receive messages directly.
 
@@ -444,6 +444,6 @@ example test case using Mock and Spring] along with its
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/mock/InterceptSendToMockEndpointStrategyTest.xml[Spring
 XML]
 * link:bean-integration.html[Bean Integration]
-* link:mock.html[Mock] endpoint
-* link:test.html[Test] endpoint
+* <<mock-component,Mock>> endpoint
+* <<test-component,Test>> endpoint
 
diff --git a/docs/user-manual/en/testing.adoc b/docs/user-manual/en/testing.adoc
index 70ba8ae..ec49047 100644
--- a/docs/user-manual/en/testing.adoc
+++ b/docs/user-manual/en/testing.adoc
@@ -238,20 +238,20 @@ Camel provides a number of endpoints which can make testing easier.
 [width="100%",cols="1,3",options="header",]
 |=======================================================================
 |Name |Description
-|link:dataset.html[DataSet] |For load & soak testing this endpoint
+|<<dataset-component,DataSet>> |For load & soak testing this endpoint
 provides a way to create huge numbers of messages for sending to
 link:components.html[Components] and asserting that they are consumed
 correctly
 
-|link:mock.html[Mock] |For testing routes and mediation rules using
+|<<mock-component,Mock>> |For testing routes and mediation rules using
 mocks and allowing assertions to be added to an endpoint
 
-|link:test.html[Test] |Creates a link:mock.html[Mock] endpoint which
+|<<test-component,Test>> |Creates a <<test-component,Mock>> endpoint which
 expects to receive all the message bodies that could be polled from the
 given underlying endpoint
 |=======================================================================
 
-The main endpoint is the link:mock.html[Mock] endpoint which allows
+The main endpoint is the <<mock-component,Mock>> endpoint which allows
 expectations to be added to different endpoints; you can then run your
 tests and assert that your expectations are met at the end.
 
@@ -267,16 +267,16 @@ endpoints can be useful:
 [width="100%",cols="1,3",options="header",]
 |=======================================================================
 |Name |Description
-|link:direct.html[Direct] |Direct invocation of the consumer from the
+|<<direct-component,Direct>> |Direct invocation of the consumer from the
 producer so that single threaded (non-SEDA) in VM invocation is
 performed which can be useful to mock out physical transports
 
-|link:seda.html[SEDA] |Delivers messages asynchronously to consumers via
+|<<seda-component,SEDA>> |Delivers messages asynchronously to consumers via
 a
 http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[`java.util.concurrent.BlockingQueue`]
 which is good for testing asynchronous transports
 
-|link:stub.html[Stub] |Works like link:seda.html[SEDA] but does not
+|<<stub-component,Stub>> |Works like <<stub-component,SEDA>> but does not
 validate the endpoint URI, which makes stubbing much easier.
 |=======================================================================
 
@@ -285,7 +285,7 @@ Testing existing routes
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 Camel provides some features to aid during testing of existing routes
-where you cannot or will not use link:mock.html[Mock] etc. For example
+where you cannot or will not use <<mock-component,Mock>> etc. For example
 you may have a production ready route which you want to test with some
 3rd party API which sends messages into this route.
 

-- 
To stop receiving notification emails like this one, please contact
acosentino@apache.org.

[camel] 03/04: CAMEL-12246 Replaced file links that were split over two lines (manually)

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 3e4021b6bdb14c7e182a0a23a94fbb96301a3aec
Author: Fintan Bolton <fb...@redhat.com>
AuthorDate: Fri Feb 9 13:18:06 2018 +0100

    CAMEL-12246 Replaced file links that were split over two lines (manually)
---
 camel-core/src/main/docs/file-component.adoc                    | 8 +++-----
 camel-core/src/main/docs/file-language.adoc                     | 5 ++---
 components/camel-exec/src/main/docs/exec-component.adoc         | 5 ++---
 components/camel-quickfix/src/main/docs/quickfix-component.adoc | 3 +--
 docs/user-manual/en/how-do-i-configure-endpoints.adoc           | 3 +--
 5 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index d39ba4b..abe9844 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -183,8 +183,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 link:file-language.html[File
-Language], or <<simple-language,Simple>> then the result of the expression
+(though if you use an expression such as <<file-language,File Language>>, or <<simple-language,Simple>> then the result of the expression
 evaluation is the file name to be used - eg if you set
 
 [source]
@@ -1030,8 +1029,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 link:file-language.html[File
-Language] we can use its date command that supports patterns. So this
+ Well as we have the true power of <<file-language,File Language>> we can use its date command that supports patterns. So this
 can be solved as:
 
 [source]
@@ -1124,4 +1122,4 @@ problems.
 
 * <<file-language,File Language>>
 * link:ftp2.html[FTP]
-* link:polling-consumer.html[Polling Consumer]
\ No newline at end of file
+* link:polling-consumer.html[Polling Consumer]
diff --git a/camel-core/src/main/docs/file-language.adoc b/camel-core/src/main/docs/file-language.adoc
index 2e3f19e..fce878a 100644
--- a/camel-core/src/main/docs/file-language.adoc
+++ b/camel-core/src/main/docs/file-language.adoc
@@ -253,8 +253,7 @@ Spring XML, where we can route based on file extensions as shown below:
 ----
 
 If you use the `fileName` option on the link:file2.html[File] endpoint
-to set a dynamic filename using the link:file-language.html[File
-Language] then make sure you  +
+to set a dynamic filename using the <<file-language,File Language>> then make sure you  +
  use the alternative syntax (available from Camel 2.5 onwards) to avoid
 clashing with Springs `PropertyPlaceholderConfigurer`.
 
@@ -293,4 +292,4 @@ Could not resolve placeholder 'date:now:yyyyMMdd'
 
 === Dependencies
 
-The File language is part of *camel-core*.
\ No newline at end of file
+The File language is part of *camel-core*.
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index e34818b..1ae250e 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -142,8 +142,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 link:exec.html[usage
-examples] below.
+type. For more details, please refer to the <<exec-component,usage examples>> below.
 
 ### Usage examples
 
@@ -237,4 +236,4 @@ from("direct:exec").to("exec:cmd?args=/C echo echoString")
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index d9b142c..be70c8f 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -553,8 +553,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 link:bindy.html[camel bindy
-dataformat] to transform the FIX message into your own java POJO
+*Note:* Alternatively, you can use <<bindy-dataformat,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/user-manual/en/how-do-i-configure-endpoints.adoc b/docs/user-manual/en/how-do-i-configure-endpoints.adoc
index bc57475..69f3b95 100644
--- a/docs/user-manual/en/how-do-i-configure-endpoints.adoc
+++ b/docs/user-manual/en/how-do-i-configure-endpoints.adoc
@@ -13,8 +13,7 @@ You can explicitly configure a link:component.html[Component] using Java
 code as shown in this link:walk-through-an-example.html[example]
 
 Or you can explicitly get hold of an link:endpoint.html[Endpoint] and
-configure it using Java code as shown in the link:mock.html[Mock
-endpoint examples].
+configure it using Java code as shown in the <<mock-component,Mock endpoint examples>>.
 
 [source,java]
 ----

-- 
To stop receiving notification emails like this one, please contact
acosentino@apache.org.