camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r820233 - in /websites/production/camel/content: cache/main.pageCache xmljson.html
Date Mon, 04 Jun 2012 14:18:16 GMT
Author: buildbot
Date: Mon Jun  4 14:18:16 2012
New Revision: 820233

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 Mon Jun  4 14:18:16 2012
@@ -106,14 +106,16 @@ If not set, json-lib will use <tt>arrayN
 <p>Just instantiate the XmlJsonDataFormat from package org.apache.camel.dataformat.xmljson.
Make sure you have installed the <tt>camel-xmljson</tt> 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" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">XmlJsonDataFormat xmlJsonFormat = <span class="code-keyword">new</span>
XmlJsonDataFormat();
+<pre class="code-java">
+XmlJsonDataFormat xmlJsonFormat = <span class="code-keyword">new</span> XmlJsonDataFormat();
 </pre>
 </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" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">XmlJsonDataFormat xmlJsonFormat = <span class="code-keyword">new</span>
XmlJsonDataFormat();
+<pre class="code-java">
+XmlJsonDataFormat xmlJsonFormat = <span class="code-keyword">new</span> XmlJsonDataFormat();
 xmlJsonFormat.setEncoding(<span class="code-quote">"UTF-8"</span>);
 xmlJsonFormat.setForceTopLevelObject(<span class="code-keyword">true</span>);
 xmlJsonFormat.setTrimSpaces(<span class="code-keyword">true</span>);
@@ -127,7 +129,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 <p>Once you've instantiated the data format, the next step is to actually use the it
from within the <tt>marshal()</tt> and <tt>unmarshal()</tt> DSL elements:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java"><span class="code-comment">// from XML to JSON
+<pre class="code-java">
+<span class="code-comment">// from XML to JSON
 </span>from(<span class="code-quote">"direct:marshal"</span>).marshal(xmlJsonFormat).to(<span
class="code-quote">"mock:json"</span>);
 <span class="code-comment">// from JSON to XML
 </span>from(<span class="code-quote">"direct:unmarshal"</span>).unmarshal(xmlJsonFormat).to(<span
class="code-quote">"mock:xml"</span>);
@@ -139,7 +142,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 <p>Alternatively, you can define the data format inline by using the <tt>xmljson()</tt>
DSL element.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java"><span class="code-comment">// from XML to JSON - inline
dataformat
+<pre class="code-java">
+<span class="code-comment">// from XML to JSON - inline dataformat
 </span>from(<span class="code-quote">"direct:marshalInline"</span>).marshal().xmljson().to(<span
class="code-quote">"mock:jsonInline"</span>);
 <span class="code-comment">// from JSON to XML - inline dataformat
 </span>from(<span class="code-quote">"direct:unmarshalInline"</span>).unmarshal().xmljson().to(<span
class="code-quote">"mock:xmlInline"</span>);
@@ -149,7 +153,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 <p>If you wish, you can even pass in a Map&lt;String, String&gt; to the inline
methods to provide custom options:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">Map&lt;<span class="code-object">String</span>,
<span class="code-object">String</span>&gt; xmlJsonOptions = <span class="code-keyword">new</span>
HashMap&lt;<span class="code-object">String</span>, <span class="code-object">String</span>&gt;();
+<pre class="code-java">
+Map&lt;<span class="code-object">String</span>, <span class="code-object">String</span>&gt;
xmlJsonOptions = <span class="code-keyword">new</span> HashMap&lt;<span
class="code-object">String</span>, <span class="code-object">String</span>&gt;();
 xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ENCODING, <span
class="code-quote">"UTF-8"</span>);
 xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ROOT_NAME, <span
class="code-quote">"newRoot"</span>);
 xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.SKIP_NAMESPACES, <span
class="code-quote">"<span class="code-keyword">true</span>"</span>);
@@ -168,9 +173,11 @@ xmlJsonOptions.put(org.apache.camel.mode
 <p>Within the <tt>&lt;dataFormats&gt;</tt> block, simply configure
an <tt>xmljson</tt> element with unique IDs:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml"><span class="code-tag">&lt;dataFormats&gt;</span>
+<pre class="code-xml">
+<span class="code-tag">&lt;dataFormats&gt;</span>
     <span class="code-tag">&lt;xmljson id=<span class="code-quote">"xmljson"</span>/&gt;</span>
-    <span class="code-tag">&lt;xmljson id=<span class="code-quote">"xmljsonWithOptions"</span>
forceTopLevelObject=<span class="code-quote">"true"</span> trimSpaces=<span
class="code-quote">"true"</span> rootName=<span class="code-quote">"newRoot"</span>
skipNamespaces=<span class="code-quote">"true"</span> removeNamespacePrefixes=<span
class="code-quote">"true"</span> expandableProperties=<span class="code-quote">"d
e"</span>/&gt;</span>
+    &lt;xmljson id=<span class="code-quote">"xmljsonWithOptions"</span> forceTopLevelObject=<span
class="code-quote">"true"</span> trimSpaces=<span class="code-quote">"true"</span>
rootName=<span class="code-quote">"newRoot"</span> skipNamespaces=<span class="code-quote">"true"</span>

+             removeNamespacePrefixes=<span class="code-quote">"true"</span> expandableProperties=<span
class="code-quote">"d e"</span>/&gt;
 <span class="code-tag">&lt;/dataFormats&gt;</span>
 </pre>
 </div></div>
@@ -178,7 +185,8 @@ xmlJsonOptions.put(org.apache.camel.mode
 <p>Then you simply refer to the data format object within your <tt>&lt;marshal
/&gt;</tt> and {&lt;unmarshal /&gt;}} DSLs:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml"><span class="code-tag">&lt;route&gt;</span>
+<pre class="code-xml">
+<span class="code-tag">&lt;route&gt;</span>
     <span class="code-tag">&lt;from uri=<span class="code-quote">"direct:marshal"</span>/&gt;</span>
     <span class="code-tag">&lt;marshal ref=<span class="code-quote">"xmljson"</span>/&gt;</span>
     <span class="code-tag">&lt;to uri=<span class="code-quote">"mock:json"</span>
/&gt;</span>
@@ -203,7 +211,7 @@ xmlJsonOptions.put(org.apache.camel.mode
 <p>To attempt to bridge the gap, <a shape="rect" class="external-link" href="http://json-lib.sourceforge.net/"
rel="nofollow">Json-lib</a> has an option to bind namespace declarations in the form
of prefixes and namespace URIs to XML output elements while unmarshalling (i.e. converting
from JSON to XML). For example, if you have the JSON string { 'pref1:a': 'value1', 'pref2:b':
'value2 }, you can ask Json-lib to output namespace declarations on elements "pref1:a" and
"pref2:b" to bind the prefixes "pref1" and "pref2" to specific namespace URIs.</p>
 
 <p>To use this feature, simply create <tt>XmlJsonDataFormat.NamespacesPerElementMapping</tt>
objects, one per element to which you need to bind namespace declarations, and add them to
the <tt>namespaceMappings</tt> option (which is a <tt>List</tt>).<br
clear="none">
-The <tt>XmlJsonDataFormat.NamespacesPerElementMapping</tt> holds an element name
and a Map of [prefix =&gt; namespace URI]. To facilitate mapping multiple prefixes and
namespace URIs, the <tt>NamespacesPerElementMapping(String element, String pipeSeparatedMappings)</tt>
constructor takes a String-based pipe-separated sequence of <span class="error">[prefix,
namespaceURI]</span> pairs in the following way: <tt>|ns2|http://camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|</tt>.</p>
+The <tt>XmlJsonDataFormat.NamespacesPerElementMapping</tt> holds an element name
and a Map of [prefix =&gt; namespace URI]. To facilitate mapping multiple prefixes and
namespace URIs, the <tt>NamespacesPerElementMapping(String element, String pipeSeparatedMappings)</tt>
constructor takes a String-based pipe-separated sequence of [prefix, namespaceURI] pairs in
the following way: <tt>|ns2|http://camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|</tt>.</p>
 
 <p>In order to define a default namespace, just leave the corresponding key field empty:
<tt>|ns1|http://camel.apache.org/test1||http://camel.apache.org/default|</tt>.<br
clear="none">
 Binding namespace declarations to an element name = empty string will attach those namespaces
to the root element.</p>
@@ -211,10 +219,12 @@ Binding namespace declarations to an ele
 <p>The full code would look like that:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">XmlJsonDataFormat namespacesFormat = <span class="code-keyword">new</span>
XmlJsonDataFormat();
+<pre class="code-java">
+XmlJsonDataFormat namespacesFormat = <span class="code-keyword">new</span> XmlJsonDataFormat();
 List&lt;XmlJsonDataFormat.NamespacesPerElementMapping&gt; namespaces = <span class="code-keyword">new</span>
ArrayList&lt;XmlJsonDataFormat.NamespacesPerElementMapping&gt;();
 namespaces.add(<span class="code-keyword">new</span> XmlJsonDataFormat.NamespacesPerElementMapping(<span
class="code-quote">"", "</span>|ns1|http:<span class="code-comment">//camel.apache.org/test1||http://camel.apache.org/<span
class="code-keyword">default</span>|"));
-</span>namespaces.add(<span class="code-keyword">new</span> XmlJsonDataFormat.NamespacesPerElementMapping(<span
class="code-quote">"surname"</span>, <span class="code-quote">"|ns2|http:<span
class="code-comment">//camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|"</span>));
+</span>namespaces.add(<span class="code-keyword">new</span> XmlJsonDataFormat.NamespacesPerElementMapping(<span
class="code-quote">"surname"</span>, <span class="code-quote">"|ns2|http:<span
class="code-comment">//camel.apache.org/personalData|"</span> + 
+</span>               <span class="code-quote">"ns3|http:<span class="code-comment">//camel.apache.org/personalData2|"</span>));
 </span>namespacesFormat.setNamespaceMappings(namespaces);
 namespacesFormat.setRootElement(<span class="code-quote">"person"</span>);
 </pre>
@@ -227,14 +237,16 @@ namespacesFormat.setRootElement(<span cl
 <p>Using the namespace bindings in the Java snippet above on the following JSON string:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-javascript">{ "name": "Raul", "surname": "Kripalani", "f": <span
class="code-keyword">true</span>, "g": <span class="code-keyword">null</span>}
+<pre class="code-javascript">
+{ "name": "Raul", "surname": "Kripalani", "f": <span class="code-keyword">true</span>,
"g": <span class="code-keyword">null</span>}
 </pre>
 </div></div>
 
 <p>Would yield the following XML:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml"><span class="code-tag">&lt;person xmlns=<span class="code-quote">"http://camel.apache.org/default"</span>
<span class="code-keyword">xmlns:ns1</span>=<span class="code-quote">"http://camel.apache.org/test1"</span>&gt;</span>
+<pre class="code-xml">
+<span class="code-tag">&lt;person xmlns=<span class="code-quote">"http://camel.apache.org/default"</span>
<span class="code-keyword">xmlns:ns1</span>=<span class="code-quote">"http://camel.apache.org/test1"</span>&gt;</span>
     <span class="code-tag">&lt;f&gt;</span>true<span class="code-tag">&lt;/f&gt;</span>
     <span class="code-tag">&lt;g null=<span class="code-quote">"true"</span>/&gt;</span>
     <span class="code-tag">&lt;name&gt;</span>Raul<span class="code-tag">&lt;/name&gt;</span>
@@ -246,7 +258,7 @@ namespacesFormat.setRootElement(<span cl
 <p>Remember that the JSON spec defines a JSON object as follows:</p>
 
 <blockquote>
-<p>An object is an unordered set of name/value pairs. [].</p></blockquote>
+<p>An object is an unordered set of name/value pairs. [...].</p></blockquote>
 
 <p>That's why the elements are in a different order in the output XML.</p>
 
@@ -255,7 +267,8 @@ namespacesFormat.setRootElement(<span cl
 <p>To use the <a shape="rect" href="xmljson.html" title="XmlJson">XmlJson</a>
dataformat in your camel routes you need to add the following dependency to your pom.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml"><span class="code-tag">&lt;dependency&gt;</span>
+<pre class="code-xml">
+<span class="code-tag">&lt;dependency&gt;</span>
   <span class="code-tag">&lt;groupId&gt;</span>org.apache.camel<span
class="code-tag">&lt;/groupId&gt;</span>
   <span class="code-tag">&lt;artifactId&gt;</span>camel-xmljson<span
class="code-tag">&lt;/artifactId&gt;</span>
   <span class="code-tag">&lt;version&gt;</span>x.x.x<span class="code-tag">&lt;/version&gt;</span>



Mime
View raw message