You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2019/03/26 22:22:29 UTC

svn commit: r1042574 [3/8] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/book-dataformat-appendix.html
==============================================================================
--- websites/production/camel/content/book-dataformat-appendix.html (original)
+++ websites/production/camel/content/book-dataformat-appendix.html Tue Mar 26 22:22:28 2019
@@ -113,7 +113,7 @@
 
 <p>For example</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 DataFormat jaxb = new JaxbDataFormat("com.acme.model");
 
@@ -127,7 +127,7 @@ from("activemq:My.Queue").
 
 <p>You can also use the DSL itself to define the data format as you use it. For example the following uses Java serialization to unmarshal a binary file then send it as an ObjectMessage to <a shape="rect" href="activemq.html">ActiveMQ</a></p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("file://foo/bar").
   unmarshal().serialization().
@@ -141,7 +141,7 @@ from("file://foo/bar").
 
 <p>The following example unmarshals via serialization then marshals using a named JAXB data format to perform a kind of <a shape="rect" href="message-translator.html">Message Translator</a></p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("file://foo/bar").
   unmarshal().serialization(). 
@@ -177,7 +177,7 @@ Error rendering macro 'code': Invalid va
 
 <p>You can also define reusable data formats as Spring beans </p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 &lt;bean id="myJaxb" class="org.apache.camel.model.dataformat.JaxbDataFormat"&gt;
   &lt;property name="prettyPrint" value="true"/&gt;
@@ -191,7 +191,7 @@ Error rendering macro 'code': Invalid va
 <p>Serialization is a <a shape="rect" href="data-format.html">Data Format</a> which uses the standard Java Serialization mechanism to unmarshal a binary payload into Java objects or to marshal Java objects into a binary blob.<br clear="none">
  For example the following uses Java serialization to unmarshal a binary file then send it as an ObjectMessage to <a shape="rect" href="activemq.html">ActiveMQ</a></p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("file://foo/bar").
   unmarshal().serialization().
@@ -245,7 +245,7 @@ jaxbDataFormat.setSchemaLocation("schema
 
 <p>XmlBeans is a <a shape="rect" href="data-format.html">Data Format</a> which uses the <a shape="rect" class="external-link" href="http://xmlbeans.apache.org/">XmlBeans library</a> to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload.</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("activemq:My.Queue").
   unmarshal().xmlBeans().
@@ -259,7 +259,7 @@ from("activemq:My.Queue").
 
 <p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 &lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
@@ -298,20 +298,20 @@ from("direct:marshal").
 
 
 </plain-text-body></div>
-<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include"><h2 id="BookDataFormatAppendix-CSV">CSV</h2><p>The CSV <a shape="rect" href="data-format.html">Data Format</a> uses <a shape="rect" class="external-link" href="http://commons.apache.org/proper/commons-csv/">Apache Commons CSV</a> to handle CSV payloads (Comma Separated Values) such as those exported/imported by Excel.</p><p>As of Camel 2.15.0, it now uses the&#160;<a shape="rect" class="external-link" href="http://commons.apache.org/proper/commons-csv/archives/1.1/index.html">Apache Commons CSV 1.1</a> which is based on a completely different set of options.</p><h3 id="BookDataFormatAppendix-AvailableoptionsuntilCamel2.15">Available options until Camel 2.15</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluence
 Th"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>config</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CSVConfig</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Can be used to set a custom <code>CSVConfig</code> object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>strategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CSVStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Can be used to set a custom <code>CSVStrategy</code>; the default is <code>CSVStrategy.DEFAULT_STRATEGY</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>autogenColumns</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not columns are auto-generated in the resulting CSV. The default value is <code>true</code>; subsequent messages use the previously created columns with new fields bein
 g added at the end of the line.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delimiter</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4:</strong> The column delimiter to use; the default value is "<code>,</code>".</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>skipFirstLine</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether or not to skip the first line of CSV input when unmarshalling (e.g. if the content has headers on the first line); the default value is <code>false</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">lazyLoad</td><td colspan="1" rowspan="1" class="confluenceTd">boolean</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.12.2:</strong><span><span>&#160;Whether or not to </sp
 an></span><span style="line-height: 1.4285715;">Sequential access CSV input through an iterator which could avoid OOM exception when processing huge CSV file; </span><span>the default value is false </span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">useMaps</td><td colspan="1" rowspan="1" class="confluenceTd">boolean</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13:</strong> Whether to use List&lt;Map&gt; when unmarshalling instead of List&lt;List&gt;.</td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-AvailableoptionsasofCamel2.15">Available options as of Camel 2.15</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Type</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>format</code></td><td colspan="1" rowspan="1" class="
 confluenceTd"><code>CSVFormat</code></td><td colspan="1" rowspan="1" class="confluenceTd">The reference format to use, it will be updated with the other format options, the default value is <code>CSVFormat.DEFAULT</code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>commentMarkerDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the comment marker of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>commentMarker</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the comment marker of the reference format.</p><p>This option is <code>null</code> by default. When <code>null</code> it keeps the value of the reference format which is <code>null</code> for <code>CSVFormat.D
 EFAULT</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>delimiter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the delimiter of the reference format.</p><p>This option is <code>null</code> by defaut. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>','</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>escapeDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the escape character of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>escape</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Charac
 ter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the escape character of the reference format.</p><p>This option is <code>null</code> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>headerDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the header of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>header</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String[]</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the header of the reference format.</p><p>This option is <code>null</code> by default. <span>W
 hen </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p><p>In the XML DSL, this option is configured using children&#160;<code>&lt;header&gt;</code>&#160;tags:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include"><h2 id="BookDataFormatAppendix-CSV">CSV</h2><p>The CSV <a shape="rect" href="data-format.html">Data Format</a> uses <a shape="rect" class="external-link" href="http://commons.apache.org/proper/commons-csv/">Apache Commons CSV</a> to handle CSV payloads (Comma Separated Values) such as those exported/imported by Excel.</p><p>As of Camel 2.15.0, it now uses the&#160;<a shape="rect" class="external-link" href="http://commons.apache.org/proper/commons-csv/archives/1.1/index.html">Apache Commons CSV 1.1</a> which is based on a completely different set of options.</p><h3 id="BookDataFormatAppendix-AvailableoptionsuntilCamel2.15">Available options until Camel 2.15</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluence
 Th"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>config</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CSVConfig</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Can be used to set a custom <code>CSVConfig</code> object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>strategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CSVStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Can be used to set a custom <code>CSVStrategy</code>; the default is <code>CSVStrategy.DEFAULT_STRATEGY</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>autogenColumns</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not columns are auto-generated in the resulting CSV. The default value is <code>true</code>; subsequent messages use the previously created columns with new fields bein
 g added at the end of the line.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delimiter</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4:</strong> The column delimiter to use; the default value is "<code>,</code>".</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>skipFirstLine</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether or not to skip the first line of CSV input when unmarshalling (e.g. if the content has headers on the first line); the default value is <code>false</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">lazyLoad</td><td colspan="1" rowspan="1" class="confluenceTd">boolean</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.12.2:</strong><span><span>&#160;Whether or not to </sp
 an></span><span style="line-height: 1.4285715;">Sequential access CSV input through an iterator which could avoid OOM exception when processing huge CSV file; </span><span>the default value is false </span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">useMaps</td><td colspan="1" rowspan="1" class="confluenceTd">boolean</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13:</strong> Whether to use List&lt;Map&gt; when unmarshalling instead of List&lt;List&gt;.</td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-AvailableoptionsasofCamel2.15">Available options as of Camel 2.15</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Type</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>format</code></td><td colspan="1" rowspan="1" class="
 confluenceTd"><code>CSVFormat</code></td><td colspan="1" rowspan="1" class="confluenceTd">The reference format to use, it will be updated with the other format options, the default value is <code>CSVFormat.DEFAULT</code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>commentMarkerDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the comment marker of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>commentMarker</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the comment marker of the reference format.</p><p>This option is <code>null</code> by default. When <code>null</code> it keeps the value of the reference format which is <code>null</code> for <code>CSVFormat.D
 EFAULT</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>delimiter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the delimiter of the reference format.</p><p>This option is <code>null</code> by defaut. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>','</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>escapeDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the escape character of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>escape</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Charac
 ter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the escape character of the reference format.</p><p>This option is <code>null</code> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>headerDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the header of the reference format.</p><p>This option is <code>false</code> by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>header</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String[]</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the header of the reference format.</p><p>This option is <code>null</code> by default. <span>W
 hen </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p><p>In the XML DSL, this option is configured using children&#160;<code>&lt;header&gt;</code>&#160;tags:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;csv &gt;
     &lt;header&gt;orderId&lt;/header&gt;
     &lt;header&gt;amount&lt;/header&gt;
 &lt;/csv&gt;</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>allowMissingColumnNames</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the missing column names behavior of the reference format.</p><p>This option is <code>null</code> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreEmptyLines</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the empty line behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </sp
 an><code>true</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreSurroundingSpaces</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the surrounding spaces behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>nullStringDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the null string representation of the reference format.</p><p>This option is <code>false</code> by default.</p>
 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>nullString</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the null string representation of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quoteDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the quote of the reference format.</p><p><span>This option is </span><code>false</code><span> by default.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quote</code></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the quote symbol of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>'"'</code><span> (double quote) for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quoteMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>QuoteMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the quote mode of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspa
 n="1" class="confluenceTd"><code>recordSeparatorDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the record separator of the reference format.</p><p><span>This option is </span><code>false</code><span> by default.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>recordSeparator</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the record separator of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>\r\n</code><span> (CRLF) for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>skipHeaderRecord</code></td><td colspan="1" rowspan="
 1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the header record behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>lazyLoad</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.</p><p>This option is&#160;<code>false</code>&#160;by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>useMaps</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td 
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected).</p><p>This options is&#160;<code>false</code>&#160;by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>recordConverter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>CsvRecordConverter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the record converter to use. If defines the <code>useMaps</code> options is disabled.</p><p><span>This option is </span><code>null</code><span> by default.</span></p></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-MarshallingaMaptoCSV">Marshalling a Map to CSV</h3><p>The component allows you to marshal a Java Map (or any other message type that can be <a shape="rect" href="type-converter.html">converted</a> in a Map) into a CSV payload.</p><div class="table-wrap"><table class="confl
 uenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd">Considering the following body</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>allowMissingColumnNames</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the missing column names behavior of the reference format.</p><p>This option is <code>null</code> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreEmptyLines</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the empty line behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </sp
 an><code>true</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreSurroundingSpaces</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the surrounding spaces behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>nullStringDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the null string representation of the reference format.</p><p>This option is <code>false</code> by default.</p>
 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>nullString</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the null string representation of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quoteDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the quote of the reference format.</p><p><span>This option is </span><code>false</code><span> by default.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quote</code></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><code>Character</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the quote symbol of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>'"'</code><span> (double quote) for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>quoteMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>QuoteMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the quote mode of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>null</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspa
 n="1" class="confluenceTd"><code>recordSeparatorDisabled</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Disables the record separator of the reference format.</p><p><span>This option is </span><code>false</code><span> by default.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>recordSeparator</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the record separator of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>\r\n</code><span> (CRLF) for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>skipHeaderRecord</code></td><td colspan="1" rowspan="
 1" class="confluenceTd"><code>Boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the header record behavior of the reference format.</p><p><span>This option is </span><code>null</code><span> by default. <span>When </span><code>null</code><span> it keeps the value of the reference format which is </span><code>false</code><span> for </span><code>CSVFormat.DEFAULT</code><span>.</span></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>lazyLoad</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.</p><p>This option is&#160;<code>false</code>&#160;by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>useMaps</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>boolean</code></td><td 
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected).</p><p>This options is&#160;<code>false</code>&#160;by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>recordConverter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>CsvRecordConverter</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the record converter to use. If defines the <code>useMaps</code> options is disabled.</p><p><span>This option is </span><code>null</code><span> by default.</span></p></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-MarshallingaMaptoCSV">Marshalling a Map to CSV</h3><p>The component allows you to marshal a Java Map (or any other message type that can be <a shape="rect" href="type-converter.html">converted</a> in a Map) into a CSV payload.</p><div class="table-wrap"><table class="confl
 uenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd">Considering the following body</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">Map&lt;String, Object&gt; body = new LinkedHashMap&lt;&gt;();
 body.put("foo", "abc");
 body.put("bar", 123);</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">and this Java route definition</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">and this Java route definition</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("direct:start")
     .marshal().csv()
     .to("mock:result");</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">or this XML route definition</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">or this XML route definition</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
     &lt;from uri="direct:start" /&gt;
     &lt;marshal&gt;
@@ -319,31 +319,31 @@ body.put("bar", 123);</pre>
     &lt;/marshal&gt;
     &lt;to uri="mock:result" /&gt;
 &lt;/route&gt;</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">then it will produce</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">then it will produce</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: text; gutter: false; theme: Default" data-theme="Default">abc,123</pre>
-</div></div></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-UnmarshallingaCSVmessageintoaJavaList"><span style="font-size: 16.0px;line-height: 1.5625;">Unmarshalling a CSV message into a Java List</span></h3><p>Unmarshalling will transform a CSV messsage into a Java List with CSV file lines (containing another List with all the field values).</p><p><span style="line-height: 1.4285715;">An example: we have a CSV file with names of persons, their IQ and their current activity.</span></p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-UnmarshallingaCSVmessageintoaJavaList"><span style="font-size: 16.0px;line-height: 1.5625;">Unmarshalling a CSV message into a Java List</span></h3><p>Unmarshalling will transform a CSV messsage into a Java List with CSV file lines (containing another List with all the field values).</p><p><span style="line-height: 1.4285715;">An example: we have a CSV file with names of persons, their IQ and their current activity.</span></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: text; gutter: false; theme: Default" data-theme="Default">Jack Dalton, 115, mad at Averell
 Joe Dalton, 105, calming Joe
 William Dalton, 105, keeping Joe from killing Averell
 Averell Dalton, 80, playing with Rantanplan
 Lucky Luke, 120, capturing the Daltons</pre>
-</div></div><p>We can now use the CSV component to unmarshal this file:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>We can now use the CSV component to unmarshal this file:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("file:src/test/resources/?fileName=daltons.csv&amp;noop=true")
     .unmarshal().csv()
     .to("mock:daltons");</pre>
-</div></div><p>The resulting message will contain a <code>List&lt;List&lt;String&gt;&gt;</code> like...</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The resulting message will contain a <code>List&lt;List&lt;String&gt;&gt;</code> like...</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">List&lt;List&lt;String&gt;&gt; data = (List&lt;List&lt;String&gt;&gt;) exchange.getIn().getBody();
 for (List&lt;String&gt; line : data) {
     LOG.debug(String.format("%s has an IQ of %s and is currently %s", line.get(0), line.get(1), line.get(2)));
 }</pre>
-</div></div><h3 id="BookDataFormatAppendix-MarshallingaList&lt;Map&gt;toCSV">Marshalling a List&lt;Map&gt; to CSV</h3><p><strong>Available as of Camel 2.1</strong></p><p>If you have multiple rows of data you want to be marshalled into CSV format you can now store the message payload as a <code>List&lt;Map&lt;String, Object&gt;&gt;</code> object where the list contains a Map for each row.</p><h3 id="BookDataFormatAppendix-FilePollerofCSV,thenunmarshaling">File Poller of CSV, then unmarshaling</h3><p>Given a bean which can handle the incoming data...</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>MyCsvHandler.java</b></div><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookDataFormatAppendix-MarshallingaList&lt;Map&gt;toCSV">Marshalling a List&lt;Map&gt; to CSV</h3><p><strong>Available as of Camel 2.1</strong></p><p>If you have multiple rows of data you want to be marshalled into CSV format you can now store the message payload as a <code>List&lt;Map&lt;String, Object&gt;&gt;</code> object where the list contains a Map for each row.</p><h3 id="BookDataFormatAppendix-FilePollerofCSV,thenunmarshaling">File Poller of CSV, then unmarshaling</h3><p>Given a bean which can handle the incoming data...</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>MyCsvHandler.java</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">// Some comments here
 public void doHandleCsvData(List&lt;List&lt;String&gt;&gt; csvData)
 {
     // do magic here
 }
 </pre>
-</div></div><p>... your route then looks as follows</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>... your route then looks as follows</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
         &lt;!-- poll every 10 seconds --&gt;
         &lt;from uri="file:///some/path/to/pickup/csvfiles?delete=true&amp;amp;consumer.delay=10000" /&gt;
@@ -351,11 +351,11 @@ public void doHandleCsvData(List&lt;List
         &lt;to uri="bean:myCsvHandler?method=doHandleCsvData" /&gt;
 &lt;/route&gt;
 </pre>
-</div></div><h3 id="BookDataFormatAppendix-Marshalingwithapipeasdelimiter">Marshaling with a pipe as delimiter</h3><p>&#160;</p><p>&#160;</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd">Considering the following body</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookDataFormatAppendix-Marshalingwithapipeasdelimiter">Marshaling with a pipe as delimiter</h3><p>&#160;</p><p>&#160;</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd">Considering the following body</td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">Map&lt;String, Object&gt; body = new LinkedHashMap&lt;&gt;();
 body.put("foo", "abc");
 body.put("bar", 123);</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>and this Java route definition</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>and this Java route definition</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">// Camel version &lt; 2.15
 CsvDataFormat oldCSV = new CsvDataFormat();
 oldCSV.setDelimiter("|");
@@ -367,7 +367,7 @@ from("direct:start")
 from("direct:start")
     .marshal(new CsvDataFormat().setDelimiter('|'))
     .to("mock:result")</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>or this XML route definition</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>or this XML route definition</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
   &lt;from uri="direct:start" /&gt;
   &lt;marshal&gt;
@@ -375,9 +375,9 @@ from("direct:start")
   &lt;/marshal&gt;
   &lt;to uri="mock:result" /&gt;
 &lt;/route&gt;</pre>
-</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>then it will produce</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>then it will produce</span></td><td colspan="1" rowspan="1" class="confluenceTd"><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: text; gutter: false; theme: Default" data-theme="Default">abc|123</pre>
-</div></div></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-UsingautogenColumns,configRefandstrategyRefattributesinsideXMLDSL">Using autogenColumns, configRef and strategyRef attributes inside XML DSL</h3><p><strong>Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15</strong></p><p>You can customize the CSV <a shape="rect" href="data-format.html">Data Format</a> to make use of your own <code>CSVConfig</code> and/or <code>CSVStrategy</code>. Also note that the default value of the <code>autogenColumns</code> option is true. The following example should illustrate this customization.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-UsingautogenColumns,configRefandstrategyRefattributesinsideXMLDSL">Using autogenColumns, configRef and strategyRef attributes inside XML DSL</h3><p><strong>Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15</strong></p><p>You can customize the CSV <a shape="rect" href="data-format.html">Data Format</a> to make use of your own <code>CSVConfig</code> and/or <code>CSVStrategy</code>. Also note that the default value of the <code>autogenColumns</code> option is true. The following example should illustrate this customization.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
   &lt;from uri="direct:start" /&gt;
   &lt;marshal&gt;
@@ -405,7 +405,7 @@ from("direct:start")
   &lt;property name="staticField" value="org.apache.commons.csv.CSVStrategy.EXCEL_STRATEGY" /&gt;
 &lt;/bean&gt;
 </pre>
-</div></div><h3 id="BookDataFormatAppendix-UsingskipFirstLineoptionwhileunmarshaling">Using skipFirstLine option while unmarshaling</h3><p><strong>Available as of Camel 2.10 and deleted for Camel 2.15</strong></p><p>You can instruct the CSV <a shape="rect" href="data-format.html">Data Format</a> to skip the first line which contains the CSV headers. Using the Spring/XML DSL:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookDataFormatAppendix-UsingskipFirstLineoptionwhileunmarshaling">Using skipFirstLine option while unmarshaling</h3><p><strong>Available as of Camel 2.10 and deleted for Camel 2.15</strong></p><p>You can instruct the CSV <a shape="rect" href="data-format.html">Data Format</a> to skip the first line which contains the CSV headers. Using the Spring/XML DSL:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
   &lt;from uri="direct:start" /&gt;
   &lt;unmarshal&gt;
@@ -414,7 +414,7 @@ from("direct:start")
   &lt;to uri="bean:myCsvHandler?method=doHandleCsv" /&gt;
 &lt;/route&gt;
 </pre>
-</div></div><p>Or the Java DSL:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Or the Java DSL:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">CsvDataFormat csv = new CsvDataFormat();
 csv.setSkipFirstLine(true);
 
@@ -422,7 +422,7 @@ from("direct:start")
   .unmarshal(csv)
 .to("bean:myCsvHandler?method=doHandleCsv");
 </pre>
-</div></div><h3 id="BookDataFormatAppendix-Unmarshalingwithapipeasdelimiter">Unmarshaling with a pipe as delimiter</h3><p>Using the Spring/XML DSL:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookDataFormatAppendix-Unmarshalingwithapipeasdelimiter">Unmarshaling with a pipe as delimiter</h3><p>Using the Spring/XML DSL:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;route&gt;
   &lt;from uri="direct:start" /&gt;
   &lt;unmarshal&gt;
@@ -431,7 +431,7 @@ from("direct:start")
   &lt;to uri="bean:myCsvHandler?method=doHandleCsv" /&gt;
 &lt;/route&gt;
 </pre>
-</div></div><p>Or the Java DSL:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Or the Java DSL:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">CsvDataFormat csv = new CsvDataFormat();
 CSVStrategy strategy = CSVStrategy.DEFAULT_STRATEGY;
 strategy.setDelimiter('|');
@@ -441,7 +441,7 @@ from("direct:start")
   .unmarshal(csv)
   .to("bean:myCsvHandler?method=doHandleCsv");
 </pre>
-</div></div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">CsvDataFormat csv = new CsvDataFormat();
 csv.setDelimiter("|");
 
@@ -449,7 +449,7 @@ from("direct:start")
   .unmarshal(csv)
   .to("bean:myCsvHandler?method=doHandleCsv");
 </pre>
-</div></div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">CsvDataFormat csv = new CsvDataFormat();
 CSVConfig csvConfig = new CSVConfig();
 csvConfig.setDelimiter(";");
@@ -459,11 +459,11 @@ from("direct:start")
   .unmarshal(csv)
   .to("bean:myCsvHandler?method=doHandleCsv");
 </pre>
-</div></div><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Issue in CSVConfig</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>It looks like that</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Issue in CSVConfig</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>It looks like that</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">CSVConfig csvConfig = new CSVConfig();
 csvConfig.setDelimiter(';');
 </pre>
-</div></div><p>doesn't work. You have to set the delimiter as a String!</p></div></div><h3 id="BookDataFormatAppendix-Dependencies.3">Dependencies</h3><p>To use CSV in your Camel routes you need to add a dependency on <strong>camel-csv</strong>, which implements this data format.</p><p>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 <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>doesn't work. You have to set the delimiter as a String!</p></div></div><h3 id="BookDataFormatAppendix-Dependencies.3">Dependencies</h3><p>To use CSV in your Camel routes you need to add a dependency on <strong>camel-csv</strong>, which implements this data format.</p><p>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 <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-csv&lt;/artifactId&gt;
@@ -480,7 +480,7 @@ csvConfig.setDelimiter(';');
 <h3 id="BookDataFormatAppendix-Marshal">Marshal</h3>
 <p>In this example we marshal the file content to String object in UTF-8 encoding.</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("file://data.csv").marshal().string("UTF-8").to("jms://myqueue");
 </pre>
@@ -489,7 +489,7 @@ from("file://data.csv").marshal().string
 <h3 id="BookDataFormatAppendix-Unmarshal">Unmarshal</h3>
 <p>In this example we unmarshal the payload from the JMS queue to a String object using UTF-8 encoding, before its processed by the newOrder processor. </p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("jms://queue/order").unmarshal().string("UTF-8").processRef("newOrder");
 </pre>
@@ -498,17 +498,17 @@ from("jms://queue/order").unmarshal().st
 <h3 id="BookDataFormatAppendix-Dependencies.4">Dependencies</h3>
 
 <p>This data format is provided in <strong>camel-core</strong> so no additional dependencies is needed.</p></div>
-<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include"><h3 id="BookDataFormatAppendix-HL7DataFormat">HL7 DataFormat</h3><p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to marshal or unmarshal HL7 model objects.</p><ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when responding using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul><p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include"><h3 id="BookDataFormatAppendix-HL7DataFormat">HL7 DataFormat</h3><p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to marshal or unmarshal HL7 model objects.</p><ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when responding using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul><p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">  DataFormat hl7 = new HL7DataFormat();
   ...
   from("direct:hl7in").marshal(hl7).to("jms:queue:hl7out");
 </pre>
-</div></div><p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none"> The next example is the opposite:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none"> The next example is the opposite:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">  DataFormat hl7 = new HL7DataFormat();
   ...
   from("jms:queue:hl7out").unmarshal(hl7).to("patientLookupService");
 </pre>
-</div></div><p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p><div class="confluence-information-macro confluence-information-macro-tip conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p class="title">Serializable messages</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p></div></div><div class="confluence-information-macro confluence-information-macro-note conf-macro output-block" data-hasbody="true" data-macro-name="note"><p class="title">Segment separators</p><span class="aui-icon aui-icon-small aui-iconf
 ont-warning confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none"> need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p></div></div><div class="confluence-information-macro confluence-information-macro-note conf-macro output-block" data-hasbody="true" data-macro-name="note"><p class="title">Charset</p><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of <strong>Camel 2.14.1</strong>, both <code>marshal and unmarshal</code> evaluate the charset provided in the field&#160;<code>MSH-18</code>. If this field is empty, by default the charset contained in the corresponding C
 amel charset property/header is assumed. You can even change this default behavior by overriding the <code>guessCharsetName</code> method when inheriting from the <code>HL7DataFormat</code> class.</p></div></div><p>&#160;</p><p>There is a shorthand syntax in Camel for well-known data formats that are commonly used.<br clear="none"> Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p><div class="confluence-information-macro confluence-information-macro-tip conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p class="title">Serializable messages</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p></div></div><div class="confluence-information-macro confluence-information-macro-note conf-macro output-block" data-hasbody="true" data-macro-name="note"><p class="title">Segment separators</p><span class="aui-icon aui-icon-small aui-iconf
 ont-warning confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none"> need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p></div></div><div class="confluence-information-macro confluence-information-macro-note conf-macro output-block" data-hasbody="true" data-macro-name="note"><p class="title">Charset</p><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>As of <strong>Camel 2.14.1</strong>, both <code>marshal and unmarshal</code> evaluate the charset provided in the field&#160;<code>MSH-18</code>. If this field is empty, by default the charset contained in the corresponding C
 amel charset property/header is assumed. You can even change this default behavior by overriding the <code>guessCharsetName</code> method when inheriting from the <code>HL7DataFormat</code> class.</p></div></div><p>&#160;</p><p>There is a shorthand syntax in Camel for well-known data formats that are commonly used.<br clear="none"> Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">  from("direct:hl7in").marshal().hl7().to("jms:queue:hl7out");
   from("jms:queue:hl7out").unmarshal().hl7().to("patientLookupService");
 </pre>
@@ -531,7 +531,7 @@ The result of the operation will contain
 
 <h3 id="BookDataFormatAppendix-Usage">Usage</h3>
 <p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
   FlatpackDataFormat fp = new FlatpackDataFormat();
   fp.setDefinition(new ClassPathResource("INVENTORY-Delimited.pzmap.xml"));
@@ -541,7 +541,7 @@ The result of the operation will contain
 </div></div>
 <p>The sample above will read files from the <code>order/in</code> folder and unmarshal the input using the Flatpack configuration file <code>INVENTORY-Delimited.pzmap.xml</code> that configures the structure of the files. The result is a <code>DataSetList</code> object we store on the SEDA queue.</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 FlatpackDataFormat df = new FlatpackDataFormat();
 df.setDefinition(new ClassPathResource("PEOPLE-FixedLength.pzmap.xml"));
@@ -559,7 +559,7 @@ from("seda:people").marshal(df).convertB
 
 <p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 &lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
@@ -726,13 +726,13 @@ getContext().getProperties().put("CamelJ
   &lt;version&gt;2.10.0&lt;/version&gt;
 &lt;/dependency&gt;
 </plain-text-body></div>
-<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include">The Zip <a shape="rect" href="data-format.html">Data Format</a> 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 large XML and Text based payloads. It facilitates more optimal use of network bandwidth while incurring a small cost in order to compress and decompress payloads at the endpoint.<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">About using with Files</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>The Zip data format, does not (yet) have special support for files. Which means that
  when using big files, the entire file content is loaded into memory.<br clear="none"> This is subject to change in the future, to allow a streaming based solution to have a low memory footprint.</p></div></div><h3 id="BookDataFormatAppendix-Options.2">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>compressionLevel</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To specify a specific compression Level use <code>java.util.zip.Deflater</code> settings. The possible settings are&#160; <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.BEST_SPEED</code>
  <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.BEST_COMPRESSION</code> <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.DEFAULT_COMPRESSION</code> <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> If compressionLevel is not explicitly specified the compressionLevel employed is <code>Deflater.DEFAULT_COMPRESSION</code></p></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-Marshal.1">Marshal</h3><p>In this example we marshal a regular text/XML payload to a compressed payload employing zip compression <code>Deflater.BEST_COMPRESSION</code> and send it an ActiveMQ queue called MY_QUEUE.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="conf-macro output-block" data-hasbody="false" data-macro-name="include">The Zip <a shape="rect" href="data-format.html">Data Format</a> 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 large XML and Text based payloads. It facilitates more optimal use of network bandwidth while incurring a small cost in order to compress and decompress payloads at the endpoint.<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">About using with Files</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>The Zip data format, does not (yet) have special support for files. Which means that
  when using big files, the entire file content is loaded into memory.<br clear="none"> This is subject to change in the future, to allow a streaming based solution to have a low memory footprint.</p></div></div><h3 id="BookDataFormatAppendix-Options.2">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>compressionLevel</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To specify a specific compression Level use <code>java.util.zip.Deflater</code> settings. The possible settings are&#160; <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.BEST_SPEED</code>
  <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.BEST_COMPRESSION</code> <br clear="none" class="atl-forced-newline"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - <code>Deflater.DEFAULT_COMPRESSION</code> <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> If compressionLevel is not explicitly specified the compressionLevel employed is <code>Deflater.DEFAULT_COMPRESSION</code></p></td></tr></tbody></table></div><h3 id="BookDataFormatAppendix-Marshal.1">Marshal</h3><p>In this example we marshal a regular text/XML payload to a compressed payload employing zip compression <code>Deflater.BEST_COMPRESSION</code> and send it an ActiveMQ queue called MY_QUEUE.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("direct:start").marshal().zip(Deflater.BEST_COMPRESSION).to("activemq:queue:MY_QUEUE");
 </pre>
-</div></div><p>Alternatively if you would like to use the default setting you could send it as</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Alternatively if you would like to use the default setting you could send it as</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("direct:start").marshal().zip().to("activemq:queue:MY_QUEUE");
 </pre>
-</div></div><h3 id="BookDataFormatAppendix-Unmarshal.1">Unmarshal</h3><p>In this example we unmarshal&#160;a zipped&#160;payload from an ActiveMQ queue called MY_QUEUE&#160;to its original format,&#160;and forward it for&#160;processing&#160;to the UnZippedMessageProcessor. Note that the compression Level employed during the marshalling should be identical to the one employed during unmarshalling to avoid errors.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookDataFormatAppendix-Unmarshal.1">Unmarshal</h3><p>In this example we unmarshal&#160;a zipped&#160;payload from an ActiveMQ queue called MY_QUEUE&#160;to its original format,&#160;and forward it for&#160;processing&#160;to the UnZippedMessageProcessor. Note that the compression Level employed during the marshalling should be identical to the one employed during unmarshalling to avoid errors.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("activemq:queue:MY_QUEUE").unmarshal().zip().process(new UnZippedMessageProcessor());&#160;
 </pre>
 </div></div><h3 id="BookDataFormatAppendix-Dependencies.6">Dependencies</h3><p>This data format is provided in <strong>camel-core</strong> so no additional dependencies are needed.</p></div>
@@ -743,12 +743,12 @@ getContext().getProperties().put("CamelJ
 <div class="confluence-information-macro confluence-information-macro-tip conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p class="title">Camel eats our own -dog food- soap</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"> </span><div class="confluence-information-macro-body">
 <p>We had some issues in our pdf <a shape="rect" href="manual.html">Manual</a> where we had some strange symbols. So <a shape="rect" class="external-link" href="http://janstey.blogspot.com/" rel="nofollow">Jonathan</a> 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.</p></div></div> 
 
-<p><a shape="rect" href="tidymarkup.html">TidyMarkup</a> only supports the <strong>unmarshal</strong> operation as we really don't want to turn well formed HTML into ugly HTML <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/7701/d7b403a44466e5e8970db7530201039d865e79e1/_/images/icons/emoticons/smile.svg" data-emoticon-name="smile" alt="(smile)"></p>
+<p><a shape="rect" href="tidymarkup.html">TidyMarkup</a> only supports the <strong>unmarshal</strong> operation as we really don't want to turn well formed HTML into ugly HTML <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/7901/17fbf59dc6f69bee0caf86e0cbbd7fb3bd9d8b4a/_/images/icons/emoticons/smile.svg" data-emoticon-name="smile" alt="(smile)"></p>
 
 <h3 id="BookDataFormatAppendix-JavaDSLExample">Java DSL Example</h3>
 <p>An example where the consumer provides some HTML</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("file://site/inbox").unmarshal().tidyMarkup().to("file://site/blogs");
 </pre>
@@ -757,7 +757,7 @@ from("file://site/inbox").unmarshal().ti
 <h3 id="BookDataFormatAppendix-SpringXMLExample">Spring XML Example</h3>
 <p>The following example shows how to use <a shape="rect" href="tidymarkup.html">TidyMarkup</a> to unmarshal using Spring</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 &lt;camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"&gt;
   &lt;route&gt;
@@ -778,7 +778,7 @@ from("file://site/inbox").unmarshal().ti
 
 <p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
 
-<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 &lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
@@ -787,67 +787,67 @@ from("file://site/inbox").unmarshal().ti
 &lt;/dependency&gt;
 </pre>
 </div></div></div>

[... 730 lines stripped ...]