You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2016/09/15 21:25:44 UTC

[19/20] incubator-juneau git commit: Clean up Javadocs

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserContext.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserContext.java
index 91aa7c9..9f047ad 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserContext.java
@@ -37,18 +37,48 @@ import org.apache.juneau.xml.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the RDF parsers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #RDF_trimWhitespace}</td>
+ * 		<td>Trim whitespace from text elements.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties inherited by the RDF parsers</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 		<ul>
+ * 			<li class='i'><a class='doclink' href='RdfCommonContext.html#ConfigProperties'>RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers.
+ * 		</ul>
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class RdfParserContext extends ParserContext implements RdfCommonContext {
 
 	/**
-	 * Trim whitespace from text elements ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Trim whitespace from text elements.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"RdfParser.trimWhitespace"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, whitespace in text elements will be automatically trimmed.
 	 */
 	public static final String RDF_trimWhitespace = "RdfParser.trimWhitespace";
 
-	final boolean trimWhitespace, looseCollection;
+	final boolean trimWhitespace, looseCollections;
 	final String rdfLanguage;
 	final Namespace juneauNs, juneauBpNs;
 	final RdfCollectionFormat collectionFormat;
@@ -64,7 +94,7 @@ public final class RdfParserContext extends ParserContext implements RdfCommonCo
 	public RdfParserContext(ContextFactory cf) {
 		super(cf);
 		trimWhitespace = cf.getProperty(RDF_trimWhitespace, boolean.class, false);
-		looseCollection = cf.getProperty(RDF_looseCollection, boolean.class, false);
+		looseCollections = cf.getProperty(RDF_looseCollections, boolean.class, false);
 		rdfLanguage = cf.getProperty(RDF_language, String.class, "RDF/XML-ABBREV");
 		juneauNs = cf.getProperty(RDF_juneauNs, Namespace.class, new Namespace("j", "http://www.ibm.com/juneau/"));
 		juneauBpNs = cf.getProperty(RDF_juneauBpNs, Namespace.class, new Namespace("j", "http://www.ibm.com/juneaubp/"));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserSession.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserSession.java
index a493e36..e7cfce9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParserSession.java
@@ -38,7 +38,7 @@ public class RdfParserSession extends ParserSession {
 	private final Namespace juneauNs, juneauBpNs;
 	private final Property pRoot, pValue, pClass, pType;
 	private final Model model;
-	private final boolean trimWhitespace, looseCollection;
+	private final boolean trimWhitespace, looseCollections;
 	private final RDFReader rdfReader;
 	private final Set<Resource> urisVisited = new HashSet<Resource>();
 	private final RdfCollectionFormat collectionFormat;
@@ -72,14 +72,14 @@ public class RdfParserSession extends ParserSession {
 			this.juneauBpNs = ctx.juneauBpNs;
 			this.trimWhitespace = ctx.trimWhitespace;
 			this.collectionFormat = ctx.collectionFormat;
-			this.looseCollection = ctx.looseCollection;
+			this.looseCollections = ctx.looseCollections;
 		} else {
 			this.rdfLanguage = op.getString(RDF_language, ctx.rdfLanguage);
 			this.juneauNs = (op.containsKey(RDF_juneauNs) ? NamespaceFactory.parseNamespace(op.get(RDF_juneauNs)) : ctx.juneauNs);
 			this.juneauBpNs = (op.containsKey(RDF_juneauBpNs) ? NamespaceFactory.parseNamespace(op.get(RDF_juneauBpNs)) : ctx.juneauBpNs);
 			this.trimWhitespace = op.getBoolean(RdfParserContext.RDF_trimWhitespace, ctx.trimWhitespace);
 			this.collectionFormat = RdfCollectionFormat.valueOf(op.getString(RDF_collectionFormat, "DEFAULT"));
-			this.looseCollection = op.getBoolean(RDF_looseCollection, ctx.looseCollection);
+			this.looseCollections = op.getBoolean(RDF_looseCollections, ctx.looseCollections);
 		}
 		this.model = ModelFactory.createDefaultModel();
 		addModelPrefix(juneauNs);
@@ -171,12 +171,12 @@ public class RdfParserSession extends ParserSession {
 	}
 
 	/**
-	 * Returns the {@link RdfCommonContext#RDF_looseCollection} setting value for this session.
+	 * Returns the {@link RdfCommonContext#RDF_looseCollections} setting value for this session.
 	 *
-	 * @return The {@link RdfCommonContext#RDF_looseCollection} setting value for this session.
+	 * @return The {@link RdfCommonContext#RDF_looseCollections} setting value for this session.
 	 */
-	public final boolean isLooseCollection() {
-		return looseCollection;
+	public final boolean isLooseCollections() {
+		return looseCollections;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 0ac2a62..a9beabb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -131,7 +131,7 @@ public class RdfSerializer extends WriterSerializer {
 		Resource r = null;
 
 		ClassMeta<?> cm = s.getBeanContext().getClassMetaForObject(o);
-		if (s.isLooseCollection() && cm != null && (cm.isCollection() || cm.isArray())) {
+		if (s.isLooseCollections() && cm != null && (cm.isCollection() || cm.isArray())) {
 			Collection c = s.sort(cm.isCollection() ? (Collection)o : toList(cm.getInnerClass(), o));
 			for (Object o2 : c)
 				serializeAnything(s, o2, false, object(), "root", null, null);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
index 5dd4bfa..6819f66 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
@@ -37,17 +37,71 @@ import org.apache.juneau.xml.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the RDF serializers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #RDF_addLiteralTypes}</td>
+ * 		<td>Add XSI data types to non-<code>String</code> literals.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #RDF_addRootProperty}</td>
+ * 		<td>Add RDF root identifier property to root node.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #RDF_autoDetectNamespaces}</td>
+ * 		<td>Auto-detect namespace usage.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #RDF_namespaces}</td>
+ * 		<td>Default namespaces.</td>
+ * 		<td><code>List&lt;{@link Namespace}&gt;</code></td>
+ * 		<td>empty list</td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties inherited by the RDF serializers</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 		<ul>
+ * 			<li class='c'><a class='doclink' href='RdfCommonContext.html#ConfigProperties'>RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers.
+ * 		</ul>
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class RdfSerializerContext extends SerializerContext implements RdfCommonContext {
 
 	/**
-	 * Add XSI data types to non-<code>String</code> literals ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Add XSI data types to non-<code>String</code> literals.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"RdfSerializer.addLiteralTypes"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 */
 	public static final String RDF_addLiteralTypes = "RdfSerializer.addLiteralTypes";
 
 	/**
-	 * Add RDF root identifier property to root node ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Add RDF root identifier property to root node.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"RdfSerializer.addRootProperty"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * When enabled an RDF property <code>http://www.ibm.com/juneau/root</code> is added with a value of <js>"true"</js>
 	 * 	to identify the root node in the graph.
@@ -60,7 +114,13 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	public static final String RDF_addRootProperty = "RdfSerializer.addRootProperty";
 
 	/**
-	 * Auto-detect namespace usage ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Auto-detect namespace usage.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"RdfSerializer.autoDetectNamespaces"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * Detect namespace usage before serialization.
 	 * <p>
@@ -71,14 +131,20 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	public static final String RDF_autoDetectNamespaces = "RdfSerializer.autoDetectNamespaces";
 
 	/**
-	 * Default namespaces (<code>List&lt;Namespace&gt;</code>, default=<code>Namespace[0]</code>).
+	 * <b>Configuration property:</b>  Default namespaces.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"RdfSerializer.namespaces.list"</js>
+	 * 	<li><b>Data type:</b> <code>List&lt;{@link Namespace}&gt;</code>
+	 * 	<li><b>Default:</b> empty list
+	 * </ul>
 	 * <p>
 	 * The default list of namespaces associated with this serializer.
 	 */
 	public static final String RDF_namespaces = "RdfSerializer.namespaces.list";
 
 
-	final boolean addLiteralTypes, addRootProperty, useXmlNamespaces, looseCollection, autoDetectNamespaces;
+	final boolean addLiteralTypes, addRootProperty, useXmlNamespaces, looseCollections, autoDetectNamespaces;
 	final String rdfLanguage;
 	final Namespace juneauNs;
 	final Namespace juneauBpNs;
@@ -98,7 +164,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 		addLiteralTypes = cf.getProperty(RDF_addLiteralTypes, boolean.class, false);
 		addRootProperty = cf.getProperty(RDF_addRootProperty, boolean.class, false);
 		useXmlNamespaces = cf.getProperty(RDF_useXmlNamespaces, boolean.class, true);
-		looseCollection = cf.getProperty(RDF_looseCollection, boolean.class, false);
+		looseCollections = cf.getProperty(RDF_looseCollections, boolean.class, false);
 		autoDetectNamespaces = cf.getProperty(RDF_autoDetectNamespaces, boolean.class, true);
 		rdfLanguage = cf.getProperty(RDF_language, String.class, "RDF/XML-ABBREV");
 		juneauNs = cf.getProperty(RDF_juneauNs, Namespace.class, new Namespace("j", "http://www.ibm.com/juneau/"));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
index b4fa7aa..a1a73e7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
@@ -37,7 +37,7 @@ public final class RdfSerializerSession extends SerializerSession {
 
 	private final String rdfLanguage;
 	private final Namespace juneauNs, juneauBpNs;
-	private final boolean addLiteralTypes, addRootProperty, useXmlNamespaces, looseCollection, autoDetectNamespaces;
+	private final boolean addLiteralTypes, addRootProperty, useXmlNamespaces, looseCollections, autoDetectNamespaces;
 	private final Property pRoot, pValue, pClass;
 	private final Model model;
 	private final RDFWriter writer;
@@ -68,7 +68,7 @@ public final class RdfSerializerSession extends SerializerSession {
 			this.addLiteralTypes = ctx.addLiteralTypes;
 			this.addRootProperty = ctx.addRootProperty;
 			this.collectionFormat = ctx.collectionFormat;
-			this.looseCollection = ctx.looseCollection;
+			this.looseCollections = ctx.looseCollections;
 			this.useXmlNamespaces = ctx.useXmlNamespaces;
 			this.autoDetectNamespaces = ctx.autoDetectNamespaces;
 			this.namespaces = ctx.namespaces;
@@ -84,7 +84,7 @@ public final class RdfSerializerSession extends SerializerSession {
 					jenaSettings.put(key.substring(9), e.getValue());
 			}
 			this.collectionFormat = RdfCollectionFormat.valueOf(op.getString(RDF_collectionFormat, "DEFAULT"));
-			this.looseCollection = op.getBoolean(RDF_looseCollection, ctx.looseCollection);
+			this.looseCollections = op.getBoolean(RDF_looseCollections, ctx.looseCollections);
 			this.useXmlNamespaces = op.getBoolean(RDF_useXmlNamespaces, ctx.useXmlNamespaces);
 			this.autoDetectNamespaces = op.getBoolean(RDF_autoDetectNamespaces, ctx.autoDetectNamespaces);
 			this.namespaces = op.get(Namespace[].class, RDF_namespaces, ctx.namespaces);
@@ -137,12 +137,12 @@ public final class RdfSerializerSession extends SerializerSession {
 	}
 
 	/**
-	 * Returns the {@link RdfCommonContext#RDF_looseCollection} setting value for this session.
+	 * Returns the {@link RdfCommonContext#RDF_looseCollections} setting value for this session.
 	 *
-	 * @return The {@link RdfCommonContext#RDF_looseCollection} setting value for this session.
+	 * @return The {@link RdfCommonContext#RDF_looseCollections} setting value for this session.
 	 */
-	public final boolean isLooseCollection() {
-		return looseCollection;
+	public final boolean isLooseCollections() {
+		return looseCollections;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/jena/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/package.html b/juneau-core/src/main/java/org/apache/juneau/jena/package.html
index 0a25043..2a08529 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/package.html
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/package.html
@@ -372,7 +372,7 @@
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
-		<ja>@BeanProperty</ja>(beanUri=<jk>true</jk>) 
+		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) 
 		<jk>public</jk> URI <jf>uri</jf>;
 		
 		<jk>public</jk> URI <jf>addressBookUri</jf>;
@@ -414,7 +414,7 @@
 		<p>
 			The {@link org.apache.juneau.annotation.URI} annotation can also be used on classes and properties 
 				to identify them as URLs when they're not instances of <code>java.net.URI</code> or <code>java.net.URL</code> 
-				(not needed if <code><ja>@BeanProperty</ja>(beanUri=<jk>true</jk>)</code> is already specified).
+				(not needed if <code><ja>@Rdf</ja>(beanUri=<jk>true</jk>)</code> is already specified).
 		</p>
 		<p>
 			The following properties would have produced the same output as before.  Note that the <ja>@URI</ja> annotation is only needed
@@ -424,7 +424,7 @@
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
-		<ja>@BeanProperty</ja>(beanUri=<jk>true</jk>) <jk>public</jk> String <jf>uri</jf>;
+		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) <jk>public</jk> String <jf>uri</jf>;
 		
 		<ja>@URI</ja> <jk>public</jk> String <jf>addressBookUri</jf>;
 		</p>
@@ -478,7 +478,7 @@
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
-		<ja>@BeanProperty</ja>(transform=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar birthDate;
+		<ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar birthDate;
 		...
 		
 		<jc>// Normal constructor</jc>
@@ -540,7 +540,7 @@
 	<jk>public class</jk> Address {
 
 		<jc>// Bean properties</jc>
-		<ja>@BeanProperty</ja>(beanUri=<jk>true</jk>) <jk>public</jk> URI <jf>uri</jf>;
+		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) <jk>public</jk> URI <jf>uri</jf>;
 		<jk>public</jk> URI <jf>personUri</jf>;
 		
 		<jk>public int</jk> <jf>id</jf>;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/json/JsonParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonParserContext.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonParserContext.java
index 5a37d4a..0801000 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonParserContext.java
@@ -34,12 +34,38 @@ import org.apache.juneau.parser.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the JSON parser</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #JSON_strictMode}</td>
+ * 		<td>Strict mode</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 	</ul>
+ * </ul>
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class JsonParserContext extends ParserContext {
 
 	/**
-	 * Set strict mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Strict mode.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"JsonParser.strictMode"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * When in strict mode, parser throws exceptions on the following invalid JSON syntax:
 	 * <ul class='spaced-list'>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
index cf41764..e8d0144 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
@@ -34,12 +34,51 @@ import org.apache.juneau.serializer.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the JSON serializer</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #JSON_simpleMode}</td>
+ * 		<td>Simple JSON mode.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #JSON_useWhitespace}</td>
+ * 		<td>Use whitespace.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #JSON_escapeSolidus}</td>
+ * 		<td>Prefix solidus <js>'/'</js> characters with escapes.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class JsonSerializerContext extends SerializerContext {
 
 	/**
-	 * Simple JSON mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Simple JSON mode.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"JsonSerializer.simpleMode"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, JSON attribute names will only be quoted when necessary.
 	 * Otherwise, they are always quoted.
@@ -47,14 +86,26 @@ public final class JsonSerializerContext extends SerializerContext {
 	public static final String JSON_simpleMode = "JsonSerializer.simpleMode";
 
 	/**
-	 * Use whitespace in output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Use whitespace.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"JsonSerializer.useWhitespace"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, whitespace is added to the output to improve readability.
 	 */
 	public static final String JSON_useWhitespace = "JsonSerializer.useWhitespace";
 
 	/**
-	 * Prefix solidus <js>'/'</js> characters with escapes ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Prefix solidus <js>'/'</js> characters with escapes.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"JsonSerializer.escapeSolidus"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, solidus (e.g. slash) characters should be escaped.
 	 * The JSON specification allows for either format.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/json/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/package.html b/juneau-core/src/main/java/org/apache/juneau/json/package.html
index 2012db3..4c16767 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/package.html
+++ b/juneau-core/src/main/java/org/apache/juneau/json/package.html
@@ -324,7 +324,7 @@
 		<jk>public</jk> URI <jf>uri</jf>;
 		<jk>public</jk> URI <jf>addressBookUri</jf>;
 
-		<ja>@BeanProperty</ja>(transform=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
 
 
 		<jc>// Bean constructor (needed by parser)</jc>
@@ -487,7 +487,7 @@
 		<jk>public</jk> String <jf>name</jf>;
 		<jk>public</jk> URI <jf>uri</jf>;
 		<jk>public</jk> URI <jf>addressBookUri</jf>;
-		<ja>@BeanProperty</ja>(transform=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
 		<jk>public</jk> LinkedList&lt;Address&gt; <jf>addresses</jf> = <jk>new</jk> LinkedList&lt;Address&gt;();
 
 		<jc>// Bean constructor (needed by parser)</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
index 2d7d4dc..8d4556c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
@@ -34,6 +34,20 @@ import org.apache.juneau.parser.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the MessagePack parser</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 	</ul>
+ * </ul>
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class MsgPackParserContext extends ParserContext {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
index fcc9f0d..e354c4f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
@@ -34,6 +34,19 @@ import org.apache.juneau.serializer.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the MessagePack serializer</h6>
+ * <p>
+ * 	None.
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 	</ul>
+ * </ul>
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class MsgPackSerializerContext extends SerializerContext {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java b/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
index 9100cb3..a6920aa 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
@@ -15,14 +15,39 @@ package org.apache.juneau.parser;
 import org.apache.juneau.*;
 
 /**
- * Parent class for all parser contexts.
+ * Configurable properties common to all parsers.
+ *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties common to all parsers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #PARSER_debug}</td>
+ * 		<td>Debug mode.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #PARSER_trimStrings}</td>
+ * 		<td>Trim parsed strings.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
  *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public class ParserContext extends Context {
 
 	/**
-	 * Debug mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Debug mode.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Parser.debug"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * Enables the following additional information during parsing:
 	 * <ul class='spaced-list'>
@@ -33,7 +58,13 @@ public class ParserContext extends Context {
 	public static final String PARSER_debug = "Parser.debug";
 
 	/**
-	 * Trim parsed strings ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Trim parsed strings.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Parser.trimStrings"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to the POJO.
 	 */
@@ -44,8 +75,6 @@ public class ParserContext extends Context {
 
 	/**
 	 * Constructor.
-	 * <p>
-	 * Typically only called from {@link ContextFactory#getContext(Class)}.
 	 *
 	 * @param cf The factory that created this context.
 	 */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
index ff3b2cf..c4a67d5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
@@ -16,14 +16,123 @@ import org.apache.juneau.*;
 import org.apache.juneau.internal.*;
 
 /**
- * Parent class for all serializer contexts.
+ * Configurable properties common to all serializers.
+ *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties common to all serializers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_maxDepth}</td>
+ * 		<td>Max serialization depth.</td>
+ * 		<td><code>Integer</code></td>
+ * 		<td><code>100</code></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_initialDepth}</td>
+ * 		<td>Initial depth.</td>
+ * 		<td><code>Integer</code></td>
+ * 		<td><code>0</code></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_detectRecursions}</td>
+ * 		<td>Automatically detect POJO recursions.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_ignoreRecursions}</td>
+ * 		<td>Ignore recursion errors.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_debug}</td>
+ * 		<td>Debug mode.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_useIndentation}</td>
+ * 		<td>Use indentation.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_addBeanTypeProperties}</td>
+ * 		<td>Add <js>"_type"</js> properties when needed.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_quoteChar}</td>
+ * 		<td>Quote character.</td>
+ * 		<td><code>Character</code></td>
+ * 		<td><js>'"'</js></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_trimNullProperties}</td>
+ * 		<td>Trim null bean property values.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_trimEmptyCollections}</td>
+ * 		<td>Trim empty lists and arrays.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_trimEmptyMaps}</td>
+ * 		<td>Trim empty maps.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_trimStrings}</td>
+ * 		<td>Trim strings.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_relativeUriBase}</td>
+ * 		<td>URI base for relative URIs.</td>
+ * 		<td><code>String</code></td>
+ * 		<td><js>""</js></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_absolutePathUriBase}</td>
+ * 		<td>URI base for relative URIs with absolute paths.</td>
+ * 		<td><code>String</code></td>
+ * 		<td><js>""</js></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_sortCollections}</td>
+ * 		<td>Sort arrays and collections alphabetically.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #SERIALIZER_sortMaps}</td>
+ * 		<td>Sort maps alphabetically.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
  *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public class SerializerContext extends Context {
 
 	/**
-	 * Max serialization depth ({@link Integer}, default=<code>100</code>).
+	 * <b>Configuration property:</b>  Max serialization depth.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.maxDepth"</js>
+	 * 	<li><b>Data type:</b> <code>Integer</code>
+	 * 	<li><b>Default:</b> <code>100</code>
+	 * </ul>
 	 * <p>
 	 * Abort serialization if specified depth is reached in the POJO tree.
 	 * If this depth is exceeded, an exception is thrown.
@@ -32,7 +141,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_maxDepth = "Serializer.maxDepth";
 
 	/**
-	 * Initial depth ({@link Integer}, default=<code>0</code>).
+	 * <b>Configuration property:</b>  Initial depth.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.initialDepth"</js>
+	 * 	<li><b>Data type:</b> <code>Integer</code>
+	 * 	<li><b>Default:</b> <code>0</code>
+	 * </ul>
 	 * <p>
 	 * The initial indentation level at the root.
 	 * Useful when constructing document fragments that need to be indented at a certain level.
@@ -40,7 +155,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_initialDepth = "Serializer.initialDepth";
 
 	/**
-	 * Automatically detect POJO recursions ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Automatically detect POJO recursions.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.detectRecursions"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * Specifies that recursions should be checked for during serialization.
 	 * <p>
@@ -57,7 +178,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_detectRecursions = "Serializer.detectRecursions";
 
 	/**
-	 * Ignore recursion errors ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Ignore recursion errors.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.ignoreRecursions"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * Used in conjunction with {@link #SERIALIZER_detectRecursions}.
 	 * Setting is ignored if <jsf>SERIALIZER_detectRecursions</jsf> is <jk>false</jk>.
@@ -69,7 +196,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_ignoreRecursions = "Serializer.ignoreRecursions";
 
 	/**
-	 * Debug mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Debug mode.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.debug"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * Enables the following additional information during serialization:
 	 * <ul class='spaced-list'>
@@ -81,14 +214,26 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_debug = "Serializer.debug";
 
 	/**
-	 * Use indentation in output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Use indentation.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.useIndentation"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, newlines and indentation is added to the output to improve readability.
 	 */
 	public static final String SERIALIZER_useIndentation = "Serializer.useIndentation";
 
 	/**
-	 * Add <js>"_type"</js> properties to output when needed.({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.addBeanTypeProperties"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred through reflection.
 	 * This is used to recreate the correct objects during parsing if the object types cannot be inferred.
@@ -97,14 +242,26 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_addBeanTypeProperties = "Serializer.addBeanTypeProperties";
 
 	/**
-	 * Quote character ({@link Character}, default=<js>'"'</js>).
+	 * <b>Configuration property:</b>  Quote character.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.quoteChar"</js>
+	 * 	<li><b>Data type:</b> <code>Character</code>
+	 * 	<li><b>Default:</b> <js>'"'</js>
+	 * </ul>
 	 * <p>
 	 * This is the character used for quoting attributes and values.
 	 */
 	public static final String SERIALIZER_quoteChar = "Serializer.quoteChar";
 
 	/**
-	 * Trim null bean property values from output ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Trim null bean property values.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.trimNullProperties"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, null bean values will not be serialized to the output.
 	 * <p>
@@ -116,7 +273,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_trimNullProperties = "Serializer.trimNullProperties";
 
 	/**
-	 * Trim empty lists and arrays from output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Trim empty lists and arrays.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.trimEmptyLists"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, empty list values will not be serialized to the output.
 	 * <p>
@@ -126,10 +289,16 @@ public class SerializerContext extends Context {
 	 * 	<li>Bean properties with empty list values will not be set.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_trimEmptyLists = "Serializer.trimEmptyLists";
+	public static final String SERIALIZER_trimEmptyCollections = "Serializer.trimEmptyLists";
 
 	/**
-	 * Trim empty maps from output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Trim empty maps.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.trimEmptyMaps"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, empty map values will not be serialized to the output.
 	 * <p>
@@ -141,14 +310,26 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_trimEmptyMaps = "Serializer.trimEmptyMaps";
 
 	/**
-	 * Trim strings in output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Trim strings.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.trimStrings"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being serialized.
 	 */
 	public static final String SERIALIZER_trimStrings = "Serializer.trimStrings";
 
 	/**
-	 * URI base for relative URIs ({@link String}, default=<js>""</js>).
+	 * <b>Configuration property:</b>  URI base for relative URIs.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.relativeUriBase"</js>
+	 * 	<li><b>Data type:</b> <code>String</code>
+	 * 	<li><b>Default:</b> <js>""</js>
+	 * </ul>
 	 * <p>
 	 * Prepended to relative URIs during serialization (along with the {@link #SERIALIZER_absolutePathUriBase} if specified.
 	 * (i.e. URIs not containing a schema and not starting with <js>'/'</js>).
@@ -181,21 +362,13 @@ public class SerializerContext extends Context {
 	public static final String SERIALIZER_relativeUriBase = "Serializer.relativeUriBase";
 
 	/**
-	 * Sort arrays and collections alphabetically before serializing ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  URI base for relative URIs with absolute paths.
 	 * <p>
-	 * Note that this introduces a performance penalty.
-	 */
-	public static final String SERIALIZER_sortCollections = "Serializer.sortCollections";
-
-	/**
-	 * Sort maps alphabetically before serializing ({@link Boolean}, default=<jk>false</jk>).
-	 * <p>
-	 * Note that this introduces a performance penalty.
-	 */
-	public static final String SERIALIZER_sortMaps = "Serializer.sortMaps";
-
-	/**
-	 * URI base for relative URIs with absolute paths ({@link String}, default=<js>""</js>).
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.absolutePathUriBase"</js>
+	 * 	<li><b>Data type:</b> <code>String</code>
+	 * 	<li><b>Default:</b> <js>""</js>
+	 * </ul>
 	 * <p>
 	 * Prepended to relative absolute-path URIs during serialization.
 	 * (i.e. URIs starting with <js>'/'</js>).
@@ -227,6 +400,32 @@ public class SerializerContext extends Context {
 	 */
 	public static final String SERIALIZER_absolutePathUriBase = "Serializer.absolutePathUriBase";
 
+	/**
+	 * <b>Configuration property:</b>  Sort arrays and collections alphabetically.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.sortCollections"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
+	 * <p>
+	 * Note that this introduces a performance penalty.
+	 */
+	public static final String SERIALIZER_sortCollections = "Serializer.sortCollections";
+
+	/**
+	 * <b>Configuration property:</b>  Sort maps alphabetically.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"Serializer.sortMaps"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
+	 * <p>
+	 * Note that this introduces a performance penalty.
+	 */
+	public static final String SERIALIZER_sortMaps = "Serializer.sortMaps";
+
 
 	final int maxDepth, initialDepth;
 	final boolean
@@ -236,7 +435,7 @@ public class SerializerContext extends Context {
 		useIndentation,
 		addBeanTypeProperties,
 		trimNulls,
-		trimEmptyLists,
+		trimEmptyCollections,
 		trimEmptyMaps,
 		trimStrings,
 		sortCollections,
@@ -246,8 +445,6 @@ public class SerializerContext extends Context {
 
 	/**
 	 * Constructor.
-	 * <p>
-	 * Typically only called from {@link ContextFactory#getContext(Class)}.
 	 *
 	 * @param cf The factory that created this context.
 	 */
@@ -261,7 +458,7 @@ public class SerializerContext extends Context {
 		useIndentation = cf.getProperty(SERIALIZER_useIndentation, boolean.class, false);
 		addBeanTypeProperties = cf.getProperty(SERIALIZER_addBeanTypeProperties, boolean.class, false);
 		trimNulls = cf.getProperty(SERIALIZER_trimNullProperties, boolean.class, true);
-		trimEmptyLists = cf.getProperty(SERIALIZER_trimEmptyLists, boolean.class, false);
+		trimEmptyCollections = cf.getProperty(SERIALIZER_trimEmptyCollections, boolean.class, false);
 		trimEmptyMaps = cf.getProperty(SERIALIZER_trimEmptyMaps, boolean.class, false);
 		trimStrings = cf.getProperty(SERIALIZER_trimStrings, boolean.class, false);
 		sortCollections = cf.getProperty(SERIALIZER_sortCollections, boolean.class, false);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index 49aefe7..7821542 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -51,7 +51,7 @@ public class SerializerSession extends Session {
 		useIndentation,
 		addBeanTypeProperties,
 		trimNulls,
-		trimEmptyLists,
+		trimEmptyCollections,
 		trimEmptyMaps,
 		trimStrings,
 		sortCollections,
@@ -115,7 +115,7 @@ public class SerializerSession extends Session {
 			useIndentation = ctx.useIndentation;
 			addBeanTypeProperties = ctx.addBeanTypeProperties;
 			trimNulls = ctx.trimNulls;
-			trimEmptyLists = ctx.trimEmptyLists;
+			trimEmptyCollections = ctx.trimEmptyCollections;
 			trimEmptyMaps = ctx.trimEmptyMaps;
 			trimStrings = ctx.trimStrings;
 			quoteChar = ctx.quoteChar;
@@ -133,7 +133,7 @@ public class SerializerSession extends Session {
 			useIndentation = op.getBoolean(SERIALIZER_useIndentation, ctx.useIndentation);
 			addBeanTypeProperties = op.getBoolean(SERIALIZER_addBeanTypeProperties, ctx.addBeanTypeProperties);
 			trimNulls = op.getBoolean(SERIALIZER_trimNullProperties, ctx.trimNulls);
-			trimEmptyLists = op.getBoolean(SERIALIZER_trimEmptyLists, ctx.trimEmptyLists);
+			trimEmptyCollections = op.getBoolean(SERIALIZER_trimEmptyCollections, ctx.trimEmptyCollections);
 			trimEmptyMaps = op.getBoolean(SERIALIZER_trimEmptyMaps, ctx.trimEmptyMaps);
 			trimStrings = op.getBoolean(SERIALIZER_trimStrings, ctx.trimStrings);
 			quoteChar = op.getString(SERIALIZER_quoteChar, ""+ctx.quoteChar).charAt(0);
@@ -347,12 +347,12 @@ public class SerializerSession extends Session {
 	}
 
 	/**
-	 * Returns the {@link SerializerContext#SERIALIZER_trimEmptyLists} setting value for this session.
+	 * Returns the {@link SerializerContext#SERIALIZER_trimEmptyCollections} setting value for this session.
 	 *
-	 * @return The {@link SerializerContext#SERIALIZER_trimEmptyLists} setting value for this session.
+	 * @return The {@link SerializerContext#SERIALIZER_trimEmptyCollections} setting value for this session.
 	 */
-	public final boolean isTrimEmptyLists() {
-		return trimEmptyLists;
+	public final boolean isTrimEmptyCollections() {
+		return trimEmptyCollections;
 	}
 
 	/**
@@ -563,7 +563,7 @@ public class SerializerSession extends Session {
 		if (cm == null)
 			cm = getBeanContext().object();
 
-		if (trimEmptyLists) {
+		if (trimEmptyCollections) {
 			if (cm.isArray() || (cm.isObject() && value.getClass().isArray())) {
 				if (((Object[])value).length == 0)
 					return true;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
index ca57a29..bebfcd5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
@@ -12,17 +12,41 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.soap;
 
+
 /**
  * Properties associated with the {@link SoapXmlSerializer} class.
  *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the SOAP/XML serializer</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #SOAPXML_SOAPAction}</td>
+ * 		<td>The <code>SOAPAction</code> HTTP header value to set on responses.</td>
+ * 		<td><code>String</code></td>
+ * 		<td><js>"http://www.w3.org/2003/05/soap-envelope"</js></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 	</ul>
+ * </ul>
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class SoapXmlSerializerContext {
 
 	/**
-	 * The <code>SOAPAction</code> HTTP header value to set on responses.
+	 * <b>Configuration property:</b>  The <code>SOAPAction</code> HTTP header value to set on responses.
 	 * <p>
-	 * Default is <js>"http://www.w3.org/2003/05/soap-envelope"</js>.
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"SoapXmlSerializer.SOAPAction"</js>
+	 * 	<li><b>Data type:</b> <code>String</code>
+	 * 	<li><b>Default:</b> <js>"http://www.w3.org/2003/05/soap-envelope"</js>
+	 * </ul>
 	 */
 	public static final String SOAPXML_SOAPAction = "SoapXmlSerializer.SOAPAction";
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/svl/vars/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/package.html b/juneau-core/src/main/java/org/apache/juneau/svl/vars/package.html
new file mode 100644
index 0000000..5344cc6
--- /dev/null
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/package.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *  
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under the License.
+ *
+ ***************************************************************************************************************************/
+ -->
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<style type="text/css">
+		/* For viewing in Page Designer */
+		@IMPORT url("../../../../../../../javadoc.css");
+
+		/* For viewing in REST interface */
+		@IMPORT url("../htdocs/javadoc.css");
+		body { 
+			margin: 20px; 
+		}	
+	</style>
+	<script>
+		/* Replace all @code and @link tags. */	
+		window.onload = function() {
+			document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
+			document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
+		}
+	</script>
+</head>
+<body>
+<p>Simple Variable Language - Predefined variables</p>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
index f64b800..2446341 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
@@ -34,12 +34,45 @@ import org.apache.juneau.parser.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the URL-Encoding and UON parsers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #UON_decodeChars}</td>
+ * 		<td>Decode <js>"%xx"</js> sequences</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk> for {@link UonParser}<br><jk>true</jk> for {@link UrlEncodingParser}</td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #UON_whitespaceAware}</td>
+ * 		<td>Whitespace aware</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public class UonParserContext extends ParserContext {
 
 	/**
-	 * Decode <js>"%xx"</js> sequences. ({@link Boolean}, default=<jk>false</jk> for {@link UonParser}, <jk>true</jk> for {@link UrlEncodingParser}).
+	 * <b>Configuration property:</b> Decode <js>"%xx"</js> sequences.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"UonParser.decodeChars"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk> for {@link UonParser}, <jk>true</jk> for {@link UrlEncodingParser}
+	 * </ul>
 	 * <p>
 	 * Specify <jk>true</jk> if URI encoded characters should be decoded, <jk>false</jk>
 	 * 	if they've already been decoded before being passed to this parser.
@@ -47,7 +80,15 @@ public class UonParserContext extends ParserContext {
 	public static final String UON_decodeChars = "UonParser.decodeChars";
 
 	/**
-	 * Expect input to contain readable whitespace characters from using the {@link UonSerializerContext#UON_useWhitespace} setting ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b> Whitespace aware.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"UonParser.whitespaceAware"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
+	 * <p>
+	 * Expect input to contain readable whitespace characters from using the {@link UonSerializerContext#UON_useWhitespace} setting.
 	 */
 	public static final String UON_whitespaceAware = "UonParser.whitespaceAware";
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
index cfcb1c6..94f4700 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
@@ -34,12 +34,51 @@ import org.apache.juneau.serializer.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the URL-Encoding and UON serializers</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #UON_simpleMode}</td>
+ * 		<td>Use simplified output.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #UON_useWhitespace}</td>
+ * 		<td>Use whitespace.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #UON_encodeChars}</td>
+ * 		<td>Encode non-valid URI characters.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk> for {@link UonSerializer}<br><jk>true</jk> for {@link UrlEncodingSerializer}</td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public class UonSerializerContext extends SerializerContext {
 
 	/**
-	 * Use simplified output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Use simplified output.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"UonSerializer.simpleMode"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, type flags will not be prepended to values in most cases.
 	 * <p>
@@ -92,14 +131,28 @@ public class UonSerializerContext extends SerializerContext {
 	public static final String UON_simpleMode = "UonSerializer.simpleMode";
 
 	/**
-	 * Use whitespace in output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Use whitespace.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"UonSerializer.useWhitespace"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, whitespace is added to the output to improve readability.
 	 */
 	public static final String UON_useWhitespace = "UonSerializer.useWhitespace";
 
 	/**
-	 * Encode non-valid URI characters to <js>"%xx"</js> constructs. ({@link Boolean}, default=<jk>false</jk> for {@link UonSerializer}, <jk>true</jk> for {@link UrlEncodingSerializer}).
+	 * <b>Configuration property:</b>  Encode non-valid URI characters.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"UonSerializer.encodeChars"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk> for {@link UonSerializer}, <jk>true</jk> for {@link UrlEncodingSerializer}
+	 * </ul>
+	 * <p>
+	 * Encode non-valid URI characters with <js>"%xx"</js> constructs.
 	 * <p>
 	 * If <jk>true</jk>, non-valid URI characters will be converted to <js>"%xx"</js> sequences.
 	 * Set to <jk>false</jk> if parameter value is being passed to some other code that will already

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html b/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
index 269c7c1..b7cc2ec 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/package.html
@@ -368,7 +368,7 @@
 		<jk>public</jk> URI <jf>uri</jf>;
 		<jk>public</jk> URI <jf>addressBookUri</jf>;
 
-		<ja>@BeanProperty</ja>(transform=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
 
 
 		<jc>// Bean constructor (needed by parser)</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
index 22bf648..017cb70 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
@@ -37,26 +37,113 @@ import org.apache.juneau.parser.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the XML parser</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #XML_xsiNs}</td>
+ * 		<td>XMLSchema-instance namespace URI.</td>
+ * 		<td><code>String<code></td>
+ * 		<td><js>"http://www.w3.org/2001/XMLSchema-instance"</js></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_trimWhitespace}</td>
+ * 		<td>Trim whitespace from text elements.</td>
+ * 		<td><code>Boolean<code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_validating}</td>
+ * 		<td>Enable validation.</td>
+ * 		<td><code>Boolean<code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_coalescing}</td>
+ * 		<td>Enable text element coalescing.</td>
+ * 		<td><code>Boolean<code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_replaceEntityReferences}</td>
+ * 		<td>Replace entity references.</td>
+ * 		<td><code>Boolean<code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_reporter}</td>
+ * 		<td>XML reporter.</td>
+ * 		<td>{@link XMLReporter}</td>
+ * 		<td><jk>null</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_resolver}</td>
+ * 		<td>XML resolver.</td>
+ * 		<td>{@link XMLResolver}</td>
+ * 		<td><jk>null</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_eventAllocator}</td>
+ * 		<td>XML event allocator.</td>
+ * 		<td>{@link XMLEventAllocator}</td>
+ * 		<td><jk>null</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_preserveRootElement}</td>
+ * 		<td>Preserve root element during generalized parsing.</td>
+ * 		<td><code>Boolean<code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 	</ul>
+ * </ul>
+ *
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public final class XmlParserContext extends ParserContext {
 
 	/**
-	 * XMLSchema-instance namespace URI ({@link String}, default=<js>"http://www.w3.org/2001/XMLSchema-instance"</js>).
+	 * <b>Configuration property:</b>  XMLSchema-instance namespace URI.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.xsiNs"</js>
+	 * 	<li><b>Data type:</b> <code>String</code>
+	 * 	<li><b>Default:</b> <js>"http://www.w3.org/2001/XMLSchema-instance"</js>
+	 * </ul>
 	 * <p>
 	 * The XMLSchema namespace.
 	 */
 	public static final String XML_xsiNs = "XmlParser.xsiNs";
 
 	/**
-	 * Trim whitespace from text elements ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Trim whitespace from text elements.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.trimWhitespace"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, whitespace in text elements will be automatically trimmed.
 	 */
 	public static final String XML_trimWhitespace = "XmlParser.trimWhitespace";
 
 	/**
-	 * Set validating mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Enable validation.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.validating"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, XML document will be validated.
 	 * See {@link XMLInputFactory#IS_VALIDATING} for more info.
@@ -64,7 +151,13 @@ public final class XmlParserContext extends ParserContext {
 	public static final String XML_validating = "XmlParser.validating";
 
 	/**
-	 * Set coalescing mode ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Enable text element coalescing.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.coalescing"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, XML text elements will be coalesced.
 	 * See {@link XMLInputFactory#IS_COALESCING} for more info.
@@ -72,7 +165,13 @@ public final class XmlParserContext extends ParserContext {
 	public static final String XML_coalescing = "XmlParser.coalescing";
 
 	/**
-	 * Replace entity references ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Replace entity references.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.replaceEntityReferences"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, entity references will be replace during parsing.
 	 * See {@link XMLInputFactory#IS_REPLACING_ENTITY_REFERENCES} for more info.
@@ -80,7 +179,13 @@ public final class XmlParserContext extends ParserContext {
 	public static final String XML_replaceEntityReferences = "XmlParser.replaceEntityReferences";
 
 	/**
-	 * XML reporter ({@link XMLReporter}, default=<jk>null</jk>).
+	 * <b>Configuration property:</b>  XML reporter.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.reporter"</js>
+	 * 	<li><b>Data type:</b> {@link XMLReporter}
+	 * 	<li><b>Default:</b> <jk>null</jk>
+	 * </ul>
 	 * <p>
 	 * Associates an {@link XMLReporter} with this parser.
 	 * <p>
@@ -89,21 +194,39 @@ public final class XmlParserContext extends ParserContext {
 	public static final String XML_reporter = "XmlParser.reporter";
 
 	/**
-	 * XML resolver ({@link XMLResolver}, default=<jk>null</jk>).
+	 * <b>Configuration property:</b>  XML resolver.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.resolver"</js>
+	 * 	<li><b>Data type:</b> {@link XMLResolver}
+	 * 	<li><b>Default:</b> <jk>null</jk>
+	 * </ul>
 	 * <p>
 	 * Associates an {@link XMLResolver} with this parser.
 	 */
 	public static final String XML_resolver = "XmlParser.resolver";
 
 	/**
-	 * XML event allocator. ({@link XMLEventAllocator}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  XML event allocator.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.eventAllocator"</js>
+	 * 	<li><b>Data type:</b> {@link XMLEventAllocator}
+	 * 	<li><b>Default:</b> <jk>null</jk>
+	 * </ul>
 	 * <p>
 	 * Associates an {@link XMLEventAllocator} with this parser.
 	 */
 	public static final String XML_eventAllocator = "XmlParser.eventAllocator";
 
 	/**
-	 * Preserve root element during generalized parsing ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Preserve root element during generalized parsing.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlParser.preserveRootElement"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, when parsing into a generic {@link ObjectMap}, the map will
 	 * 	contain a single entry whose key is the root element name.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index b3e6b83..ff4f40b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -61,24 +61,44 @@ import org.apache.juneau.xml.annotation.*;
  * 		<js>'fico score'</js>:  <js>' &gt; 640'</js>
  * 	}
  * <p>
- * 	...maps to the following XML...
+ * 	...maps to the following XML using the default serializer...
  * <p class='bcode'>
  * 	<xt>&lt;object&gt;</xt>
- * 		<xt>&lt;name</xt> <xa>type</xa>=<xs>'string'</xs><xt>&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
- * 		<xt>&lt;address</xt> <xa>type</xa>=<xs>'object'</xs><xt>&gt;</xt>
- * 			<xt>&lt;streetAddress</xt> <xa>type</xa>=<xs>'string'</xs><xt>&gt;</xt>21 2nd Street<xt>&lt;/streetAddress&gt;</xt>
- * 			<xt>&lt;city</xt> <xa>type</xa>=<xs>'string'</xs><xt>&gt;</xt>New York<xt>&lt;/city&gt;</xt>
- * 			<xt>&lt;state</xt> <xa>type</xa>=<xs>'string'</xs><xt>&gt;</xt>NY<xt>&lt;/state&gt;</xt>
- * 			<xt>&lt;postalCode</xt> <xa>type</xa>=<xs>'number'</xs><xt>&gt;</xt>10021<xt>&lt;/postalCode&gt;</xt>
+ * 		<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
+ * 		<xt>&lt;address&gt;</xt>
+ * 			<xt>&lt;streetAddress&gt;</xt>21 2nd Street<xt>&lt;/streetAddress&gt;</xt>
+ * 			<xt>&lt;city&gt;</xt>New York<xt>&lt;/city&gt;</xt>
+ * 			<xt>&lt;state&gt;</xt>NY<xt>&lt;/state&gt;</xt>
+ * 			<xt>&lt;postalCode&gt;</xt>10021<xt>&lt;/postalCode&gt;</xt>
  * 		<xt>&lt;/address&gt;</xt>
- * 		<xt>&lt;phoneNumbers</xt> <xa>type</xa>=<xs>'array'</xs><xt>&gt;</xt>
+ * 		<xt>&lt;phoneNumbers&gt;</xt>
  * 			<xt>&lt;string&gt;</xt>212 555-1111<xt>&lt;/string&gt;</xt>
  * 			<xt>&lt;string&gt;</xt>212 555-2222<xt>&lt;/string&gt;</xt>
  * 		<xt>&lt;/phoneNumbers&gt;</xt>
- * 		<xt>&lt;additionalInfo</xt> <xa>type</xa>=<xs>'null'</xs><xt>&gt;&lt;/additionalInfo&gt;</xt>
- * 		<xt>&lt;remote</xt> <xa>type</xa>=<xs>'boolean'</xs><xt>&gt;</xt>false<xt>&lt;/remote&gt;</xt>
- * 		<xt>&lt;height</xt> <xa>type</xa>=<xs>'number'</xs><xt>&gt;</xt>62.4<xt>&lt;/height&gt;</xt>
- * 		<xt>&lt;fico_x0020_score</xt> <xa>type</xa>=<xs>'string'</xs><xt>&gt;</xt> &amp;gt; 640<xt>&lt;/fico_x0020_score&gt;</xt>
+ * 		<xt>&lt;additionalInfo</xt> <xa>_type</xa>=<xs>'null'</xs><xt>&gt;&lt;/additionalInfo&gt;</xt>
+ * 		<xt>&lt;remote&gt;</xt>false<xt>&lt;/remote&gt;</xt>
+ * 		<xt>&lt;height&gt;</xt>62.4<xt>&lt;/height&gt;</xt>
+ * 		<xt>&lt;fico_x0020_score&gt;</xt> &amp;gt; 640<xt>&lt;/fico_x0020_score&gt;</xt>
+ * 	<xt>&lt;/object&gt;</xt>
+ * <p>
+ * 	An additional "add-json-properties" mode is also provided to prevent loss of JSON data types...
+ * <p class='bcode'>
+ * 	<xt>&lt;object&gt;</xt>
+ * 		<xt>&lt;name</xt> <xa>_type</xa>=<xs>'string'</xs><xt>&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
+ * 		<xt>&lt;address</xt> <xa>_type</xa>=<xs>'object'</xs><xt>&gt;</xt>
+ * 			<xt>&lt;streetAddress</xt> <xa>_type</xa>=<xs>'string'</xs><xt>&gt;</xt>21 2nd Street<xt>&lt;/streetAddress&gt;</xt>
+ * 			<xt>&lt;city</xt> <xa>_type</xa>=<xs>'string'</xs><xt>&gt;</xt>New York<xt>&lt;/city&gt;</xt>
+ * 			<xt>&lt;state</xt> <xa>_type</xa>=<xs>'string'</xs><xt>&gt;</xt>NY<xt>&lt;/state&gt;</xt>
+ * 			<xt>&lt;postalCode</xt> <xa>_type</xa>=<xs>'number'</xs><xt>&gt;</xt>10021<xt>&lt;/postalCode&gt;</xt>
+ * 		<xt>&lt;/address&gt;</xt>
+ * 		<xt>&lt;phoneNumbers</xt> <xa>_type</xa>=<xs>'array'</xs><xt>&gt;</xt>
+ * 			<xt>&lt;string&gt;</xt>212 555-1111<xt>&lt;/string&gt;</xt>
+ * 			<xt>&lt;string&gt;</xt>212 555-2222<xt>&lt;/string&gt;</xt>
+ * 		<xt>&lt;/phoneNumbers&gt;</xt>
+ * 		<xt>&lt;additionalInfo</xt> <xa>_type</xa>=<xs>'null'</xs><xt>&gt;&lt;/additionalInfo&gt;</xt>
+ * 		<xt>&lt;remote</xt> <xa>_type</xa>=<xs>'boolean'</xs><xt>&gt;</xt>false<xt>&lt;/remote&gt;</xt>
+ * 		<xt>&lt;height</xt> <xa>_type</xa>=<xs>'number'</xs><xt>&gt;</xt>62.4<xt>&lt;/height&gt;</xt>
+ * 		<xt>&lt;fico_x0020_score</xt> <xa>_type</xa>=<xs>'string'</xs><xt>&gt;</xt> &amp;gt; 640<xt>&lt;/fico_x0020_score&gt;</xt>
  * 	<xt>&lt;/object&gt;</xt>
  * <p>
  * 	This serializer provides several serialization options.  Typically, one of the predefined <jsf>DEFAULT</jsf> serializers will be sufficient.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d45e1351/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
index c1fba2e..ad2001c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
@@ -34,19 +34,100 @@ import org.apache.juneau.serializer.*;
  * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
+ *
+ * <h6 class='topic' id='ConfigProperties'>Configurable properties on the XML serializer</h6>
+ * <table class='styled' style='border-collapse: collapse;'>
+ * 	<tr><th>Setting name</th><th>Description</th><th>Data type</th><th>Default value</th></tr>
+ * 	<tr>
+ * 		<td>{@link #XML_addJsonTypeAttrs}</td>
+ * 		<td>Add JSON type attributes to output.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_addJsonStringTypeAttrs}</td>
+ * 		<td>Add JSON type attributes for strings to output.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>false</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_enableNamespaces}</td>
+ * 		<td>Enable support for XML namespaces.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_autoDetectNamespaces}</td>
+ * 		<td>Auto-detect namespace usage.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_addNamespaceUrisToRoot}</td>
+ * 		<td>Add namespace URLs to the root element.</td>
+ * 		<td><code>Boolean</code></td>
+ * 		<td><jk>true</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_defaultNamespaceUri}</td>
+ * 		<td>Default namespace URI.</td>
+ * 		<td><code>String</code></td>
+ * 		<td><jk>null</jk></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_xsNamespace}</td>
+ * 		<td>XMLSchema namespace.</td>
+ * 		<td>{@link Namespace}</td>
+ * 		<td><code>{name:<js>'xs'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema'</js>}</code></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_xsiNamespace}</td>
+ * 		<td>XMLSchema-Instance namespace.</td>
+ * 		<td>{@link Namespace}</td>
+ * 		<td><code>{name:<js>'xsi'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema-instance'</js>}</code></td>
+ * 	</tr>
+ * 	<tr>
+ * 		<td>{@link #XML_namespaces}</td>
+ * 		<td>Default namespaces.</td>
+ * 		<td><code>Set&lt;{@link Namespace}&gt;</code></td>
+ * 		<td>empty set</td>
+ * 	</tr>
+ * </table>
+ *
+ * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <ul class='javahierarchy'>
+ * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<ul>
+ * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 	</ul>
+ * </ul>
+*
+ *
  * @author James Bognar (james.bognar@salesforce.com)
  */
 public class XmlSerializerContext extends SerializerContext {
 
 	/**
-	 * Add JSON type attributes to output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Add JSON type attributes to output.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.addJsonTypeAttrs"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <js>true</jk>, {@code type} attributes will be added to elements in the XML for number/boolean/null nodes.
 	 */
 	public static final String XML_addJsonTypeAttrs = "XmlSerializer.addJsonTypeAttrs";
 
 	/**
-	 * Add JSON type attributes for strings to output ({@link Boolean}, default=<jk>false</jk>).
+	 * <b>Configuration property:</b>  Add JSON type attributes for strings to output.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.addJsonStringTypeAttrs"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>false</jk>
+	 * </ul>
 	 * <p>
 	 * If <jk>true</jk>, {@code type} attributes will be added to elements in the XML for string nodes.
 	 * <p>
@@ -58,14 +139,26 @@ public class XmlSerializerContext extends SerializerContext {
 	public static final String XML_addJsonStringTypeAttrs = "XmlSerializer.addJsonStringTypeAttrs";
 
 	/**
-	 * Enable support for XML namespaces ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Enable support for XML namespaces.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.enableNamespaces"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * If not enabled, XML output will not contain any namespaces regardless of any other settings.
 	 */
 	public static final String XML_enableNamespaces = "XmlSerializer.enableNamespaces";
 
 	/**
-	 * Auto-detect namespace usage ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Auto-detect namespace usage.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.autoDetectNamespaces"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * Detect namespace usage before serialization.
 	 * <p>
@@ -87,7 +180,13 @@ public class XmlSerializerContext extends SerializerContext {
 	public static final String XML_autoDetectNamespaces = "XmlSerializer.autoDetectNamespaces";
 
 	/**
-	 * Add namespace URLs to the root element ({@link Boolean}, default=<jk>true</jk>).
+	 * <b>Configuration property:</b>  Add namespace URLs to the root element.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.addNamespaceUrisToRoot"</js>
+	 * 	<li><b>Data type:</b> <code>Boolean</code>
+	 * 	<li><b>Default:</b> <jk>true</jk>
+	 * </ul>
 	 * <p>
 	 * Use this setting to add {@code xmlns:x} attributes to the root
 	 * element for the default and all mapped namespaces.
@@ -97,14 +196,26 @@ public class XmlSerializerContext extends SerializerContext {
 	public static final String XML_addNamespaceUrisToRoot = "XmlSerializer.addNamespaceUrisToRoot";
 
 	/**
-	 * Default namespace URI ({@link String}, default=<jk>null</jk>).
+	 * <b>Configuration property:</b>  Default namespace URI.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.defaultNamespaceUri"</js>
+	 * 	<li><b>Data type:</b> <code>String</code>
+	 * 	<li><b>Default:</b> <jk>null</jk>
+	 * </ul>
 	 * <p>
 	 * Specifies the default namespace URI for this document.
 	 */
 	public static final String XML_defaultNamespaceUri = "XmlSerializer.defaultNamespaceUri";
 
 	/**
-	 * XMLSchema namespace ({@link Namespace}, default=<code>{name:<js>'xs'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema'</js>}</code>).
+	 * <b>Configuration property:</b>  XMLSchema namespace.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.xsNamespace"</js>
+	 * 	<li><b>Data type:</b> {@link Namespace}
+	 * 	<li><b>Default:</b> <code>{name:<js>'xs'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema'</js>}</code>
+	 * </ul>
 	 * <p>
 	 * Specifies the namespace for the <code>XMLSchema</code> namespace, used by the schema generated
 	 * by the {@link XmlSchemaSerializer} class.
@@ -112,14 +223,26 @@ public class XmlSerializerContext extends SerializerContext {
 	public static final String XML_xsNamespace = "XmlSerializer.xsNamespace";
 
 	/**
-	 * XMLSchema-Instance namespace ({@link Namespace}, default=<code>{name:<js>'xsi'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema-instance'</js>}</code>).
+	 * <b>Configuration property:</b>  XMLSchema-Instance namespace.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.xsiNamespace"</js>
+	 * 	<li><b>Data type:</b> {@link Namespace}
+	 * 	<li><b>Default:</b> <code>{name:<js>'xsi'</js>,uri:<js>'http://www.w3.org/2001/XMLSchema-instance'</js>}</code>
+	 * </ul>
 	 * <p>
 	 * Specifies the namespace of the <code>XMLSchema-instance</code> namespace used for<code>nil=<jk>true</jk></code> attributes.
 	 */
 	public static final String XML_xsiNamespace = "XmlSerializer.xsiNamespace";
 
 	/**
-	 * Default namespaces (<code>Set&lt;Namespace&gt;</code>, default=empty set).
+	 * <b>Configuration property:</b>  Default namespaces.
+	 * <p>
+	 * <ul>
+	 * 	<li><b>Name:</b> <js>"XmlSerializer.namespaces"</js>
+	 * 	<li><b>Data type:</b> <code>Set&lt;{@link Namespace}&gt;</code>
+	 * 	<li><b>Default:</b> empty set
+	 * </ul>
 	 * <p>
 	 * The default list of namespaces associated with this serializer.
 	 */