Author: buildbot
Date: Thu Feb 12 07:19:09 2015
New Revision: 939906

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/xmljson.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/xmljson.html
==============================================================================
--- websites/production/camel/content/xmljson.html (original)
+++ websites/production/camel/content/xmljson.html Thu Feb 12 07:19:09 2015
@@ -85,14 +85,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 
id="XmlJson-XMLJSONDataFormat(camel-xmljson)">XML JSON Data Format 
(camel-xmljson)</h2><p><strong>Available as of Camel 2.10</strong></p><p>Camel 
already supports a number of data formats to perform XML and JSON-related 
conversions, but all of them require a POJO either as an input (for 
marshalling) or produce a POJO as output (for unmarshalling). This data format 
provides the capability to convert from XML to JSON and viceversa directly, 
without stepping through intermediate POJOs.</p><p>This data format leverages 
the <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/"; rel="nofollow">Json-lib</a> library to 
achieve direct conversion. In this context, XML is considered the high-level 
format, while JSON is the low-level format. Hence, the marshal/unmarshal 
semantics are assigned as follows:</p><ul><li>marshalling =&gt; converting from 
XML to JSON</li><li>unmarshalling =&gt; converting from JSON to 
XML.</li></ul><h3 i
 d="XmlJson-Options">Options</h3><p>This data format supports the following 
options. You can set them via all DSLs. The defaults marked with (*) are 
determined by json-lib, rather than the code of the data format itself. They 
are reflected here for convenience so that you don't have to dot back and forth 
with the json-lib docs.</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Type </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> <code>encoding</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> UTF-8 (*) 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Used 
when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span> <strong>(JSON to XML 
conversion).</strong> Sets the encoding for the call to <a shape="rect" 
class="external-link" 
href="http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html#write(net.sf.json.JSON,
 java.lang.String)" rel="nofollow"
 ><code>XMLSerializer.write()</code></a> method, hence it is only used when 
 >producing XML. <br clear="none" class="atl-forced-newline">
-When producing JSON, the encoding is determined by the input String being 
processed. If the conversion is performed on an InputStream, json-lib uses the 
platform's default encoding (e.g. determined by the <code>file.encoding</code> 
system property). </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>elementName</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> 'e' (*) </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Used when</strong> 
<span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Specifies the name of the XML elements representing each 
array element. See <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/snippets.html#JSONObject_to_XML_change_node_names";
 rel="nofollow">json-lib doc</a>. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="
 confluenceTd"><p> <code>arrayName</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> 'a' (*) </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <strong>Used when</strong> <span 
style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Specifies the name of the top-level XML element. <br 
clear="none" class="atl-forced-newline">
-For example, when converting&#160;<code>[1, 2, 3]</code>, it will be output by 
default as 
<code>&lt;a&gt;&lt;e&gt;1&lt;/e&gt;&lt;e&gt;2&lt;/e&gt;&lt;e&gt;3&lt;/e&gt;&lt;/a&gt;</code>.
 By setting this option or rootName, you can alter the name of element 'a'. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>rootName</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> none (*) </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <strong>Used when</strong> <span 
style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> When converting any JSON construct (object, array, null) 
to XML (unmarshalling), it specifies the name of the top-level element. <br 
clear="none" class="atl-forced-newline">
-If not set, json-lib will use <code>arrayName</code> 
or&#160;<code>objectName</code> (default value: 'o', at the current time it is 
not configurable in this data format). If set to 'root', the JSON string { 'x': 
'value1', 'y' : 'value2' } would turn into 
<code>&lt;root&gt;&lt;x&gt;value1&lt;/x&gt;&lt;y&gt;value2&lt;/y&gt;&lt;/root&gt;</code>,
 otherwise the 'root' element would be named 'o'. </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>namespaceLenient</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>Boolean</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> false (*) </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> According to the json-lib docs: "Flag to be tolerant to 
incomplete namespace prefixes." In most cases, json-lib automatically changes 
thi
 s flag at runtime to match the processing. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>namespaceMappings</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>List&lt;NamespacesPerElementMapping&gt;</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> none </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Binds namespace prefixes and URIs to specific JSON 
elements.&#160;<code>NamespacesPerElementMapping</code> is a wrapper around an 
element name + a Map of prefixes against URIs. <br clear="none" 
class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>expandableProperties</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>List&lt;String&gt;</code> </p></td><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><p> none </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> With expandable properties, JSON array elements are 
converted to XML as a sequence of repetitive XML elements with the local name 
equal to the JSON key, for example: { number: 1,2,3 }, normally converted to: 
<code>&lt;number&gt;&lt;e&gt;1&lt;/e&gt;&lt;e&gt;2&lt;/e&gt;&lt;e&gt;3&lt;/e&gt;&lt;/number&gt;</code>
 (where e can be modified by setting elementName), would instead translate to 
<code>&lt;number&gt;1&lt;/number&gt;&lt;number&gt;2&lt;/number&gt;&lt;number&gt;3&lt;/number&gt;</code>,
 if "number" is set as an expandable property </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>typeHints</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>TypeHintsEnum</code> 
</p></td><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p> YES </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Adds type hints to the resulting XML to aid conversion 
back to JSON.&#160;See documentation <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html";
 rel="nofollow">here</a> for an explanation. <code>TypeHintsEnum</code> 
comprises the following values, which lead to different combinations of the 
underlying XMLSerializer's <code>typeHintsEnabled</code> and 
<code>typeHintsCompatibility</code> flags: <br clear="none" 
class="atl-forced-newline"></p>
-<ul><li><code>TypeHintsEnum.NO</code> =&gt; 
<code>typeHintsEnabled</code>&#160;= 
false</li><li><code>TypeHintsEnum.YES</code> 
=&gt;&#160;&#160;<code>typeHintsEnabled</code> = 
true,&#160;&#160;<code>typeHintsCompatibility</code> = 
true</li><li><code>TypeHintsEnum.WITH_PREFIX</code> 
=&gt;&#160;&#160;<code>typeHintsEnabled</code> = 
true,&#160;&#160;<code>typeHintsCompatibility</code> = false</li></ul>
-</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>forceTopLevelObject</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>Boolean</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> false (*) </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <strong>Used when</strong> <span 
style="color: rgb(51,51,153);"><strong>marshalling</strong></span> <strong>(XML 
to JSON conversion).</strong> Determines whether the resulting JSON will start 
off with a top-most element whose name matches the XML root element. If 
disabled, XML string 
<code>&lt;a&gt;&lt;x&gt;1&lt;/x&gt;&lt;y&gt;2&lt;/y&gt;&lt;/a&gt;</code> turns 
into&#160;{ 'x: '1', 'y': '2' }. Otherwise, it turns into&#160;{ 'a': 
{&#160;'x: '1', 'y': '2' }}. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>skipWhitespace</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>Boolean</code> </p></td><td 
colspan="1" rowspan="1
 " class="confluenceTd"><p> false (*) </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Determines whether white spaces between XML elements will 
be regarded as text values or disregarded. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>trimSpaces</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>Boolean</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> false&#160;(*) 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Used 
when</strong> <span style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Determines whether leading and trailing white spaces will 
be omitted from String values. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>skipNamespaces</co
 de> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>Boolean</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> false&#160;(*) </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <strong>Used when</strong> <span style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Signals whether namespaces should be ignored. By default 
they will be added to the JSON output using @xmlns elements. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>removeNamespacePrefixes</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>Boolean</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> false&#160;(*) </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <strong>Used when</strong> <span 
style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Removes the namespace prefi
 xes from XML qualified elements, so that the resulting JSON string does not 
contain them. </p></td></tr></tbody></table></div>
-</div><h3 id="XmlJson-BasicUsagewithJavaDSL">Basic Usage with Java DSL</h3><h4 
id="XmlJson-Explicitlyinstantiatingthedataformat">Explicitly instantiating the 
data format</h4><p>Just instantiate the XmlJsonDataFormat from package 
org.apache.camel.dataformat.xmljson. Make sure you have installed the 
<code>camel-xmljson</code> feature (if running on OSGi) or that you've included 
camel-xmljson-{version}.jar and its transitive dependencies in your classpath. 
Example initialization with a default configuration:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 
id="XmlJson-XMLJSONDataFormat(camel-xmljson)">XML JSON Data Format 
(camel-xmljson)</h2><p><strong>Available as of Camel 2.10</strong></p><p>Camel 
already supports a number of data formats to perform XML and JSON-related 
conversions, but all of them require a POJO either as an input (for 
marshalling) or produce a POJO as output (for unmarshalling). This data format 
provides the capability to convert from XML to JSON and viceversa directly, 
without stepping through intermediate POJOs.</p><p>This data format leverages 
the <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/"; rel="nofollow">Json-lib</a> library to 
achieve direct conversion. In this context, XML is considered the high-level 
format, while JSON is the low-level format. Hence, the marshal/unmarshal 
semantics are assigned as follows:</p><ul><li>marshalling =&gt; converting from 
XML to JSON</li><li>unmarshalling =&gt; converting from JSON to 
XML.</li></ul><h3 i
 d="XmlJson-Options">Options</h3><p>This data format supports the following 
options. You can set them via all DSLs. The defaults marked with (*) are 
determined by json-lib, rather than the code of the data format itself. They 
are reflected here for convenience so that you don't have to dot back and forth 
with the json-lib docs.</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</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><code>encoding</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>UTF-8 (*)</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><s
 trong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span> <strong>(JSON to XML 
conversion).</strong> Sets the encoding for the call to <a shape="rect" 
class="external-link" 
href="http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html#write(net.sf.json.JSON,
 java.lang.String)" rel="nofollow"><code>XMLSerializer.write()</code></a> 
method, hence it is only used when producing XML. <br clear="none" 
class="atl-forced-newline"> When producing JSON, the encoding is determined by 
the input String being processed. If the conversion is performed on an 
InputStream, json-lib uses the platform's default encoding (e.g. determined by 
the <code>file.encoding</code> system property).</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>elementName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>'e' (*)</p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <span 
style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Specifies the name of the XML elements representing each 
array element. See <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/snippets.html#JSONObject_to_XML_change_node_names";
 rel="nofollow">json-lib doc</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>arrayName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>'a' (*)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Specifies the name of the top-level XML element. <br 
clear="none" class="atl-forced-newline"> For example, when converting&#
 160;<code>[1, 2, 3]</code>, it will be output by default as 
<code>&lt;a&gt;&lt;e&gt;1&lt;/e&gt;&lt;e&gt;2&lt;/e&gt;&lt;e&gt;3&lt;/e&gt;&lt;/a&gt;</code>.
 By setting this option or rootName, you can alter the name of element 
'a'.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rootName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>none (*)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <span 
style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> When converting any JSON construct (object, array, null) 
to XML (unmarshalling), it specifies the name of the top-level element. <br 
clear="none" class="atl-forced-newline"> If not set, json-lib will use 
<code>arrayName</code> or&#160;<code>objectName</code> (default value: 'o', at 
the current time it is not configurab
 le in this data format). If set to 'root', the JSON string { 'x': 'value1', 
'y' : 'value2' } would turn into 
<code>&lt;root&gt;&lt;x&gt;value1&lt;/x&gt;&lt;y&gt;value2&lt;/y&gt;&lt;/root&gt;</code>,
 otherwise the 'root' element would be named 'o'.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>namespaceLenient</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Boolean</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>false (*)</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Used when</strong> 
<span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> According to the json-lib docs: "Flag to be tolerant to 
incomplete namespace prefixes." In most cases, json-lib automatically changes 
this flag at runtime to match the processing.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>namespaceMappings</code></p></td><td
  colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List&lt;NamespacesPerElementMapping&gt;</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <span 
style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
conversion).</strong> Binds namespace prefixes and URIs to specific JSON 
elements.&#160;<code>NamespacesPerElementMapping</code> is a wrapper around an 
element name + a Map of prefixes against URIs.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>expandableProperties</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List&lt;String&gt;</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML
  conversion).</strong> With expandable properties, JSON array elements are 
converted to XML as a sequence of repetitive XML elements with the local name 
equal to the JSON key, for example: { number: 1,2,3 }, normally converted to: 
<code>&lt;number&gt;&lt;e&gt;1&lt;/e&gt;&lt;e&gt;2&lt;/e&gt;&lt;e&gt;3&lt;/e&gt;&lt;/number&gt;</code>
 (where e can be modified by setting elementName), would instead translate to 
<code>&lt;number&gt;1&lt;/number&gt;&lt;number&gt;2&lt;/number&gt;&lt;number&gt;3&lt;/number&gt;</code>,
 if "number" is set as an expandable property</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>typeHints</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>TypeHintsEnum</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>YES</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Used when</strong> <span style="color: 
rgb(0,128,0);"><strong>unmarshalling</strong></span><strong>&#160;(JSON to XML 
convers
 ion).</strong> Adds type hints to the resulting XML to aid conversion back to 
JSON.&#160;See documentation <a shape="rect" class="external-link" 
href="http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html";
 rel="nofollow">here</a> for an explanation. <code>TypeHintsEnum</code> 
comprises the following values, which lead to different combinations of the 
underlying XMLSerializer's <code>typeHintsEnabled</code> and 
<code>typeHintsCompatibility</code> 
flags:</p><ul><li><code>TypeHintsEnum.NO</code> =&gt; 
<code>typeHintsEnabled</code>&#160;= 
false</li><li><code>TypeHintsEnum.YES</code> 
=&gt;&#160;&#160;<code>typeHintsEnabled</code> = 
true,&#160;&#160;<code>typeHintsCompatibility</code> = 
true</li><li><code>TypeHintsEnum.WITH_PREFIX</code> 
=&gt;&#160;&#160;<code>typeHintsEnabled</code> = 
true,&#160;&#160;<code>typeHintsCompatibility</code> = 
false</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>forceTopLevelObject</code></p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p><code>Boolean</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>false (*)</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Used when</strong> 
<span style="color: rgb(51,51,153);"><strong>marshalling</strong></span> 
<strong>(XML to JSON conversion).</strong> Determines whether the resulting 
JSON will start off with a top-most element whose name matches the XML root 
element. If disabled, XML string 
<code>&lt;a&gt;&lt;x&gt;1&lt;/x&gt;&lt;y&gt;2&lt;/y&gt;&lt;/a&gt;</code> turns 
into&#160;{ 'x: '1', 'y': '2' }. Otherwise, it turns into&#160;{ 'a': 
{&#160;'x: '1', 'y': '2' }}.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>skipWhitespace</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Boolean</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>false (*)</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <spa
 n style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Determines whether white spaces between XML elements will 
be regarded as text values or disregarded.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>trimSpaces</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>false&#160;(*)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <span 
style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Determines whether leading and trailing white spaces will 
be omitted from String values.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>skipNamespaces</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Boolean</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd
 "><p>false&#160;(*)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Used when</strong> <span style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Signals whether namespaces should be ignored. By default 
they will be added to the JSON output using @xmlns 
elements.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>removeNamespacePrefixes</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Boolean</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>false&#160;(*)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Used when</strong> <span 
style="color: 
rgb(51,51,153);"><strong>marshalling</strong></span><strong>&#160;(XML to JSON 
conversion).</strong> Removes the namespace prefixes from XML qualified 
elements, so that the resulting JSON string does not contain 
them.</p></td></tr></tbody></table></div></div><h3 id="XmlJson-BasicUs
 agewithJavaDSL">Basic Usage with Java DSL</h3><h4 
id="XmlJson-Explicitlyinstantiatingthedataformat">Explicitly instantiating the 
data format</h4><p>Just instantiate the XmlJsonDataFormat from package 
org.apache.camel.dataformat.xmljson. Make sure you have installed the 
<code>camel-xmljson</code> feature (if running on OSGi) or that you've included 
camel-xmljson-{version}.jar and its transitive dependencies in your classpath. 
Example initialization with a default configuration:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[XmlJsonDataFormat xmlJsonFormat = new 
XmlJsonDataFormat();
 ]]></script>
 </div></div><p>To tune the behaviour of the data format as per the options 
above, use the appropriate setters:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -181,7 +174,14 @@ namespacesFormat.setRootElement(&quot;pe
   &lt;version&gt;x.x.x&lt;/version&gt;
   &lt;!-- Use the same version as camel-core, but remember that this component 
is only available from 2.10 onwards --&gt;
 &lt;/dependency&gt;
-]]></script>
+
+&lt;!-- And also XOM must be included. XOM cannot be included by default due 
to an incompatible
+license with ASF; so add this manually --&gt;
+&lt;dependency&gt;
+  &lt;groupId&gt;xom&lt;/groupId&gt;
+  &lt;artifactId&gt;xom&lt;/artifactId&gt;
+  &lt;version&gt;1.2.5&lt;/version&gt;
+&lt;/dependency&gt;]]></script>
 </div></div><h3 id="XmlJson-SeeAlso">See Also</h3><ul><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
class="external-link" href="http://json-lib.sourceforge.net/"; 
rel="nofollow">json-lib</a></li></ul></div>
         </td>
         <td valign="top">


Reply via email to