juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [juneau] branch master updated: Javadoc updates.
Date Wed, 07 Mar 2018 15:54:03 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
     new 7227412  Javadoc updates.
7227412 is described below

commit 7227412444295b531f03e6967e629b08edf73087
Author: JamesBognar <jamesbognar@apache.org>
AuthorDate: Wed Mar 7 10:54:01 2018 -0500

    Javadoc updates.
---
 juneau-doc/src/main/javadoc/overview.html          | 2184 +++++++++-----------
 .../src/main/javadoc/resources/juneau-code.css     |   10 +
 .../examples/rest/htdocs/code-highlighting.css     |  136 --
 3 files changed, 1002 insertions(+), 1328 deletions(-)

diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 9c8ca85..984a9af 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -483,7 +483,7 @@
 		<p>
 			The library consists of the following artifacts found in the Maven group <code>"org.apache.juneau"</code>:
 		</p>
-		<table class='styled' style='min-width:800px;width:50%'>
+		<table class='styled w800'>
 			<tr>
 				<th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prerequisites</th>
 			</tr>
@@ -660,7 +660,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-marshall<xt>&lt;/artifactId&gt;</xt>
@@ -669,12 +669,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-marshall-7.1.0.jar 
 	</p>	
 	
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.marshall_7.1.0.jar 
 	</p>	
 
@@ -704,7 +704,7 @@
 		<p>
 			In most cases, you can serialize objects in one line of code by using one of the default serializers:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// A simple bean</jc>
 	<jk>public class</jk> Person {
 		<jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
@@ -750,7 +750,7 @@
 			In addition to the default serializers, customized serializers can be created using various built-in options:
 		</p>
 		
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Use one of the default serializers to serialize a POJO</jc>
 	String json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(someObject);
 
@@ -783,7 +783,7 @@
 		<p>
 			Like the serializers, you can often parse objects in one line of code by using one of the default parsers:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Use one of the predefined parsers.</jc>
 	Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
 
@@ -820,7 +820,7 @@
 		<p>
 			The parsers can also be used to populating existing bean and collection objects:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Use one of the predefined parsers.</jc>
 	Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
 
@@ -860,7 +860,7 @@
 			These classes allow serializers and parsers to be retrieved by W3C-compliant HTTP <code>Accept</code> 
 			and <code>Content-Type</code> values...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Construct a new serializer group with configuration parameters that get applied to all serializers.</jc>
 	SerializerGroup sg = SerializerGroup.<jsm>create</jsm>()
 		.append(JsonSerializer.<jk>class</jk>, UrlEncodingSerializer.<jk>class</jk>);
@@ -944,7 +944,7 @@
 			(In theory, any valid XML can also be parsed into an unstructured model, although this has not been 
 			officially 'tested')
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Parse an arbitrary JSON document into an unstructered data model
 	// consisting of ObjectMaps, ObjectLists, and java primitive objects.</jc>
 	Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
@@ -966,7 +966,7 @@
 		<p>
 			The <code>ObjectMap</code> and <code>ObjectList</code> classes have many convenience features:
 		</p>
-		<p class='bcode'>	
+		<p class='bcode w800'>	
 	<jc>// Convert the map to a bean.</jc>		
 	MyBean m = objectMap.cast(MyBean.<jk>class</jk>);
 			
@@ -1010,7 +1010,7 @@
 			new instances from scratch or build upon existing instances.
 			<br>For example, the following code shows how to configure a JSON serializer:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	WriterSerializer s = JsonSerializer
 		.<jsm>create</jsm>()  <jc>// Create a JsonSerializerBuilder</jc>
 		.simple()  <jc>// Simple mode</jc>
@@ -1022,7 +1022,7 @@
 			Configurable settings can also be set declaratively.
 			<br>The following produces the same serializer.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	WriterSerializer s = JsonSerializer
 		.<jsm>create</jsm>()
 		.set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>)
@@ -1054,7 +1054,7 @@
 		<p>
 			These can be used directly, as follows:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Serialize a POJO to LAX JSON.</jc>
 	String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.serialize(myPojo);
 		</p>
@@ -1062,7 +1062,7 @@
 			For performance reasons, serializers and parsers are immutable.
 			However, they can be 'copied' and modified using the <code>builder()</code> method.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Clone and customize an existing serializer.</jc>
 	WriterSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>
 		.builder()  <jc>// Create a new builder with copied settings.</jc>
@@ -1270,7 +1270,7 @@
 			For example, two serializers of the same type created with the same configuration will always end up being
 			the same serializer: 
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Two serializers created with identical configurations will always be the same copy.</jc> 
 	WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySwap.<jk>class</jk>).simple().build();
 	WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).pojoSwaps(MySwap.<jk>class</jk>).build();
@@ -1287,7 +1287,7 @@
 		<p>
 			In the example above, the property store being built looks like the following:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	PropertyStore ps = PropertyStore
 		.<jsm>create</jsm>()
 		.set(<js>"BeanContext.pojoSwaps.lc"</js>, MySwap.<jk>class</jk>)
@@ -1386,7 +1386,7 @@
 				In the following example, we introduce a <code>PojoSwap</code> that will swap in ISO8601 strings for 
 				<code>Date</code> objects:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Sample swap for converting Dates to ISO8601 strings.</jc>
 	<jk>public class</jk> MyDateSwap <jk>extends</jk> PojoSwap&lt;Date,String&gt; {
 		
@@ -1409,7 +1409,7 @@
 			<p>
 				The swap can then be associated with serializers and parsers like so:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Sample bean with a Date field.</jc>
 	<jk>public class</jk> MyBean {
 		<jk>public</jk> Date <jf>date</jf> = <jk>new</jk> Date(112, 2, 3, 4, 5, 6);
@@ -1428,7 +1428,7 @@
 				The {@link org.apache.juneau.BeanMap#get(Object)} and {@link org.apache.juneau.BeanMap#put(String,Object)} 
 				methods will automatically convert to swapped values as the following example shows:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new bean context and add our swap.</jc>
 	BeanContext bc = BeanContext.<jsm>create</jsm>().pojoSwaps(MyDateSwap.<jk>class</jk>).build();
 
@@ -1451,7 +1451,7 @@
 				Another example of a <code>PojoSwap</code> is one that converts <code><jk>byte</jk>[]</code> arrays to
 				BASE64-encoded strings:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> ByteArrayBase64Swap <jk>extends</jk> StringSwap&lt;<jk>byte</jk>[]&gt; {
 	
 		<ja>@Override</ja> <jc>/* StringSwap */</jc>
@@ -1479,7 +1479,7 @@
 			<p>
 				The following example shows the BASE64 swap in use:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a JSON serializer and register the BASE64 encoding swap with it.</jc>
 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
 	ReaderParser p = JsonParser.<jsm>create</jsm>().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
@@ -1555,7 +1555,7 @@
 				In the following example, we define 3 swaps against the same POJO.  
 				One for JSON, one for XML, and one for all other types.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> PojoSwapTest {
 
 		<jk>public static class</jk> MyPojo {}
@@ -1637,7 +1637,7 @@
 				<br>It can make sense to be able to render {@code Iterators} as arrays, but in general it's not possible to 
 				reconstruct an {@code Iterator} during parsing. 
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> IteratorSwap <jk>extends</jk> PojoSwap&lt;Iterator,List&gt; {
 		<ja>@Override</ja> <jc>/* PojoSwap */</jc>
 		<jk>public</jk> List swap(Iterator o) {
@@ -1653,7 +1653,7 @@
 				<br>Note that trying to parse the original object will cause a {@link org.apache.juneau.parser.ParseException} 
 				to be thrown.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a JSON serializer that can serialize Iterators.</jc>
 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(IteratorSwap.<jk>class</jk>).build();
 	
@@ -1679,7 +1679,7 @@
 				<br>This is often cleaner than using the builder <code>pojoSwaps()</code> method since you can keep
 				your swap class near your POJO class. 
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Swap</ja>(MyPojoSwap.<jk>class</jk>)
 	<jk>public class</jk> MyPojo {
 		...
@@ -1697,7 +1697,7 @@
 			<p>
 				Multiple swaps can be associated with a POJO by using the {@link org.apache.juneau.annotation.Swaps @Swaps} annotation:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Swaps</ja>(
 		{
 			<ja>@Swap</ja>(MyJsonSwap.<jk>class</jk>),
@@ -1711,7 +1711,7 @@
 				<code>Readers</code> get serialized directly to the output of a serializer.
 				Therefore it's possible to implement a swap that provides fully-customized output.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyJsonSwap <jk>extends</jk> PojoSwap&lt;MyPojo,Reader&gt; {
 
 		<jk>public</jk> MediaType[] forMediaTypes() {
@@ -1727,7 +1727,7 @@
 				The <ja>@Swap</ja> annotation can also be used on getters and setters as well to apply a swap
 				to individual property values
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@BeanProperty</ja>(swap=MyPojoSwap.<jk>class</jk>)
 	<jk>public</jk> MyPojo getMyPojo();
 			</p>
@@ -1747,14 +1747,14 @@
 			<p>
 				For example, you could pair a template string like so:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Swap</ja>(impl=FreeMarkerSwap.<jk>class</jk>, template=<js>"MyPojo.div.ftl"</js>)
 	<jk>public class</jk> MyPojo {}
 			</p>
 			<p>
 				The implementation of the FreeMarker swap would look something like this:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Our templated swap class.</jc>
 	<jk>public class</jk> FreeMarkerSwap <jk>extends</jk> PojoSwap&lt;Object,Reader&gt; {
 
@@ -1836,7 +1836,7 @@
 				The following example shows how an HTML5 form template object can be created that gets serialized as a 
 				populated HTML5 {@link org.apache.juneau.dto.html5.Form} bean.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
 	
 	<jd>/**
@@ -1877,7 +1877,7 @@
 				The following shows how our form template class can be modified to allow the parsers to reconstruct our 
 				original object:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
 	
 	<jd>/**
@@ -1927,7 +1927,7 @@
 			<p>
 				For example, let's say we want to be able to serialize the following class, but it's not serializable for 
 				some reason (for example, there are no properties exposed):  
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Not serializable because it's not a bean because it has no public properties.</jc>
 	<jk>public class</jk> MyNonSerializableClass {
 		<jk>protected</jk> String <jf>foo</jf>;
@@ -1936,7 +1936,7 @@
 			<p>
 				This could be solved with the following <code>PojoSwap</code>.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// A serializable bean with 1 property.</jc>
 	<jk>public class</jk> MySerializableSurrogate {
 		<jk>public</jk> String <jf>foo</jf>;
@@ -1958,7 +1958,7 @@
 				However, the same can be accomplished by using a surrogate class that simply contains a constructor with 
 				the non-serializable class as an argument:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MySerializableSurrogate {
 		<jk>public</jk> String <jf>foo</jf>;
 		
@@ -1971,7 +1971,7 @@
 			<p>
 				The surrogate class is registered in the same way as a <code>PojoSwap</code>:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a JSON serializer that can serialize Iterators.</jc>
 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySerializableSurrogate.<jk>class</jk>).build();
 			</p>
@@ -1998,7 +1998,7 @@
 				Bean property inclusion and ordering on a bean class can be done using the 
 				{@link org.apache.juneau.annotation.Bean#properties() @Bean.properties()} annotation.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Address class with only street/city/state properties (in that order).</jc>
 	<jc>// All other properties are ignored.</jc>
 	<ja>@Bean</ja>(properties=<js>"street,city,state"</js>)
@@ -2008,7 +2008,7 @@
 				Bean properties can be excluded using the {@link org.apache.juneau.annotation.Bean#excludeProperties() @Bean.excludeProperties()}
 				annotation.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Address class with only street/city/state properties (in that order).</jc>
 	<jc>// All other properties are ignored.</jc>
 	<ja>@Bean</ja>(excludeProperties=<js>"city,state"</js>})
@@ -2017,7 +2017,7 @@
 			<p>
 				Bean properties can be sorted alphabetically using {@link org.apache.juneau.annotation.Bean#sort() @Bean.sort()}
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Address class with only street/city/state properties (in that order).</jc>
 	<jc>// All other properties are ignored.</jc>
 	<ja>@Bean</ja>(sort=<jk>true</jk>)
@@ -2033,7 +2033,7 @@
 				dashed-lowercase, and these will be used as attribute names in JSON and element names in XML.
 			</p>
 			<p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Define a class with dashed-lowercase property names.</jc>
 	<ja>@Bean</ja>(propertyNamer=PropertyNamerDashedLC.<jk>class</jk>)
 	<jk>public class</jk> MyBean { ... }
@@ -2045,7 +2045,7 @@
 				serialization.
 				<br>Additional properties on subclasses will be ignored.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Parent class</jc>
 	<ja>@Bean</ja>(interfaceClass=A.<jk>class</jk>)
 	<jk>public abstract class</jk> A {
@@ -2076,7 +2076,7 @@
 				For example, in the following class hierarchy, instances of <code>C3</code> will include property 
 				<code>p3</code>, but not <code>p1</code> or <code>p2</code>.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> C1 {
 		<jk>public int</jk> getP1();
 	}
@@ -2095,7 +2095,7 @@
 				and {@link org.apache.juneau.transform.PropertyFilter} class can be used to perform interception
 				and inline handling of bean getter and setter calls.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Register filter on bean class.</jc>
 	<ja>@Bean</ja>(propertyFilter=AddressPropertyFilter.<jk>class</jk>)
 	<jk>public class</jk> Address {
@@ -2136,7 +2136,7 @@
 				The {@link org.apache.juneau.annotation.BeanProperty#name() @BeanProperty.name()} annotation
 				is used to override the name of the bean property.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 		<ja>@BeanProperty</ja>(name=<js>"Bar"</js>)
 		<jk>public</jk> String getFoo() {...}
@@ -2147,7 +2147,7 @@
 				(e.g. the visibility is set to the default of PUBLIC, but the field is PROTECTED), this annotation 
 				can be used to force the field to be identified as a property.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 		<ja>@BeanProperty</ja>
 		<jk>protected</jk> String getFoo() {...}
@@ -2164,7 +2164,7 @@
 			<p>
 				The following shows various ways of using dynamic bean properties.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Option #1 - A simple public Map field.</jc>
 	<jc>// The field name can be anything.</jc>
 	<jk>public class</jk> BeanWithDynaField {
@@ -2204,7 +2204,7 @@
 				Similar rules apply for value types and swaps.
 				<br>The property values optionally can be any serializable type or use swaps.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// A serializable type other than Object.</jc>
 	<jk>public class</jk> BeanWithDynaFieldWithListValues {
 
@@ -2237,7 +2237,7 @@
 			<p>
 				The following annotations are equivalent:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
 
 	<ja>@BeanProperty</ja>(<js>"foo"</js>)
@@ -2253,7 +2253,7 @@
 			<p>
 				This property must denote a concrete class with a no-arg constructor.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 
 		<jc>// Identify concrete type as a HashMap.</jc>
@@ -2266,7 +2266,7 @@
 				<br>It's used to identify the class types of the contents of the bean property object when
 				the general parameter types are interfaces or abstract classes.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 
 		<jc>// This is a HashMap&lt;String,Integer&gt;.</jc>
@@ -2285,7 +2285,7 @@
 				<li>Bean/Map arrays - Same, but applied to each element in the array.
 				<li>Bean/Map collections - Same, but applied to each element in the collection.
 			</ul>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyClass {
 
 		<jc>// Only render 'f1' when serializing this bean property.</jc>
@@ -2305,7 +2305,7 @@
 				The {@link org.apache.juneau.annotation.BeanProperty#format() @BeanProperty.format()} 
 				annotation specifies a String format for converting a bean property value to a formatted string.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Serialize a float as a string with 2 decimal places.</jc>
 	<ja>@BeanProperty</ja>(format=<js>"$%.2f"</js>)
 	<jk>public float</jk> <jf>price</jf>;
@@ -2325,7 +2325,7 @@
 			<p>
 				The definition of a read-only bean is a bean with properties with only getters, like shown below:
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Our read-only bean.</jc>
 	<jk>public class</jk> Person {
 		<jk>private final</jk> String <jf>name</jf>;
@@ -2349,7 +2349,7 @@
 		}
 	}			
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Parsing into a read-only bean.</jc>
 	String json = <js>"{name:'John Smith',age:45}"</js>;
 	Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(json);
@@ -2372,7 +2372,7 @@
 			<p>
 				When applied to classes, objects will be converted to strings even though they look like beans.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Not really a bean!  Use toString() instead!</jc>
 	<ja>@BeanIgnore</ja>
 	<jk>public class</jk> MyBean {...}
@@ -2380,7 +2380,7 @@
 			<p>
 				When applied to fields and getters/setters, they will be ignored as bean properties.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 		
 		<jc>// Not a bean property!</jc>
@@ -2406,14 +2406,14 @@
 				A commonly-used case is when you're parsing a JSON map containing beans where one of the bean 
 				properties is the key used in the map.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// JSON</jc> 
 	{
 		id1: {name: <js>'John Smith'</js>, sex:<js>'M'</js>},
 		id2: {name: <js>'Jane Doe'</js>, sex:<js>'F'</js>}
 	}
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jk>public class</jk> Person {
 		
 		<ja>@NameProperty</ja> 
@@ -2437,7 +2437,7 @@
 			<p>
 				A commonly-used case is when you're parsing beans and a child bean has a reference to a parent bean.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> AddressBook {
 		<jk>public</jk> List&lt;Person&gt; <jf>people</jf>;
 	}
@@ -2470,13 +2470,13 @@
 			<p>
 				A typical builder usage is shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	MyBean b = MyBean.<jsm>create</jsm>().foo(<js>"foo"</js>).bar(123).build();
 				</p>								
 				<p>
 					The code for such a builder is shown below:
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 	
 		<jc>// Read-only properties.</jc>
@@ -2537,17 +2537,17 @@
 			</p>
 			<ul class='spaced-list'>
 				<li>A static <code>create()</code> method on the POJO class that returns a builder instance.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jk>public static</jk> MyBuilder <jsm>create</jsm>() {...}
 					</p>
 				<li>A public constructor on the POJO class that takes in a single parameter that implements the {@link org.apache.juneau.transform.Builder} interface.
 					<br>The builder class must have a public no-arg constructor.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jk>public</jk> MyPojo(MyBuilder b) {...}
 					</p>
 				<li>A {@link org.apache.juneau.annotation.Builder @Builder} annotation on the POJO class.
 					<br>The builder class must have a public no-arg constructor.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ja>@Builder</ja>(MyBuilder.<jk>class</jk>)
 	<jk>public class</jk> MyPojo {...}
 					</p>
@@ -2557,11 +2557,11 @@
 			</p>
 			<ul class='spaced-list'>
 				<li>The existence of a <code>build()</code> method on the builder class.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jk>public</jk> MyPojo build() {...}
 					</p>
 				<li>The existence of a public constructor on the POJO class that takes in the builder instance.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jk>public</jk> MyPojo(MyBuilder b) {...}
 					</p>
 			</ul>
@@ -2582,7 +2582,7 @@
 			<p>
 				The following example shows a bean containing URIs of various forms and how they end up serialized. 
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Our bean with properties containing various kinds of URIs.</jc>
 	<jk>public class</jk> TestURIs {
 		<jk>public</jk> URI
@@ -2677,7 +2677,7 @@
 				properties and class types so that they also get interpreted as URIs.
 				<br>For example:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Applied to a class whose toString() method returns a URI.</jc>
 	<ja>@URI</ja>
 	<jk>public class</jk> MyURI {
@@ -2721,14 +2721,14 @@
 			<p>
 				In the previous examples, we defined this bean annotation:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Bean</ja>(properties=<js>"street,city,state"</js>)
 	<jk>public class</jk> Address { ... }
 			</p>
 			<p>
 				The programmatic equivalent would be:
 			</p>				
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> AddressFilter <jk>extends</jk> BeanFilterBuilder&lt;Address&gt; {
 		
 		<jc>// Must provide a no-arg constructor!</jc>
@@ -2747,7 +2747,7 @@
 			<p>
 				For example:
 			</p>
-			<p class='bcode'>			
+			<p class='bcode w800'>			
 	<jc>// Create a new JSON serializer and associate a bean filter with it.</jc>
 	WriterSerializer s = JsonSerializer
 		.<jsm>create</jsm>()
@@ -2765,7 +2765,7 @@
 				<br>These cause bean implementations of those interfaces to only expose the properties defined on the 
 				interface.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// An interface with the 3 properties we want serialized.</jc>
 	<jk>public interface</jk> AddressInterface {
 		<jk>public</jk> String getStreet();
@@ -2809,7 +2809,7 @@
 			<p>
 				For example, let's define the following interface and implementation:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Interface</jc>
 	<jk>public class</jk> MyInterface {
 		<jk>public</jk> String getFoo();
@@ -2825,7 +2825,7 @@
 					Suppose we only want to render the properties defined on our interface, not the implementation. 
 					<br>To do so, we can define the following bean filter:
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>// Define transform that limits properties to only those defined on MyClass</jc>
 	<jk>public class</jk> MyInterfaceFilter <jk>extends</jk> BeanFilter&lt;MyInterface&gt; {
 		<jk>public</jk> MyInterfaceFilter() {
@@ -2836,7 +2836,7 @@
 				<p>
 					When serialized, the serialized bean will only include properties defined on the interface.
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	WriterSerializer s = JsonSerializer
 		.<jsm>create</jsm>()
 		.simple()
@@ -2855,7 +2855,7 @@
 					<br>So in the previous example, the <code>BeanFilter</code> class could have been avoided altogether by just 
 					passing in <code>MyInterface.<jk>class</jk></code> to the serializer, like so:
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	WriterSerializer s = JsonSerializer
 		.<jsm>create</jsm>()
 		.beanFilters(MyInterface.<jk>class</jk>)  <jc>Shortcut!</jc>
@@ -2864,7 +2864,7 @@
 				<p>
 					The annotation equivalent is {@link org.apache.juneau.annotation.Bean#interfaceClass() Bean#interfaceClass()}.
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Bean</ja>(interfaceClass=MyInterface.<jk>class</jk>)
 	<jk>public class</jk> MyInterfaceImpl <jk>implements</jk> MyInterface {
 		<jk>public</jk> String getFoo() {...}
@@ -2877,7 +2877,7 @@
 				<p>
 					Using the annotation on an interface will be inherited by all children.
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Bean</ja>(interfaceClass=MyInterface.<jk>class</jk>)
 	<jk>public class</jk> MyInterface {
 		<jk>public</jk> String getFoo();
@@ -2886,7 +2886,7 @@
 				<p>
 					The annotation can be used on parent classes as well.
 					<br>Child beans will only serialize properties defined on the parent class.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Bean</ja>(interfaceClass=MyAbstractClass.<jk>class</jk>)
 	<jk>public abstract class</jk> MyAbstractClass {
 		<jk>public</jk> String getFoo() {...};
@@ -2917,7 +2917,7 @@
 				For example, in the following class hierarchy, instances of <code>C3</code> will include property <code>p3</code>,
 				but not <code>p1</code> or <code>p2</code>.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> C1 {
 		<jk>public int</jk> getP1();
 	}
@@ -2945,7 +2945,7 @@
 				simply serializing their contents directly to the output stream or writer.
 				<br>This allows you to embed fully customized serializer output.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyBean {
 		<jc>// A bean property that produces raw JSON.</jc>
 		<jk>public</jk> Reader f1 = <jk>new</jk> StringReader(<js>"{'foo':'bar'}"</js>);	
@@ -2964,7 +2964,7 @@
 				<br>In the following example, we're customizing the JSON output for a particular bean type, but leaving
 				all other renditions as-is:
 			</p>			
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Swap</ja>(MyBeanSwapSometimes.<jk>class</jk>)
 	<jk>public class</jk> MyBean {...}
 	
@@ -3017,7 +3017,7 @@
 			For example, if a bean property is of type <code>Object</code>, then the serializer will add 
 			<js>"_type"</js> attributes so that the class can be determined during parsing.
 		</p>
- 		<p class='bcode'>
+ 		<p class='bcode w800'>
  	<ja>@Bean</ja>(typeName=<js>"foo"</js>)
  	<jk>public class</jk> Foo {
  		<jc>// A bean property where the object types cannot be inferred since it's an Object[].</jc>
@@ -3035,7 +3035,7 @@
  			When serialized as JSON, <js>"_type"</js> attributes would be added when needed to infer the type during 
  			parsing:
  		</p>
- 		<p class='bcode'>
+ 		<p class='bcode w800'>
  	{
 		x: [
 			{_type:<js>'bar'</js>},
@@ -3052,7 +3052,7 @@
 		<p>
 			When serialized as XML, the bean is rendered as:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;foo&gt;</xt>
 	   <xt>&lt;x&gt;</xt>
 	      <xt>&lt;bar/&gt;</xt>
@@ -3082,7 +3082,7 @@
 			<li>Any subclass of {@link org.apache.juneau.BeanDictionaryMap} containing a mapping of type names to classes without type name annotations.
 			<li>Any array or collection of the objects above.
 		</ul>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a parser and tell it which classes to try to resolve.</jc>
 	ReaderParser p = JsonParser
 		.<jsm>create</jsm>()
@@ -3117,7 +3117,7 @@
 			When using the annotation, you'll typically want to define it on an interface class so that it can
 			be inherited by all subclasses.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@Bean</ja>(typePropertyName=<js>"mytype"</js>, beanDictionary={MyClass1.<jk>class</jk>,MyClass2.<jk>class</jk>})
 	<jk>public interface</jk> MyInterface {...}
 
@@ -3164,7 +3164,7 @@
 			<p>
 				In the following example, the abstract class has two subclasses:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Abstract superclass</jc>
 	<ja>@Bean</ja>(
 		beanDictionary={A1.<jk>class</jk>, A2.<jk>class</jk>}
@@ -3188,7 +3188,7 @@
 			<p>
 				When serialized, the subtype is serialized as a virtual <js>"_type"</js> property:
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>;
 	A1 a1 = <jk>new</jk> A1();
 	a1.<jf>f1</jf> = <js>"f1"</js>;
@@ -3198,7 +3198,7 @@
 			<p>
 				The following shows what happens when parsing back into the original object.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	JsonParser p = JsonParser.<jsf>DEFAULT</jsf>;
 	A a = p.parse(r, A.<jk>class</jk>);
 	<jsm>assertTrue</jsm>(a <jk>instanceof</jk> A1);
@@ -3217,7 +3217,7 @@
 		<p>
 			For example, the following code creates an instance of the specified unimplemented interface:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Our unimplemented interface</jc> 
 	<jk>public interface</jk> Address {
 		
@@ -3254,7 +3254,7 @@
 		<p>
 			Virtual beans can also be created programmatically using the <code>BeanContext</code> class:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Address address = BeanContext.<jsf>DEFAULT</jsf>.createSession().newBean(Address.<jk>class</jk>);
 		</p>
 	</div>
@@ -3279,7 +3279,7 @@
 		<p>
 			For example, let's make a POJO model out of the following classes:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> A {
 		<jk>public</jk> B b;
 	}
@@ -3295,7 +3295,7 @@
 		<p>
 			Now we create a model with a loop and serialize the results.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Clone an existing serializer and set property for detecting recursions.</jc>
 	JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.builder().detectRecursions(<jk>true</jk>).build();
 
@@ -3311,7 +3311,7 @@
 		<p>
 			What we end up with is the following, which does not serialize the contents of the <code>c</code> field:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	{
 		b: {
 			c: {
@@ -3354,7 +3354,7 @@
 		<p>
 			For example, given the following JSON:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	{
 		id: <jk>1</jk>, 
 		name: <js>'John Smith'</js>, 
@@ -3378,7 +3378,7 @@
 		<p>
 			We can parse this into a generic <code>ObjectMap</code>:
 		</p>
-		<p class='bcode'>	
+		<p class='bcode w800'>	
 	<jc>// Parse JSON into a generic POJO model.</jc>
 	ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
 
@@ -3390,7 +3390,7 @@
 			<br>Even the numbers and booleans are preserved because they are parsed into <code>Number</code> and 
 			<code>Boolean</code> objects when parsing into generic models.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	{
 		id: <jk>1</jk>, 
 		name: <js>'John Smith'</js>, 
@@ -3415,7 +3415,7 @@
 			Once parsed into a generic model, various convenience methods are provided on the <code>ObjectMap</code>
 				and <code>ObjectList</code> classes to retrieve values:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Parse JSON into a generic POJO model.</jc>
 	ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
 
@@ -3463,7 +3463,7 @@
 			parsed POJO.
 		</p>
 		<h5 class='figure'>Examples:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// If you're calling parse on the same input multiple times, use a session instead of the parser directly.</jc>
 	ReaderParserSession p = JsonParser.<jsm>create</jsm>().unbuffered().build().createSession();
 	Object x;
@@ -3509,7 +3509,7 @@
 		</p>
 	
 		<h5 class='topic'>Annotations</h5>
-		<table class='styled' style='min-width:800px;width:50%'>
+		<table class='styled w800'>
 			<tr><th>Jackson</th><th>Juneau</th></tr>
 			<tr>
 				<td>
@@ -3615,7 +3615,7 @@
 		<p>
 			The following chart shows POJOs categorized into groups and whether they can be serialized or parsed:
 		</p>
-		<table class='styled' style='border-collapse: collapse;min-width:800px;width:50%'>
+		<table class='styled w800' style='border-collapse:collapse'>
 			<tr><th>Group</th><th>Description</th><th>Examples</th><th>Can<br>serialize?</th><th>Can<br>parse?</th></tr>
 			<tr class='dark bb' style='background-color:lightyellow;'>
 				<td style='text-align:center'>1</td>
@@ -3888,7 +3888,7 @@
 			The following example shows JSON for a typical bean:
 		</p>
 		<h5 class='figure'>Sample Beans</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
@@ -3911,7 +3911,7 @@
 	}	
 		</p>
 		<h5 class='figure'>Sample Code</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Person p = <jk>new</jk> Person()
 		.name(<js>"John Smith"</js>)
 		.birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -3925,7 +3925,7 @@
 		);
 		</p>
 		<h5 class='figure'>Normal JSON</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
    {
       <js>"name"</js>: <js>"John Smith"</js>, 
       <js>"birthDate"</js>: <js>"1946-08-12T00:00:00Z"</js>, 
@@ -3941,7 +3941,7 @@
    } 
    		</p>
 		<h5 class='figure'>Lax JSON</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
    {
       name: <js>'John Smith'</js>, 
       birthDate: <js>'1946-08-12T00:00:00Z'</js>, 
@@ -3976,7 +3976,7 @@
 			</ul>
 			
 			<h5 class='figure'>Data type conversions:</h5>
-			<table class='styled' style='max-width:800px;'>
+			<table class='styled w800'>
 				<tr>
 					<th>POJO type</th>
 					<th>JSON type</th>
@@ -4125,7 +4125,7 @@
 				The annotation can be applied to beans as well as other objects serialized to other types (e.g. strings).
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	<ja>@Json</ja>(wrapperAttr=<js>"personBean"</js>)
 	<jk>public class</jk> Person {
 		<jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
@@ -4134,7 +4134,7 @@
 			<p>
 				The following shows the JSON representation with and without the annotation present:
 			</p>
-			<table class='styled' style='width:800px;'>
+			<table class='styled w800'>
 				<tr>
 					<th>Without annotation</th>
 					<th>With annotation</th>
@@ -4172,7 +4172,7 @@
 				schema serializer may be subject to future modifications.
 			</p>
 			<h5 class='figure'>Sample Beans</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
@@ -4197,7 +4197,7 @@
 			<p>
 				The code for creating our POJO model and generating JSON-Schema is shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Get the schema serializer for one of the default JSON serializers.</jc>
 	JsonSchemaSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.getSchemaSerializer();
 	
@@ -4206,7 +4206,7 @@
 			</p>
 			
 			<h5 class='figure'>JSON Schema</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	{
 		type: <js>'object'</js>, 
 		description: <js>'org.apache.juneau.sample.Person'</js>, 
@@ -4273,7 +4273,7 @@
 			The following example shows XML for a typical bean:
 		</p>
 		<h5 class='figure'>Sample Beans</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@Bean</ja>(typeName=<js>"person"</js>)
 	<jk>public class</jk> Person {
 		
@@ -4298,7 +4298,7 @@
 	}	
 		</p>
 		<h5 class='figure'>Sample Code</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Person p = <jk>new</jk> Person()
 		.name(<js>"John Smith"</js>)
 		.birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -4312,7 +4312,7 @@
 		);
 		</p>
 		<h5 class='figure'>Normal XML:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;person&gt;</xt>
 		<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
 		<xt>&lt;birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/birthDate&gt;</xt>
@@ -4347,7 +4347,7 @@
 			<p>
 				The representation of loose (not a direct bean property value) simple types are shown below:
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4388,7 +4388,7 @@
 				<xa>_type</xa> attributes are added to bean properties or map entries if the type cannot be inferred 
 				through reflection (e.g. an <code>Object</code> or superclass/interface value type).
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4459,7 +4459,7 @@
 			<p>
 				Loose collections and arrays use the element <xt>&lt;array&gt;</xt> for encapsulation.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4636,7 +4636,7 @@
 			</table>
 	
 			<h5 class='topic'>Beans</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4691,7 +4691,7 @@
 			</table>
 			
 			<h5 class='topic'>Beans with Map properties</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4836,7 +4836,7 @@
 			</ol>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -4881,7 +4881,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Java</th>
 					<th>Without annotation</th>
@@ -4943,7 +4943,7 @@
 			</p>
 			
 			<h5 class='figure'>Examples</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Java</th>
 					<th>XML</th>
@@ -5056,7 +5056,7 @@
 				Bean type names are also used for resolution when abstract fields are used.
 				<br>The following examples show how they are used in a variety of circumstances.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Java</th>
 					<th>XML</th>
@@ -5262,7 +5262,7 @@
 				<js>'\b'</js> and <js>'\f'</js> cannot be encoded in XML 1.0 at all without inventing our own notation.
 				<br>Whitespace characters in element names are encoded as well as whitespace end characters in text.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Java</th>
 					<th>XML</th>
@@ -5315,7 +5315,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5411,7 +5411,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5446,7 +5446,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5485,7 +5485,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5529,7 +5529,7 @@
 			</p>
 			
 			<h5 class='figure'>Example</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5576,7 +5576,7 @@
 				to differentiate which collection the values came from if you plan on parsing the output back into beans.
 				<br>Note that child names must not conflict with other property names.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5626,7 +5626,7 @@
 				<br>It allows free-form child elements to be formed.
 				<br>All other properties on the bean MUST be serialized as attributes.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5689,7 +5689,7 @@
 				The {@link org.apache.juneau.xml.annotation.XmlFormat#MIXED} format is similar to 
 				{@link org.apache.juneau.xml.annotation.XmlFormat#ELEMENTS} except elements names on primitive types 
 				(string/number/boolean/null) are stripped from the output.
-				This format particularly useful when combined with bean dictionaries to produce mixed content.  
+				<br>This format particularly useful when combined with bean dictionaries to produce mixed content.  
 				<br>The bean dictionary isn't used during serialization, but it is needed during parsing to resolve bean 
 				types.
 			</p>
@@ -5698,7 +5698,7 @@
 				{@link org.apache.juneau.xml.annotation.XmlFormat#MIXED} except whitespace characters are preserved in 
 				the output.  
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -5758,26 +5758,26 @@
 			</table>
 			<p>
 				Whitespace (tabs and newlines) are not added to MIXED child nodes in readable-output mode. 
-				This helps ensures strings in the serialized output can be losslessly parsed back into their original 
+				<br>This helps ensures strings in the serialized output can be losslessly parsed back into their original 
 				forms when they contain whitespace characters.
-				If the {@link javax.xml.stream.XMLInputFactory#IS_REPLACING_ENTITY_REFERENCES} setting was not useless 
+				<br>If the {@link javax.xml.stream.XMLInputFactory#IS_REPLACING_ENTITY_REFERENCES} setting was not useless 
 				in Java, we could support lossless readable XML for MIXED content.  
-				But as of Java 8, it still does not work. 
+				<br>But as of Java 8, it still does not work. 
 			</p>
 			<p>
 				XML suffers from other deficiencies as well that affect MIXED content.  
-				For example, <xt>&lt;X&gt;&lt;/X&gt;</xt> and <xt>&lt;X/&gt;</xt> are equivalent in XML and 
+				<br>For example, <xt>&lt;X&gt;&lt;/X&gt;</xt> and <xt>&lt;X/&gt;</xt> are equivalent in XML and 
 				indistinguishable by the Java XML parsers.  
-				This makes it impossible to differentiate between an empty element and an element containing an empty 
+				<br>This makes it impossible to differentiate between an empty element and an element containing an empty 
 				string.  
-				This causes empty strings to get lost in translation. 
-				To alleviate this, we use the constructs <js>"_xE000_"</js> to represent an empty string, and 
+				<br>This causes empty strings to get lost in translation. 
+				<br>To alleviate this, we use the constructs <js>"_xE000_"</js> to represent an empty string, and 
 				<js>"_x0020_"</js> to represent leading and trailing spaces.
 			</p>
 			<p>
 				The examples below show how whitespace is handled under various circumstances:
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>XML</th>
@@ -6040,7 +6040,7 @@
 				<br>The {@link org.apache.juneau.xml.annotation.XmlFormat#TEXT_PWS} is the same except whitespace is 
 				preserved in the output.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6078,7 +6078,7 @@
 				XML before being set as the property value.  
 				This process may not be perfect (e.g. double quotes may be replaced by single quotes, etc...).
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6112,72 +6112,45 @@
 		<h4 class='topic' onclick='toggle(this)'>2.16.7- Namespaces</h4>
 		<div class='topic'>
 			<p>
-				Let's go back to the example of our original <code>Person</code> bean class:
+				Let's go back to the example of our original <code>Person</code> bean class, but add some namespace annotations:
 			</p>
-			<p class='bcode'>
+		<h5 class='figure'>Sample Beans</h5>
+		<p class='bcode w800'>
+	<ja>@Xml</ja>(prefix=<js>"per"</js>)
+	<ja>@Bean</ja>(typeName=<js>"person"</js>)
 	<jk>public class</jk> Person {
+		
 		<jc>// Bean properties</jc>
-		<jk>public int</jk> <jf>id</jf>;
 		<jk>public</jk> String <jf>name</jf>;
-
-		<jc>// Bean constructor (needed by parser)</jc>
-		<jk>public</jk> Person() {}
-
-		<jc>// Normal constructor</jc>
-		<jk>public</jk> Person(<jk>int</jk> id, String name) {
-			<jk>this</jk>.<jf>id</jf> = id;
-			<jk>this</jk>.<jf>name</jf> = name;
-		}
+		<ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+	
+		<jc>// Getters/setters omitted</jc>
 	}
-			</p>
-			<p>
-				However, this time we'll leave namespaces enabled on the serializer:
-			</p>
-			<p class='bcode'>
-	<jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
-	<jc>// Note that this is identical to XmlSerializer.DEFAULT_NS_SQ_READABLE.</jc>
-	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().ns().ws().sq().build();
+	
+	<ja>@Xml</ja>(prefix=<js>"addr"</js>)
+	<ja>@Bean</ja>(typeName=<js>"address"</js>)
+	<jk>public class</jk> Address {
 
-	<jc>// Create our bean.</jc>
-	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>);
+		<jc>// Bean properties</jc>
+		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public</jk> StateEnum <jf>state</jf>;
+		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public int</jk> <jf>zip</jf>;
+		<jk>public boolean</jk> <jf>isCurrent</jf>;
 
-	<jc>// Serialize the bean to XML.</jc>
-	String xml = s.serialize(p);
-			</p>
-			<p>
-				Now when we run this code, we'll see namespaces added to our output:
-			</p>
-			<p class='bcode'>
-	<xt>&lt;object</xt> 
-			<xa>xmlns</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs><xt>&gt;</xt>
-		<xt>&lt;id&gt;</xt>1<xt>&lt;/id&gt;</xt>
-		<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
-	<xt>&lt;/object&gt;</xt>
-			</p>
-			<p>
-				This isn't too exciting yet since we haven't specified any namespaces yet.
-				<br>Therefore, everything is defined under the default <code>Juneau</code> namespace.
-			</p>
-			<p>
-				Namespaces can be defined at the following levels:
-			</p>
-			<ul class='spaced-list'>
-				<li>
-					At the package level by using the {@link org.apache.juneau.xml.annotation.XmlSchema @XmlSchema} 
-					annotation.
-				<li>
-					At the class level by using the {@link org.apache.juneau.xml.annotation.Xml @Xml} annotation.
-				<li>
-					At the bean property level by using the {@link org.apache.juneau.xml.annotation.Xml @Xml} annotation.
-			</ul>
-			<p>
-				It's typically best to specify the namespaces used at the package level.
-				<br>We'll do that here for the package containing our test code.
-			</p>
-			<p class='bcode'>
-	<jc>// XML namespaces used in this package</jc>
+		<jc>// Getters/setters omitted</jc>
+	}	
+		</p>
+		<p>
+			The namespace URLs can either be defined as part of the {@link org.apache.juneau.xml.annotation.Xml @Xml}
+			annotation, or can be defined at the package level with the {@link org.apache.juneau.xml.annotation.XmlSchema @XmlSchema}
+			annotation.
+			<br>Below shows it defined at the package level:
+		</p>
+		<h5 class='figure'>package-info.java</h5>
+		<p class='bcode w800'>
 	<ja>@XmlSchema</ja>(
-		prefix=<js>"ab"</js>,
+		prefix=<js>"ab"</js>,  <jc>// Default namespace</jc>
 		xmlNs={
 			<ja>@XmlNs</ja>(prefix=<js>"ab"</js>, namespaceURI=<js>"http://www.apache.org/addressBook/"</js>),
 			<ja>@XmlNs</ja>(prefix=<js>"per"</js>, namespaceURI=<js>"http://www.apache.org/person/"</js>),
@@ -6186,52 +6159,75 @@
 		}
 	)
 	<jk>package</jk> org.apache.juneau.examples.addressbook;
-	<jk>import</jk> org.apache.juneau.xml.annotation.*;
-			</p>
-			<p>
-				We're defining four namespaces in this package and designating <js>"http://www.apache.org/addressBook/"</js> 
-				as the default namespace for all classes and properties within this package.
-			</p>
-			<p>
-				Take special note that the <ja>@XmlSchema</ja> is modeled after the equivalent JAXB annotation, but is
-				defined in the {@link org.apache.juneau.xml.annotation} package.
-				<br>Other XML annotations are also modeled after JAXB. 
-				However, since many of the features of JAXB are already implemented for all serializers and parsers
-				at a higher level through various general annotations such as {@link org.apache.juneau.annotation.Bean @Bean} 
-				and {@link org.apache.juneau.annotation.BeanProperty @BeanProperty} it was decided to maintain separate Juneau XML 
-				annotations instead of reusing JAXB annotations.
-				<br>This may change in some future implementation, but for now it was decided that having separate Juneau XML 
-				annotations was less confusing.
-			</p>
+		</p>		
+		<h5 class='figure'>Sample Code</h5>
+		<p class='bcode w800'>
+	Person p = <jk>new</jk> Person()
+		.name(<js>"John Smith"</js>)
+		.birthDate(<js>"1946-08-12T00:00:00Z"</js>)
+		.addresses(
+			<jk>new</jk> Address() 
+				.street(<js>"100 Main Street"</js>)
+				.city(<js>"Anywhereville"</js>)
+				.state(<jsf>NY</jsf>)
+				.zip(12345)
+				.isCurrent(<jk>true</jk>);
+		);
+
+	<jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
+	<jc>// Note that this is identical to XmlSerializer.DEFAULT_NS_SQ_READABLE.</jc>
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().ns().ws().sq().build();
+	
+	String xml = s.serialize(p);
+		</p>
 			<p>
-				On our bean class, we'll specify to use the <js>"http://www.apache.org/person/"</js> namespace:
+				Now when we run this code, we'll see namespaces added to our output:
 			</p>
-			<p class='bcode'>
-	<ja>@Xml</ja>(prefix=<js>"per"</js>)
-	<ja>@Bean</ja>(typeName=<js>"person"</js>)
-	<jk>public class</jk> Person {
-		...
+		<p class='bcode w800'>
+	<xt>&lt;per:person&gt;</xt>
+		<xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+		<xt>&lt;per:birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/per:birthDate&gt;</xt>
+		<xt>&lt;per:addresses&gt;</xt>
+			<xt>&lt;addr:address&gt;</xt>
+				<xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
+				<xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
+				<xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
+				<xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
+				<xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
+			<xt>&lt;/addr:address&gt;</xt>
+		<xt>&lt;/per:addresses&gt;</xt>
+	<xt>&lt;/per:person&gt;</xt>
 			</p>
 			<p>
-				Now when we serialize the bean, we get the following:
+				Enabling the {@link org.apache.juneau.xml.XmlSerializer#XML_addNamespaceUrisToRoot} setting results
+				in the namespace URLs being added to the root node:
 			</p>
-			<p class='bcode'>
-	<xt>&lt;per:person</xt> 
+		<p class='bcode w800'>
+	<xt>&lt;per:person</xt>
 			<xa>xmlns</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
-			<xa>xmlns:per</xa>=<xs>'http://www.apache.org/person/'</xs><xt>&gt;</xt>
-		<xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
+			<xa>xmlns:per</xa>=<xs>'http://www.apache.org/person/'</xs>
+			<xa>xmlns:addr</xa>=<xs>'http://www.apache.org/address/'</xs>
+			<xa>xmlns:mail</xa>=<xs>'http://www.apache.org/mail/'</xs>
+		<xt>&gt;</xt>
 		<xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+		<xt>&lt;per:birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/per:birthDate&gt;</xt>
+		<xt>&lt;per:addresses&gt;</xt>
+			<xt>&lt;addr:address&gt;</xt>
+				<xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
+				<xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
+				<xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
+				<xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
+				<xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
+			<xt>&lt;/addr:address&gt;</xt>
+		<xt>&lt;/per:addresses&gt;</xt>
 	<xt>&lt;/per:person&gt;</xt>
 			</p>
 			<p>
 				We can simplify the output by setting the default namespace on the serializer so that all the elements do 
 				not need to be prefixed:
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
-	XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
-		.ws()
-		.sq()
-		.ns()
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().ws().sq().ns()
 		.defaultNamespaceUri(<js>"http://www.apache.org/person/"</js>)
 		.build();
 			</p>
@@ -6239,13 +6235,25 @@
 				This produces the following equivalent where the elements don't need prefixes since they're already in the 
 				default document namespace:
 			</p>
-			<p class='bcode'>
-	<xt>&lt;person</xt> 
+			<p class='bcode w800'>
+	<xt>&lt;person</xt>
+			<xa>xmlns:juneau</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
 			<xa>xmlns</xa>=<xs>'http://www.apache.org/person/'</xs>
-			<xa>xmlns:juneau</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs><xt>&gt;</xt>
-		<xt>&lt;id&gt;</xt>1<xt>&lt;/id&gt;</xt>
+			<xa>xmlns:addr</xa>=<xs>'http://www.apache.org/address/'</xs>
+			<xa>xmlns:mail</xa>=<xs>'http://www.apache.org/mail/'</xs>
+		<xt>&gt;</xt>
 		<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
-	<xt>&lt;/person&gt;</xt>		
+		<xt>&lt;birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/birthDate&gt;</xt>
+		<xt>&lt;addresses&gt;</xt>
+			<xt>&lt;addr:address&gt;</xt>
+				<xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
+				<xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
+				<xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
+				<xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
+				<xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
+			<xt>&lt;/addr:address&gt;</xt>
+		<xt>&lt;/addresses&gt;</xt>
+	<xt>&lt;/person&gt;</xt>
 			</p>
 			<p>
 				One important property on the XML serializer class is 
@@ -6259,7 +6267,7 @@
 				The following code will produce the same output as before, but will perform slightly better since it 
 				avoids this pre-scan step.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
 	XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
 		.ws()
@@ -6274,6 +6282,7 @@
 		<a id="juneau-marshall.XmlDetails.UriProperties"></a>
 		<h4 class='topic' onclick='toggle(this)'>2.16.8- URI Properties</h4>
 		<div class='topic'>
+			TODO
 		</div>
 		
 		<!-- ======================================================================================================= -->
@@ -6301,47 +6310,35 @@
 				<br>We'll use the classes from before, but remove the references to namespaces.
 				<br>Since we have not defined a default namespace, everything is defined under the default Juneau namespace.
 			</p>
-			<p class='bcode'>
+			<h5 class='figure'>Sample Beans</h5>
+			<p class='bcode w800'>
 	<ja>@Bean</ja>(typeName=<js>"person"</js>)
 	<jk>public class</jk> Person {
+		
 		<jc>// Bean properties</jc>
-		<jk>public int</jk> <jf>id</jf>;
 		<jk>public</jk> String <jf>name</jf>;
-		<ja>@Xml</ja>(format=<jsf>ATTR</jsf>) <jk>public</jk> URI <jf>uri</jf>;
-		<jk>public</jk> URI <jf>addressBookUri</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>
-		<jk>public</jk> Person() {}
-
-		<jc>// Normal constructor</jc>
-		<jk>public</jk> Person(<jk>int</jk> id, String name, String uri, String addressBookUri, String birthDate) 
-				<jk>throws</jk> Exception {
-			<jk>this</jk>.<jf>id</jf> = id;
-			<jk>this</jk>.<jf>name</jf> = name;
-			<jk>this</jk>.<jf>uri</jf> = <jk>new</jk> URI(uri);
-			<jk>this</jk>.<jf>addressBookUri</jf> = <jk>new</jk> URI(addressBookUri);
-			<jk>this</jk>.<jf>birthDate</jf> = <jk>new</jk> GregorianCalendar();
-			<jk>this</jk>.<jf>birthDate</jf>.setTime(DateFormat.getDateInstance(DateFormat.<jsf>MEDIUM</jsf>).parse(birthDate));
-		}
+		<ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+	
+		<jc>// Getters/setters omitted</jc>
 	}
-
+	
 	<ja>@Bean</ja>(typeName=<js>"address"</js>)
 	<jk>public class</jk> Address {
+
 		<jc>// Bean properties</jc>
-		<ja>@Xml</ja>(format=<jsf>ATTR</jsf>) <jk>public</jk> URI <jf>uri</jf>;
-		<jk>public</jk> URI <jf>personUri</jf>;
-		<jk>public int</jk> <jf>id</jf>;
-		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>, <jf>state</jf>;
+		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+		<jk>public</jk> StateEnum <jf>state</jf>;
 		<jk>public int</jk> <jf>zip</jf>;
 		<jk>public boolean</jk> <jf>isCurrent</jf>;
-	}
+
+		<jc>// Getters/setters omitted</jc>
+	}	
 			</p>
 			<p>
 				The code for creating our POJO model and generating XML Schema is shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer with readable output.</jc>
 	XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
 		.ws()
@@ -6353,52 +6350,12 @@
 	<jc>// Create the equivalent schema serializer.</jc>
 	XmlSchemaSerializer ss = s.getSchemaSerializer();
 
-	<jc>// Create our bean.</jc>
-	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
-		<js>"http://sample/addressBook"</js>, <js>"Aug 12, 1946"</js>);
-	Address a = <jk>new</jk> Address();
-	a.<jf>uri</jf> = <jk>new</jk> URI(<js>"http://sample/addressBook/address/1"</js>);
-	a.<jf>personUri</jf> = <jk>new</jk> URI(<js>"http://sample/addressBook/person/1"</js>);
-	a.<jf>id</jf> = 1;
-	a.<jf>street</jf> = <js>"100 Main Street"</js>;
-	a.<jf>city</jf> = <js>"Anywhereville"</js>;
-	a.<jf>state</jf> = <js>"NY"</js>;
-	a.<jf>zip</jf> = 12345;
-	a.<jf>isCurrent</jf> = <jk>true</jk>;
-	p.<jf>addresses</jf>.add(a);
-
-	<jc>// Serialize the bean to XML.</jc>
-	String xml = s.serialize(p);
 	
 	<jc>// Get the XML Schema corresponding to the XML generated above.</jc>
-	String xmlSchema = ss.serialize(p);
+	String xmlSchema = ss.serialize(<jk>new</jk> Person());
 			</p>
-			
-			<h5 class='figure'>XML results</h5>
-			<p class='bcode'>
-	<xt>&lt;person</xt> 
-			<xa>xmlns</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
-			<xa>uri</xa>=<xs>'http://sample/addressBook/person/1'</xs><xt>&gt;</xt>
-		<xt>&lt;id&gt;</xt>1<xt>&lt;/id&gt;</xt>
-		<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
-		<xt>&lt;addressBookUri&gt;</xt>http://sample/addressBook<xt>&lt;/addressBookUri&gt;</xt>
-		<xt>&lt;birthDate&gt;</xt>1946-08-12T00:00:00Z<xt>&lt;/birthDate&gt;</xt>
-		<xt>&lt;addresses&gt;</xt>
-			<xt>&lt;address</xt> <xa>uri</xa>=<xs>'http://sample/addressBook/address/1'</xs><xt>&gt;</xt>
-				<xt>&lt;personUri&gt;</xt>http://sample/addressBook/person/1<xt>&lt;/personUri&gt;</xt>
-				<xt>&lt;id&gt;</xt>1<xt>&lt;/id&gt;</xt>
-				<xt>&lt;street&gt;</xt>100 Main Street<xt>&lt;/street&gt;</xt>
-				<xt>&lt;city&gt;</xt>Anywhereville<xt>&lt;/city&gt;</xt>
-				<xt>&lt;state&gt;</xt>NY<xt>&lt;/state&gt;</xt>
-				<xt>&lt;zip&gt;</xt>12345<xt>&lt;/zip&gt;</xt>
-				<xt>&lt;isCurrent&gt;</xt>true<xt>&lt;/isCurrent&gt;</xt>
-			<xt>&lt;/address&gt;</xt>
-		<xt>&lt;/addresses&gt;</xt>
-	<xt>&lt;/person&gt;</xt>				
-			</p>
-			
 			<h5 class='figure'>XML-Schema results</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;schema</xt> 
 			<xa>xmlns</xa>=<xs>'http://www.w3.org/2001/XMLSchema'</xs> 
 			<xa>targetNamespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
@@ -6407,13 +6364,10 @@
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'person'</xs> <xa>_type</xa>=<xs>'juneau:org.apache.juneau.examples.addressbook.Person'</xs><xt>/&gt;</xt>
 		<xt>&lt;complexType</xt> <xa>name</xa>=<xs>'org.apache.juneau.examples.addressbook.Person'</xs><xt>&gt;</xt>
 			<xt>&lt;sequence&gt;</xt>
-				<xt>&lt;element</xt> <xa>name</xa>=<xs>'id'</xs> <xa>_type</xa>=<xs>'integer'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'name'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
-				<xt>&lt;element</xt> <xa>name</xa>=<xs>'addressBookUri'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'birthDate'</xs> <xa>_type</xa>=<xs>'juneau:java.util.Calendar'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'addresses'</xs> <xa>_type</xa>=<xs>'juneau:java.util.LinkedList_x003C_org.apache.juneau.examples.addressbook.Address_x003E_'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 			<xt>&lt;/sequence&gt;</xt>
-			<xt>&lt;attribute</xt> <xa>name</xa>=<xs>'uri'</xs> <xa>_type</xa>=<xs>'string'</xs><xt>/&gt;</xt>
 		<xt>&lt;/complexType&gt;</xt>
 		<xt>&lt;complexType</xt> <xa>name</xa>=<xs>'java.util.Calendar'</xs><xt>&gt;</xt>
 			<xt>&lt;sequence&gt;</xt>
@@ -6430,69 +6384,50 @@
 		<xt>&lt;/complexType&gt;</xt>
 		<xt>&lt;complexType</xt> <xa>name</xa>=<xs>'org.apache.juneau.examples.addressbook.Address'</xs><xt>&gt;</xt>
 			<xt>&lt;sequence&gt;</xt>
-				<xt>&lt;element</xt> <xa>name</xa>=<xs>'personUri'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
-				<xt>&lt;element</xt> <xa>name</xa>=<xs>'id'</xs> <xa>_type</xa>=<xs>'integer'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'street'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'city'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'state'</xs> <xa>_type</xa>=<xs>'string'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'zip'</xs> <xa>_type</xa>=<xs>'integer'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 				<xt>&lt;element</xt> <xa>name</xa>=<xs>'isCurrent'</xs> <xa>_type</xa>=<xs>'boolean'</xs> <xa>minOccurs</xa>=<xs>'0'</xs><xt>/&gt;</xt>
 			<xt>&lt;/sequence&gt;</xt>
-			<xt>&lt;attribute</xt> <xa>name</xa>=<xs>'uri'</xs> <xa>_type</xa>=<xs>'string'</xs><xt>/&gt;</xt>
 		<xt>&lt;/complexType&gt;</xt>
 	<xt>&lt;/schema&gt;</xt>
 			</p>
 			<p>
 				Now if we add in some namespaces, we'll see how multiple namespaces are handled.
 			</p>
-			<p class='bcode'>
-	<ja>@Xml</ja></ja>(prefix=<js>"per"</js>)
-	<ja>@Bean</ja></ja>(typeName=<js>"person"</js>)
+			<h5 class='figure'>Sample Beans with multiple namespaces</h5>
+			<p class='bcode w800'>
+	<ja>@Xml</ja>(prefix=<js>"per"</js>)
+	<ja>@Bean</ja>(typeName=<js>"person"</js>)
 	<jk>public class</jk> Person {
-	...
+		
+		<jc>// Bean properties</jc>
+		<jk>public</jk> String <jf>name</jf>;
+		<ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+	
+		<jc>// Getters/setters omitted</jc>
 	}
-
+	
 	<ja>@Xml</ja>(prefix=<js>"addr"</js>)
 	<ja>@Bean</ja>(typeName=<js>"address"</js>)
 	<jk>public class</jk> Address {
-		...
-		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public</jk> String <jf>street</jf>, <jf>city</jf>, <jf>state</jf>;
+
+		<jc>// Bean properties</jc>
+		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public</jk> StateEnum <jf>state</jf>;
 		<ja>@Xml</ja>(prefix=<js>"mail"</js>) <jk>public int</jk> <jf>zip</jf>;
-		...
-	}
-			</p>
-			
-			<h5 class='figure'>XML results</h5>
-			<p class='bcode'>
-	<xt>&lt;per:person</xt> 
-			<xa>xmlns</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
-			<xa>xmlns:per</xa>=<xs>'http://www.apache.org/person/'</xs> 
-			<xa>xmlns:addr</xa>=<xs>'http://www.apache.org/address/'</xs> 
-			<xa>xmlns:mail</xa>=<xs>'http://www.apache.org/mail/'</xs> 
-			<xa>uri</xa>=<xs>'http://sample/addressBook/person/1'</xs><xt>&gt;</xt>
-		<xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
-		<xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
-		<xt>&lt;per:addressBookUri&gt;</xt>http://sample/addressBook<xt>&lt;/per:addressBookUri&gt;</xt>
-		<xt>&lt;per:birthDate&gt;</xt>1946-08-12T00:00:00Z<xt>&lt;/per:birthDate&gt;</xt>
-		<xt>&lt;per:addresses&gt;</xt>
-			<xt>&lt;addr:address</xt> <xa>uri</xa>=<xs>'http://sample/addressBook/address/1'</xs><xt>&gt;</xt>
-				<xt>&lt;addr:personUri&gt;</xt>http://sample/addressBook/person/1<xt>&lt;/addr:personUri&gt;</xt>
-				<xt>&lt;addr:id&gt;</xt>1<xt>&lt;/addr:id&gt;</xt>
-				<xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
-				<xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
-				<xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
-				<xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
-				<xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
-			<xt>&lt;/addr:address&gt;</xt>
-		<xt>&lt;/per:addresses&gt;</xt>
-	<xt>&lt;/per:person&gt;</xt>
+		<jk>public boolean</jk> <jf>isCurrent</jf>;
+
+		<jc>// Getters/setters omitted</jc>
+	}	
 			</p>
 			<p>
 				The schema consists of 4 documents separated by a <js>'\u0000'</js> character.
 			</p>
-			
 			<h5 class='figure'>XML-Schema results</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;schema</xt> 
 			<xa>xmlns</xa>=<xs>'http://www.w3.org/2001/XMLSchema'</xs> 
 			<xa>targetNamespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
@@ -6548,7 +6483,7 @@
 			<xa>xmlns:per</xa>=<xs>'http://www.apache.org/person/'</xs> 
 			<xa>xmlns:addr</xa>=<xs>'http://www.apache.org/address/'</xs> 
 			<xa>xmlns:mail</xa>=<xs>'http://www.apache.org/mail/'</xs><xt>&gt;</xt>
-		<xt>&lt;impor</xt>t <xa>namespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> <xa>schemaLocation</xa>=<xs>'juneau.xsd'</xs><xt>/&gt;</xt>
+		<xt>&lt;import</xt> <xa>namespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> <xa>schemaLocation</xa>=<xs>'juneau.xsd'</xs><xt>/&gt;</xt>
 		<xt>&lt;import</xt> <xa>namespace</xa>=<xs>'http://www.apache.org/address/'</xs> <xa>schemaLocation</xa>=<xs>'addr.xsd'</xs><xt>/&gt;</xt>
 		<xt>&lt;import</xt> <xa>namespace</xa>=<xs>'http://www.apache.org/mail/'</xs> <xa>schemaLocation</xa>=<xs>'mail.xsd'</xs><xt>/&gt;</xt>
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'person'</xs> <xa>_type</xa>=<xs>'per:org.apache.juneau.examples.addressbook.Person'</xs><xt>/&gt;</xt>
@@ -6558,9 +6493,7 @@
 			<xt>&lt;/sequence&gt;</xt>
 			<xt>&lt;attribute</xt> <xa>name</xa>=<xs>'uri'</xs> <xa>_type</xa>=<xs>'string'</xs><xt>/&gt;</xt>
 		<xt>&lt;/complexType&gt;</xt>
-		<xt>&lt;element</xt> <xa>name</xa>=<xs>'id'</xs> <xa>_type</xa>=<xs>'juneau:int'</xs><xt>/&gt;</xt>
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'name'</xs> <xa>_type</xa>=<xs>'juneau:java.lang.String'</xs><xt>/&gt;</xt>
-		<xt>&lt;element</xt> <xa>name</xa>=<xs>'addressBookUri'</xs> <xa>_type</xa>=<xs>'juneau:java.net.URI'</xs><xt>/&gt;</xt>
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'birthDate'</xs> <xa>_type</xa>=<xs>'juneau:java.util.Calendar'</xs><xt>/&gt;</xt>
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'addresses'</xs> <xa>_type</xa>=<xs>'juneau:java.util.LinkedList_x003C_org.apache.juneau.examples.addressbook.Address_x003E_'</xs><xt>/&gt;</xt>
 	<xt>&lt;/schema&gt;</xt>
@@ -6581,10 +6514,7 @@
 			<xt>&lt;sequence&gt;</xt>
 				<xt>&lt;any</xt> <xa>minOccurs</xa>=<xs>'0'</xs> <xa>maxOccurs</xa>=<xs>'unbounded'</xs><xt>/&gt;</xt>
 			<xt>&lt;/sequence&gt;</xt>
-			<xt>&lt;attribute</xt> <xa>name</xa>=<xs>'uri'</xs> <xa>_type</xa>=<xs>'string'</xs><xt>/&gt;</xt>
 		<xt>&lt;/complexType&gt;</xt>
-		<xt>&lt;element</xt> <xa>name</xa>=<xs>'personUri'</xs> <xa>_type</xa>=<xs>'juneau:java.net.URI'</xs><xt>/&gt;</xt>
-		<xt>&lt;element</xt> <xa>name</xa>=<xs>'id'</xs> <xa>_type</xa>=<xs>'juneau:int'</xs><xt>/&gt;</xt>
 		<xt>&lt;element</xt> <xa>name</xa>=<xs>'isCurrent'</xs> <xa>_type</xa>=<xs>'juneau:boolean'</xs><xt>/&gt;</xt>
 	<xt>&lt;/schema&gt;</xt>
 	[\u0000]
@@ -6618,6 +6548,7 @@
 	<a id="juneau-marshall.HtmlDetails"></a>
 	<h3 class='topic' onclick='toggle(this)'>2.17 - HTML Details</h3>
 	<div class='topic'>
+		TODO
 		
 		<!-- ======================================================================================================= -->
 		<a id="juneau-marshall.HtmlDetails.HtmlMethodology"></a>
@@ -6635,7 +6566,7 @@
 				Tags are added to help differentiate data types when they cannot be inferred through reflection.
 				These tags are ignored by browsers and treated as plain text.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6676,7 +6607,7 @@
 				The <xa>_type</xa> attribute is added to differentiate between objects (maps/beans) and arrays 
 				(arrays/collections).
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6777,7 +6708,7 @@
 			<p>
 				Collections and arrays are represented as ordered lists.
 			</p>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6897,7 +6828,7 @@
 			</table>
 			
 			<h5 class='topic'>Collections</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -6965,7 +6896,7 @@
 			</table>
 	
 			<h5 class='topic'>Beans</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -7050,7 +6981,7 @@
 			</table>
 			
 			<h5 class='topic'>Beans with Map properties</h5>
-			<table class='styled' style='width:auto'>
+			<table class='styled w800'>
 				<tr>
 					<th>Data type</th>
 					<th>JSON example</th>
@@ -7131,10 +7062,6 @@
 					</xt></td>
 				</tr>
 			</table>
-			
-			TODO - Special characters - \n\t\b\f
-			TODO BeanWithPropertiesWithTypeNames...
-			TODO 
 		
 		</div>
 		
@@ -7227,12 +7154,14 @@
 		<a id="juneau-marshall.HtmlDetails.HtmlAnnotation"></a>
 		<h4 class='topic' onclick='toggle(this)'>2.17.4 - @Html Annotation</h4>
 		<div class='topic'>
+			TODO
 		</div>
 
 		<!-- ======================================================================================================= -->
 		<a id="juneau-marshall.HtmlDetails.HtmlSchema"></a>
 		<h4 class='topic' onclick='toggle(this)'>2.17.5 - HTML-Schema Support</h4>
 		<div class='topic'>
+			TODO
 		</div>		
 	</div>
 
@@ -7253,191 +7182,124 @@
 			Juneau uses UON (URL-Encoded Object Notation) for representing POJOs.  
 			The UON specification can be found <a href='doc-files/rfc_uon.txt'>here</a>.
 		</p>
-
 		<p>
-			The example shown here is from the Address Book resource located in the 
-			<code>org.apache.juneau.sample.war</code> application.
-			<br>The POJO model consists of a <code>List</code> of <code>Person</code> beans, with each <code>Person</code> 
-			containing zero or more <code>Address</code> beans.
+			The following example shows JSON for a typical bean:
 		</p>
-		<p>
-			When you point a browser at <code>/sample/addressBook/people/1</code>, the POJO is rendered as HTML:
+		<h5 class='figure'>Sample Beans</h5>
+		<p class='bcode w800'>
+	<jk>public class</jk> Person {
+		
+		<jc>// Bean properties</jc>
+		<jk>public</jk> String <jf>name</jf>;
+		<ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+	
+		<jc>// Getters/setters omitted</jc>
+	}
+	
+	<jk>public class</jk> Address {
+
+		<jc>// Bean properties</jc>
+		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+		<jk>public</jk> StateEnum <jf>state</jf>;
+		<jk>public int</jk> <jf>zip</jf>;
+		<jk>public boolean</jk> <jf>isCurrent</jf>;
+
+		<jc>// Getters/setters omitted</jc>
+	}	
 		</p>
-		<img class='bordered' src="doc-files/Example_HTML.png">
-		<p>
-			By appending <code>?Accept=application/x-www-form-urlencoded&amp;plainText=true</code> to the URL, you can 
-			view the data as a URL-encoded string:
+		<h5 class='figure'>Sample Code</h5>
+		<p class='bcode w800'>
+	Person p = <jk>new</jk> Person()
+		.name(<js>"John Smith"</js>)
+		.birthDate(<js>"1946-08-12T00:00:00Z"</js>)
+		.addresses(
+			<jk>new</jk> Address() 
+				.street(<js>"100 Main Street"</js>)
+				.city(<js>"Anywhereville"</js>)
+				.state(<jsf>NY</jsf>)
+				.zip(12345)
+				.isCurrent(<jk>true</jk>);
+		);
 		</p>
-		<p class='bcode'>
-	<un>0</un>=(
-		<ua>uri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-		<ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>,
-		<ua>id</ua>=<un>1</un>,
-		<ua>name</ua>=<us>'Barack+Obama'</us>,
-		<ua>birthDate</ua>=<us>'Aug+4,+1961'</us>,
+		<h5 class='figure'>UON</h5>
+		<p class='bcode w800'>
+   (
+		<ua>name</ua>=<us>'John+Smith'</us>,
+		<ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>,
 		<ua>addresses</ua>=@(
 			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/1</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-				<ua>id</ua>=<un>1</un>,
-				<ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>,
-				<ua>city</ua>=<us>Washington</us>,
-				<ua>state</ua>=<us>DC</us>,
-				<ua>zip</ua>=<un>20500</un>,
+				<ua>street</ua>=<us>'100 Main Street'</us>,
+				<ua>city</ua>=<us>Anywhereville</us>,
+				<ua>state</ua>=<us>NY</us>,
+				<ua>zip</ua>=<un>12345</un>,
 				<ua>isCurrent</ua>=<uk>true</uk>
-			),
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/2</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-				<ua>id</ua>=<un>2</un>,
-				<ua>street</ua>=<us>'5046+S+Greenwood+Ave'</us>,
-				<ua>city</ua>=<us>Chicago</us>,
-				<ua>state</ua>=<us>IL</us>,
-				<ua>zip</ua>=<un>60615</un>,
-				<ua>isCurrent</ua>=<uk>false</uk>
-			)
-		),
-		<ua>age</ua>=<un>56</un>
-	)
-	&amp;<un>1</un>=(
-		<ua>uri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-		<ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>,
-		<ua>id</ua>=<un>2</un>,
-		<ua>name</ua>=<us>'George+Walker+Bush'</us>,
-		<ua>birthDate</ua>=<us>'Jul+6,+1946'</us>,
-		<ua>addresses</ua>=@(
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/3</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-				<ua>id</ua>=<un>3</un>,
-				<ua>street</ua>=<us>'43+Prairie+Chapel+Rd'</us>,
-				<ua>city</ua>=<us>Crawford</us>,
-				<ua>state</ua>=<us>TX</us>,
-				<ua>zip</ua>=<un>76638</un>,
-				<ua>isCurrent</ua>=<uk>true</uk>
-			),
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/4</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-				<ua>id</ua>=<un>4</un>,
-				<ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>,
-				<ua>city</ua>=<us>Washington</us>,
-				<ua>state</ua>=<us>DC</us>,
-				<ua>zip</ua>=<un><us>20500</un>,
-				<ua>isCurrent</ua>=<uk>false</uk>
 			)
-		),
-		<ua>age</ua>=<un>71</un>
-	)		
-		</p>
-		
-		<p>
-			Juneau supports two kinds of serialization:
-		</p>
-		<ul class='spaced-list'>
-			<li>
-				Construction of full URL query parameter strings (e.g. <code>&amp;key=value</code> pairs) from beans 
-				and maps.
-			<li>
-				Construction of URL query parameter value strings (e.g. just the <code>value</code> portion of 
-				<code>&amp;key=value</code> pairs) from any POJO.  
-		</ul>
-		<p>
-			Top-level beans and maps can serialized as key/value pairs as shown below:
-		</p>
-		
-		<h5 class='figure'>Example:  A bean with 2 string properties, 'foo' and 'baz', serialized to a query string</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>foo</ua>=<us>bar</us>&amp;<ua>baz</ua>=<us>bing</us>
-		</p>
-		<p>
-			Lower-level beans and maps are also serialized as key/value pairs, but are surrounded with a 
-			<js>"(...)"</js> construct to denote an object mapping, and uses a comma as the parameter delimiter instead 
-			of <js>"&amp;"</js>.
-		</p>
-		
-		<h5 class='figure'>Example:  A bean serialized as a query parameter value.</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>a1</ua>=(<ua>foo</ua>=<us>bar</us>,<ua>baz</ua>=<us>bing</us>)
-		</p>
+		)
+   ) 
+   		</p>
 		
-		<h5 class='figure'>General methodology:</h5>
-		<table class='styled' style='border-collapse: collapse;'>
-			<tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
-			<tr>
-				<td>Maps/beans</td>
-				<td>OBJECT</td>
-				<td class='code'>
+		<!-- ======================================================================================================= -->
+		<a id="juneau-marshall.UonDetails.UonMethodology"></a>
+		<h4 class='topic' onclick='toggle(this)'>2.18.1 - UON Methodology</h4>
+		<div class='topic'>
+			<h5 class='figure'>General methodology:</h5>
+			<table class='styled w800' style='border-collapse:collapse'>
+				<tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
+				<tr>
+					<td>Maps/beans</td>
+					<td>OBJECT</td>
+					<td class='code'>
 	<ua>a1</ua>=(<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>)
 	<ua>a1</ua>=(<ua>b1</ua>=(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>))
-				</td>
-			</tr>
-			<tr>
-				<td>Collections/arrays</td>
-				<td>ARRAY</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>Collections/arrays</td>
+					<td>ARRAY</td>
+					<td class='code'>
 	<ua>a1</ua>=@(<us>x1</us>,<us>x2</us>)
 	<ua>a1</ua>=@(@(<us>x1</us>,<us>x2</us>),@(<us>x3</us>,<us>x4</us>))
 	<ua>a1</ua>=@((<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>),(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>))
-				</td>
-			</tr>
-			<tr>
-				<td>Booleans</td>
-				<td>BOOLEAN</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>Booleans</td>
+					<td>BOOLEAN</td>
+					<td class='code'>
 	<ua>a1</ua>=<uk>true</uk>&amp;<ua>a2</ua>=<uk>false</uk>
-				</td>
-			</tr>
-			<tr>
-				<td>int/float/double/...</td>
-				<td>NUMBER</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>int/float/double/...</td>
+					<td>NUMBER</td>
+					<td class='code'>
 	<ua>a1</ua>=<un>123</un>&amp;<ua>a2</ua>=<un>1.23e1</un>
-				</td>
-			</tr>
-			<tr>
-				<td>null</td>
-				<td>NULL</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>null</td>
+					<td>NULL</td>
+					<td class='code'>
 	<ua>a1</ua>=<uk>null</uk>
-				</td>
-			</tr>
-			<tr>
-				<td>String</td>
-				<td>STRING</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>String</td>
+					<td>STRING</td>
+					<td class='code'>
 	<ua>a1</ua>=<us>foobar</us>
 	<ua>a1</ua>=<us>'true'</us>
 	<ua>a1</ua>=<us>'null'</us>
 	<ua>a1</ua>=<us>'123'</us>
 	<ua>a1</ua>=<us>' string with whitespace '</us>
 	<ua>a1</ua>=<us>'string with ~'escaped~' quotes'</us>
-				</td>
-			</tr>
-		</table>
-		<p>
-			Refer to the <a href='doc-files/rfc_uon.txt'>UON specification</a> for a complete set of syntax rules.		
-		<p>
-			<code>PojoSwaps</code> can be used to convert non-serializable POJOs into serializable forms, such as 
-			converting <code>Calendar</code> object to ISO8601 strings, or <code><uk>byte</uk>[]</code> arrays to 
-			Base-64 encoded strings.
-			<br>These transforms can be associated at various levels:
-		</p>
-		<ul>
-			<li>On serializer and parser instances to handle all objects of the class type globally.
-			<li>On classes through the <code><ja>@Bean</ja></code> annotation.
-			<li>On bean properties through the <code><ja>@BeanProperty</ja></code> annotations.
-		</ul>
-		
-		<h5 class='figure'>Example:  A serialized Calendar object using <code>CalendarSwap.RFC2822DTZ</code> transform.</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>a1=<us>'Sun,+03+Mar+1901+09:05:06+GMT'</us>
-		</p>
-		
-		<!-- ======================================================================================================= -->
-		<a id="juneau-marshall.UonDetails.UonMethodology"></a>
-		<h4 class='topic' onclick='toggle(this)'>2.18.1 - UON Methodology</h4>
-		<div class='topic'>
+					</td>
+				</tr>
+			</table>
+			<p>
+				Refer to the <a href='doc-files/rfc_uon.txt'>UON specification</a> for a complete set of syntax rules.		
+			</p>
 		</div>
 		
 		<!-- ======================================================================================================= -->
@@ -7518,194 +7380,125 @@
 			objects. 
 		</p>
 		<p>
-			Juneau uses UON (URL-Encoded Object Notation) for representing POJOs.  
+			Juneau uses UON (URL-Encoded Object Notation) for representing POJOs as URL-Encoded values in key-value pairs.  
 			The UON specification can be found <a href='doc-files/rfc_uon.txt'>here</a>.
 		</p>
-
-		<p>
-			The example shown here is from the Address Book resource located in the 
-			<code>org.apache.juneau.sample.war</code> application
-			<br>The POJO model consists of a <code>List</code> of <code>Person</code> beans, with each <code>Person</code> 
-			containing zero or more <code>Address</code> beans.
-		</p>
-		<p>
-			When you point a browser at <code>/sample/addressBook/people/1</code>, the POJO is rendered as HTML:
-		</p>
-		<img class='bordered' src="doc-files/Example_HTML.png">
 		<p>
-			By appending <code>?Accept=application/x-www-form-urlencoded&amp;plainText=true</code> to the URL, you can 
-			view the data as a URL-encoded string:
-		</p>
-		<p class='bcode'>
-	<un>0</un>=(
-		<ua>uri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-		<ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>,
-		<ua>id</ua>=<un>1</un>,
-		<ua>name</ua>=<us>'Barack+Obama'</us>,
-		<ua>birthDate</ua>=<us>'Aug+4,+1961'</us>,
-		<ua>addresses</ua>=@(
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/1</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-				<ua>id</ua>=<un>1</un>,
-				<ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>,
-				<ua>city</ua>=<us>Washington</us>,
-				<ua>state</ua>=<us>DC</us>,
-				<ua>zip</ua>=<un>20500</un>,
-				<ua>isCurrent</ua>=<uk>true</uk>
-			),
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/2</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>,
-				<ua>id</ua>=<un>2</un>,
-				<ua>street</ua>=<us>'5046+S+Greenwood+Ave'</us>,
-				<ua>city</ua>=<us>Chicago</us>,
-				<ua>state</ua>=<us>IL</us>,
-				<ua>zip</ua>=<un>60615</un>,
-				<ua>isCurrent</ua>=<uk>false</uk>
-			)
-		),
-		<ua>age</ua>=<un>56</un>
-	)
-	&amp;<un>1</un>=(
-		<ua>uri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-		<ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>,
-		<ua>id</ua>=<un>2</un>,
-		<ua>name</ua>=<us>'George+Walker+Bush'</us>,
-		<ua>birthDate</ua>=<us>'Jul+6,+1946'</us>,
-		<ua>addresses</ua>=@(
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/3</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-				<ua>id</ua>=<un>3</un>,
-				<ua>street</ua>=<us>'43+Prairie+Chapel+Rd'</us>,
-				<ua>city</ua>=<us>Crawford</us>,
-				<ua>state</ua>=<us>TX</us>,
-				<ua>zip</ua>=<un>76638</un>,
-				<ua>isCurrent</ua>=<uk>true</uk>
-			),
-			(
-				<ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/4</us>,
-				<ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>,
-				<ua>id</ua>=<un>4</un>,
-				<ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>,
-				<ua>city</ua>=<us>Washington</us>,
-				<ua>state</ua>=<us>DC</us>,
-				<ua>zip</ua>=<un><us>20500</un>,
-				<ua>isCurrent</ua>=<uk>false</uk>
-			)
-		),
-		<ua>age</ua>=<un>71</un>
-	)		
-		</p>
-		
-		<p>
-			Juneau supports two kinds of serialization:
-		</p>
-		<ul class='spaced-list'>
-			<li>
-				Construction of full URL query parameter strings (e.g. <code>&amp;key=value</code> pairs) from beans 
-				and maps.
-			<li>
-				Construction of URL query parameter value strings (e.g. just the <code>value</code> portion of 
-				<code>&amp;key=value</code> pairs) from any POJO.  
-		</ul>
-		<p>
-			Top-level beans and maps can serialized as key/value pairs as shown below:
+			The following example shows JSON for a typical bean:
 		</p>
+		<h5 class='figure'>Sample Beans</h5>
+		<p class='bcode w800'>
+	<jk>public class</jk> Person {
 		
-		<h5 class='figure'>Example:  A bean with 2 string properties, 'foo' and 'baz', serialized to a query string</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>foo</ua>=<us>bar</us>&amp;<ua>baz</ua>=<us>bing</us>
-		</p>
-		<p>
-			Lower-level beans and maps are also serialized as key/value pairs, but are surrounded with a 
-			<js>"(...)"</js> construct to denote an object mapping,  and uses a comma as the parameter delimiter 
-			instead of <js>"&amp;"</js>.
+		<jc>// Bean properties</jc>
+		<jk>public</jk> String <jf>name</jf>;
+		<ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>;
+		<jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+	
+		<jc>// Getters/setters omitted</jc>
+	}
+	
+	<jk>public class</jk> Address {
+
+		<jc>// Bean properties</jc>
+		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+		<jk>public</jk> StateEnum <jf>state</jf>;
+		<jk>public int</jk> <jf>zip</jf>;
+		<jk>public boolean</jk> <jf>isCurrent</jf>;
+
+		<jc>// Getters/setters omitted</jc>
+	}	
 		</p>
-		
-		<h5 class='figure'>Example:  A bean serialized as a query parameter value.</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>a1</ua>=(<ua>foo</ua>=<us>bar</us>,<ua>baz</ua>=<us>bing</us>)
+		<h5 class='figure'>Sample Code</h5>
+		<p class='bcode w800'>
+	Person p = <jk>new</jk> Person()
+		.name(<js>"John Smith"</js>)
+		.birthDate(<js>"1946-08-12T00:00:00Z"</js>)
+		.addresses(
+			<jk>new</jk> Address() 
+				.street(<js>"100 Main Street"</js>)
+				.city(<js>"Anywhereville"</js>)
+				.state(<jsf>NY</jsf>)
+				.zip(12345)
+				.isCurrent(<jk>true</jk>);
+		);
 		</p>
+		<h5 class='figure'>URL-Encoding</h5>
+		<p class='bcode w800'>
+	<ua>name</ua>=<us>'John+Smith'</us>
+	&amp;<ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>
+	&amp;<ua>addresses</ua>=@(
+		(
+			<ua>street</ua>=<us>'100 Main Street'</us>,
+			<ua>city</ua>=<us>Anywhereville</us>,
+			<ua>state</ua>=<us>NY</us>,
+			<ua>zip</ua>=<un>12345</un>,
+			<ua>isCurrent</ua>=<uk>true</uk>
+		)
+	)
+   		</p>
 		
-		<h5 class='figure'>General methodology:</h5>
-		<table class='styled' style='border-collapse: collapse;'>
-			<tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
-			<tr>
-				<td>Maps/beans</td>
-				<td>OBJECT</td>
-				<td class='code'>
+		<!-- ======================================================================================================= -->
+		<a id="juneau-marshall.UrlEncodingDetails.UrlEncodingMethodology"></a>
+		<h4 class='topic' onclick='toggle(this)'>2.19.1 - URL-Encoding Methodology</h4>
+		<div class='topic'>
+			<h5 class='figure'>General methodology:</h5>
+			<table class='styled w800' style='border-collapse:collapse'>
+				<tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
+				<tr>
+					<td>Maps/beans</td>
+					<td>OBJECT</td>
+					<td class='code'>
 	<ua>a1</ua>=(<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>)
 	<ua>a1</ua>=(<ua>b1</ua>=(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>))
-				</td>
-			</tr>
-			<tr>
-				<td>Collections/arrays</td>
-				<td>ARRAY</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>Collections/arrays</td>
+					<td>ARRAY</td>
+					<td class='code'>
 	<ua>a1</ua>=@(<us>x1</us>,<us>x2</us>)
 	<ua>a1</ua>=@(@(<us>x1</us>,<us>x2</us>),@(<us>x3</us>,<us>x4</us>))
 	<ua>a1</ua>=@((<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>),(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>))
-				</td>
-			</tr>
-			<tr>
-				<td>Booleans</td>
-				<td>BOOLEAN</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>Booleans</td>
+					<td>BOOLEAN</td>
+					<td class='code'>
 	<ua>a1</ua>=<uk>true</uk>&amp;<ua>a2</ua>=<uk>false</uk>
-				</td>
-			</tr>
-			<tr>
-				<td>int/float/double/...</td>
-				<td>NUMBER</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>int/float/double/...</td>
+					<td>NUMBER</td>
+					<td class='code'>
 	<ua>a1</ua>=<un>123</un>&amp;<ua>a2</ua>=<un>1.23e1</un>
-				</td>
-			</tr>
-			<tr>
-				<td>null</td>
-				<td>NULL</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>null</td>
+					<td>NULL</td>
+					<td class='code'>
 	<ua>a1</ua>=<uk>null</uk>
-				</td>
-			</tr>
-			<tr>
-				<td>String</td>
-				<td>STRING</td>
-				<td class='code'>
+					</td>
+				</tr>
+				<tr>
+					<td>String</td>
+					<td>STRING</td>
+					<td class='code'>
 	<ua>a1</ua>=<us>foobar</us>
 	<ua>a1</ua>=<us>'true'</us>
 	<ua>a1</ua>=<us>'null'</us>
 	<ua>a1</ua>=<us>'123'</us>
 	<ua>a1</ua>=<us>' string with whitespace '</us>
 	<ua>a1</ua>=<us>'string with ~'escaped~' quotes'</us>
-				</td>
-			</tr>
-		</table>
-		<p>
-			Refer to the <a href='doc-files/rfc_uon.txt'>UON specification</a> for a complete set of syntax rules.		
-		<p>
-			<code>PojoSwaps</code> can be used to convert non-serializable POJOs into serializable forms, such as 
-			converting <code>Calendar</code> object to ISO8601 strings, or <code><uk>byte</uk>[]</code> arrays to 
-			Base-64 encoded strings.
-			<br>These transforms can be associated at various levels:
-		</p>
-		<ul>
-			<li>On serializer and parser instances to handle all objects of the class type globally.
-			<li>On classes through the <code><ja>@Bean</ja></code> annotation.
-			<li>On bean properties through the <code><ja>@BeanProperty</ja></code> annotations.
-		</ul>
-		
-		<h5 class='figure'>Example:  A serialized Calendar object using <code>CalendarSwap.RFC2822DTZ</code> transform.</h5>
-		<p class='bcode'>	
-	http://localhost/sample?<ua>a1=<us>'Sun,+03+Mar+1901+09:05:06+GMT'</us>
-		</p>
-		
-		<!-- ======================================================================================================= -->
-		<a id="juneau-marshall.UrlEncodingDetails.UrlEncodingMethodology"></a>
-		<h4 class='topic' onclick='toggle(this)'>2.19.1 - URL-Encoding Methodology</h4>
-		<div class='topic'>
+					</td>
+				</tr>
+			</table>
+			<p>
+				Refer to the <a href='doc-files/rfc_uon.txt'>UON specification</a> for a complete set of syntax rules.		
+			</p>
 		</div>
 		
 		<!-- ======================================================================================================= -->
@@ -7774,6 +7567,7 @@
 		<a id="juneau-marshall.UrlEncodingDetails.UrlEncodingAnnotation"></a>
 		<h4 class='topic' onclick='toggle(this)'>2.19.4 - @UrlEncoding Annotation</h4>
 		<div class='topic'>
+			TODO
 		</div>
 	</div>
 
@@ -7781,6 +7575,7 @@
 	<a id="juneau-marshall.MsgPackDetails"></a>
 	<h3 class='topic' onclick='toggle(this)'>2.20 - MessagePack Details</h3>
 	<div class='topic'>
+		TODO
 	
 		<!-- ======================================================================================================= -->
 		<a id="juneau-marshall.MsgPackDetails.MsgPackMethodology"></a>
@@ -7849,18 +7644,21 @@
 	<a id="juneau-marshall.SoapDetails"></a>
 	<h3 class='topic' onclick='toggle(this)'>2.21 - SOAP Details</h3>
 	<div class='topic'>
+		TODO
 	</div>
 
 	<!-- ======================================================================================================= -->
 	<a id="juneau-marshall.SoapDetails"></a>
 	<h3 class='topic' onclick='toggle(this)'>2.22 - CSV Details</h3>
 	<div class='topic'>
+		TODO
 	</div>
 
 	<!-- ======================================================================================================= -->
 	<a id="juneau-marshall.SoapDetails"></a>
 	<h3 class='topic' onclick='toggle(this)'>2.23 - Java Serialized Object Details</h3>
 	<div class='topic'>
+		TODO
 	</div>
 	
 	<!-- ======================================================================================================= -->
@@ -7900,7 +7698,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-marshall-rdf<xt>&lt;/artifactId&gt;</xt>
@@ -7909,12 +7707,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-marshall-rdf-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.marshall.rdf_7.1.0.jar 
 	</p>	
 
@@ -7934,7 +7732,7 @@
 		packaged separately so that you don't need to pull in the Jena dependency unless you need it.
 	</p>
 
-	<p class='bcode'>
+	<p class='bcode w800'>
 	<jc>// A simple bean</jc>
 	<jk>public class</jk> Person {
 		<jk>public</jk> String name = <js>"John Smith"</js>;
@@ -8020,6 +7818,7 @@
 		<a id="juneau-marshall-rdf.RdfDetails.RdfMethodology"></a>
 		<h4 class='topic' onclick='toggle(this)'>3.1.1 - RDF Methodology</h4>
 		<div class='topic'>
+			TODO
 		</div>
 
 		<!-- ======================================================================================================= -->
@@ -8179,6 +7978,7 @@
 		<a id="juneau-marshall-rdf.RdfDetails.RdfAnnotation"></a>
 		<h4 class='topic' onclick='toggle(this)'>3.1.4 - @Rdf Annotation</h4>
 		<div class='topic'>
+			TODO
 		</div>
 
 		<!-- ======================================================================================================= -->
@@ -8203,7 +8003,7 @@
 				of this class.
 				<br>We do this by adding the following annotation to our class:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Rdf</ja>(prefix=<js>"per"</js>)
 	<jk>public class</jk> Person {
 			</p>
@@ -8211,7 +8011,7 @@
 				In general, the best approach is to define the namespace URIs at the package level using a 
 				<code>package-info.java</code> class, like so:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// RDF namespaces used in this package</jc>
 	<ja>@RdfSchema</ja>(
 		prefix=<js>"ab"</js>,
@@ -8232,7 +8032,7 @@
 			<p>
 				Now when we rerun the sample code, we'll get the following:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;rdf:RDF</xt>
 	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
 	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8251,7 +8051,7 @@
 				<br>In high-performance environments, you may want to consider disabling auto-detection and providing an 
 				explicit list of namespaces to the serializer to avoid this scanning step.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer, but manually specify the namespaces.</jc>
 	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
@@ -8281,7 +8081,7 @@
 				identifier for this bean.
 				<br>The second un-annotated property is interpreted as a reference to another resource.
 			</p>
-			<p class='bcode'>	
+			<p class='bcode w800'>	
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
@@ -8304,7 +8104,7 @@
 			<p>
 				We alter our code to pass in values for these new properties.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create our bean.</jc>
 	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
 		<js>"http://sample/addressBook"</js>);
@@ -8312,7 +8112,7 @@
 			<p>
 				Now when we run the sample code, we get the following:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;rdf:RDF</xt>
 	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
 	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8334,7 +8134,7 @@
 				The following properties would have produced the same output as before.  
 				Note that the <ja>@URI</ja> annotation is only needed on the second property.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> Person {
 		
 		<jc>// Bean properties</jc>
@@ -8356,7 +8156,7 @@
 			<p>
 				The following code produces the same output as before, but the URIs on the beans are relative.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer with readable output.</jc>
 	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
@@ -8400,7 +8200,7 @@
 			<p>
 				To enable, set the <jsf>RDF_addRootProperty</jsf> property to <jk>true</jk> on the serializer:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer.</jc>
 	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
@@ -8411,7 +8211,7 @@
 			<p>
 				Now when we rerun the sample code, we'll see the added <code>root</code> attribute on the root resource.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;rdf:RDF</xt>
 	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
 	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8455,7 +8255,7 @@
 			<p>
 				To enable, set the <jsf>RDF_addLiteralTypes</jsf> property to <jk>true</jk> on the serializer:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a new serializer (revert back to namespace autodetection).</jc>
 	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
 		.xmlabbrev()
@@ -8466,7 +8266,7 @@
 			<p>
 				Now when we rerun the sample code, we'll see the added <code>root</code> attribute on the root resource.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<xt>&lt;rdf:RDF</xt>
 	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
 	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8507,7 +8307,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-dto<xt>&lt;/artifactId&gt;</xt>
@@ -8516,12 +8316,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-dto-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.dto_7.1.0.jar 
 	</p>	
 
@@ -8546,7 +8346,7 @@
 		<p>
 			The following examples show how to create HTML tables.
 		</p>
-		<table class='styled' style='width:auto'>
+		<table class='styled w800'>
 			<tr>
 				<th>Java code</th>
 				<th>HTML</th>
@@ -8660,7 +8460,7 @@
 			<br>The following code shows a feed being created programmatically using the 
 			{@link org.apache.juneau.dto.atom.AtomBuilder} class.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>import static</jk> org.apache.juneau.dto.atom.AtomBuilder.*;
 	
 	Feed feed = 
@@ -8700,7 +8500,7 @@
 		</p>
 		
 		<h5 class='figure'>Example with no namespaces</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a serializer with readable output, no namespaces yet.</jc>
 	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
 
@@ -8709,7 +8509,7 @@
 		</p>
 		
 		<h5 class='figure'>Results</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;feed&gt;</xt>
 		<xt>&lt;id&gt;</xt>
 			tag:juneau.apache.org
@@ -8801,7 +8601,7 @@
 			The following is an example Swagger document from the 
 			<a href="http://petstore.swagger.io/">Swagger website</a>.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	{
 		<jf>"swagger"</jf>: <js>"2.0"</js>,
 		<jf>"info"</jf>: {
@@ -8870,7 +8670,7 @@
 		<p>
 			This document can be generated by the following Java code:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>static import</jk> org.apache.juneau.dto.swagger.SwaggerBuilder.*;
 
 	Swagger swagger = <jsm>swagger</jsm>()
@@ -8921,7 +8721,7 @@
 			Methods that take in beans and collections of beans can also take in JSON representations
 			of those objects.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Pass in a JSON object representation of an Info object.</jc>
 	swagger.info(<js>"{title:'Swagger Petstore',...}"</js>);
 		</p>
@@ -8931,7 +8731,7 @@
 			<br>These methods can also be used to set and retrieve non-Swagger attributes such as 
 			<js>"$ref"</js> (which is not a part of the Swagger spec, but is part of the JSON Schema spec).
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Set a non-standard attribute.</jc>
 	swagger.set(<js>"$ref"</js>, <js>"http://foo.com"</js>);
 	
@@ -8941,7 +8741,7 @@
 		<p>
 			Swagger docs can be parsed back into Swagger beans using the following code:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Swagger swagger = JsonParser.<jsf>DEFAULT</jsf>.parse(swaggerJson, Swagger.<jk>class</jk>);
 		</p>
 	</div>
@@ -8954,7 +8754,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-svl<xt>&lt;/artifactId&gt;</xt>
@@ -8963,12 +8763,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-svl-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.svl_7.1.0.jar 
 	</p>	
 
@@ -9007,14 +8807,14 @@
 	 		<li class='jc'>{@link org.apache.juneau.svl.vars.LowerCaseVar} - <code>$LC{arg}</code>
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Use the default variable resolver to resolve a string that contains $S (system property) variables</jc>
 	String myProperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is $S{java.home}"</js>);
 		</p>
 		<p>
 			The following shows how variables can be arbitrarily nested...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Look up a property in the following order:
 	// 1) MYPROPERTY environment variable.
 	// 2) 'my.property' system property if environment variable not found.
@@ -9034,7 +8834,7 @@
 		<p>
 			The following is an example of a variable that performs URL-Encoding on strings.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// First create our var.</jc>
 	<jk>public class</jk> UrlEncodeVar <jk>extends</jk> SimpleVar {
 		
@@ -9080,7 +8880,7 @@
 		<p>
 			The following is the list of default variables defined in all modules:
 		</p>
-		<table class='styled' style='min-width:800px;width:50%'>
+		<table class='styled w800'>
 			<tr>
 				<th>Module</th><th>Class</th><th>Pattern</th>
 			</tr>
@@ -9247,7 +9047,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a resolver that copies the default resolver and adds $C and $A vars.</jc>
 	VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>
 		.builder()
@@ -9284,7 +9084,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-config<xt>&lt;/artifactId&gt;</xt>
@@ -9293,12 +9093,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-config-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.config_7.1.0.jar 
 	</p>	
 
@@ -9310,7 +9110,7 @@
 			The <code>juneau-config</code> library contains a powerful API for creating and using INI-style config files.
 		</p>
 		<h5 class='figure'>Example configuration file:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc># A set of entries</cc>
 	<cs>[Section1]</cs>
 
@@ -9331,7 +9131,7 @@
 			are created through the {@link org.apache.juneau.config.ConfigBuilder} class.
 			<br>Builder creator methods are provided on the <code>Config</code> class:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a Config object</jc>
 	Config c = Config.<jsm>create</jsm>().name(<js>"MyConfig.cfg"</js>).build();
 	
@@ -9341,7 +9141,7 @@
 		<p>
 			Once instantiated, reading values from the config are simple:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Read values from section #1</jc>
 	<jk>int</jk> key1 = c.getInt(<js>"Section1/key1"</js>);
 	<jk>boolean</jk> key2 = c.getBoolean(<js>"Section1/key2"</js>);
@@ -9390,7 +9190,7 @@
 			<ul class='spaced-list'>
 				<li>
 					Each config file contains zero or more sections containing zero or more entries:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cs>[Section1]</cs>
 	<ck>key1</ck> = <cv>1</cv>
 
@@ -9399,12 +9199,12 @@
 					</p>
 				<li>
 					Unicode escapes can be used in values.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ck>key1</ck> = <cv>\u0070\u0075\u0062\u006c\u0069\u0063</cv>
 					</p>
 				<li>
 					Comment lines start with the <js>'#'</js> character and can be placed on lines before sections and entries:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc># A comment about this section</cc>
 	<cs>[Section1]</cs>
 	
@@ -9413,19 +9213,19 @@
 					</p>
 				<li>
 					Comments can also be placed on the same line as entries:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ck>key1</ck> = <cv>1</cv>  <cc># A comment about this entry</cc>
 					</p>
 				<li>
 					Values containing <js>'#'</js> must be escaped to prevent identification as a comment character:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ck>valueContainingPound</ck> = <cv>Value containing \u0023 character</cv>
 					</p>
 					<br>Likewise, <js>'\'</js> should be escaped to prevent confusion with unicode escapes.
 				<li>
 					Values containing newlines can span multiple lines.
 					<br>Subsequent lines start with a tab character.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ck>multiLineValue</ck> = 
 		<cv>line 1,</cv>
 		<cv>line 2,</cv>
@@ -9438,7 +9238,7 @@
 					Whitespace is not ignored within multi-line values (except for the leading tab character on each line).
 				<li>
 					Blank lines can be used anywhere in the file.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc># A comment line</cc>
 	
 	<cc># Another comment line</cc>
@@ -9448,7 +9248,7 @@
 				<li>
 					Values located before any sections are considered part of the no-name section, meaning
 					they are accessed simply by key and not section/key.
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc># Top of file</cc>
 	
 	<cc># Use config.getString("key1") to retrieve.</cc>
@@ -9463,7 +9263,7 @@
 				<li>
 					Section and key names must be at least one character long and not consist of any of the following
 					characters:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	/ \ [ ] = #
 					</p>
 				<li>
@@ -9487,7 +9287,7 @@
 			<p>
 				The most common case for configuration values are primitives.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># A string</cc>
 	<ck>key1</ck> = <cv>foo</cv>
 
@@ -9527,14 +9327,14 @@
 			<p>
 				On integers and longs, <js>"K"</js>, <js>"M"</js>, and <js>"G"</js> can be used to identify kilo, mega, and giga.
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = <cv>100K</cv>  <cc># Same as 1024000</cc>
 	<ck>key2</ck> = <cv>100M</cv>  <cc># Same as 104857600</cc>
 			</p>
 			<p>
 				Numbers can also use hexadecimal and octal notation:
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>hex1</ck> = <cv>0x12FE</cv>
 	<ck>hex2</ck> = <cv>0X12FE</cv>
 	<ck>octal1</ck> = <cv>01234</cv>
@@ -9542,14 +9342,14 @@
 			<p>
 				Strings with newlines get broken into separate lines:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = <cv>This is a particularly long sentence that we want to split</cv>
 		<cv>onto separate lines</cv>.
 			</p>
 			<p>
 				Typically, multi-line values are started on the next line for clarity like so:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = 
 		<cv>This is a particularly long sentence that we want to split</cv>
 		<cv>onto separate lines</cv>.
@@ -9583,18 +9383,18 @@
 				An example of an object convertible from a String was already shown in an example above.
 				<br>In that case, it was a URL which has a public constructor that takes in a String:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># A POJO</cc>
 	<ck>key4</ck> = <cv>http://bar</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Read values from section #1</jc>
 	URL key4 = c.getObject(<js>"Section1/key4"</js>, URL.<jk>class</jk>);
 			</p>
 			<p>
 				Beans are represented as {@link org.apache.juneau.json.JsonSerializer#DEFAULT_LAX Lax JSON} by default:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Contact information</jc>
 	<cs>[ContactInfo]</cs>
 	<ck>address</ck> = 
@@ -9605,7 +9405,7 @@
 			zip: 12345
 		}</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Example bean</jc>
 	<jk>public class</jk> Address {
 		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
@@ -9660,34 +9460,34 @@
 			</ul>
 			<p>
 				The <code>getStringArray()</code> methods allow you to retrieve comma-delimited lists of values:
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = <cv>foo, bar, baz</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	String[] key1 = c.getStringArray(<js>"key1"</js>);
 			</p>
 			<p>
 				String arrays can also be represented in JSON when using the <code>getObject()</code> methods:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = <cv>['foo','bar','baz']</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	String[] key1 = c.getObject(<js>"key1"</js>, String.<jk>class</jk>);
 			</p>
 			<p>
 				Primitive arrays can also be retrieved using the <code>getObject()</code> methods:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = <cv>[1,2,3]</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>int</jk>[] key1 = c.getObject(<js>"key1"</js>, <jk>int</jk>[].<jk>class</jk>);
 			</p>
 			<p>
 				Arrays of POJOs can also be retrieved using the <code>getObject()</code> methods:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>addresses</ck> = 
 		<cv>[
 			{
@@ -9704,7 +9504,7 @@
 			}
 		]</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	Address[] addresses = c.getObject(<js>"addresses"</js>, Address[].<jk>class</jk>);
 			</p>
 		</div>
@@ -9751,7 +9551,7 @@
 					<br>Produces: <code>LinkedHashMap&lt;Integer,ArrayList&lt;MyBean[]&gt;&gt;</code> 
 			</ul>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>addresses</ck> = 
 		<cv>[
 			{
@@ -9768,14 +9568,14 @@
 			}
 		]</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	List&lt;Address&gt; addresses = c.getObject(<js>"addresses"</js>, ArrayList.<jk>class</jk>, Address.<jk>class</jk>);
 			</p>
 			<p>
 				Oftentimes, it might be useful to parse into the {@link org.apache.juneau.ObjectList} and {@link org.apache.juneau.ObjectMap}
 				classes that provide the various convenience methods for working with JSON-like data structures:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	ObjectMap m = c.getObject(<js>"key1"</js>, ObjectMap.<jk>class</jk>);
 	ObjectList l = c.getObject(<js>"key2"</js>, ObjectList.<jk>class</jk>);
 			</p>
@@ -9815,16 +9615,16 @@
 			<p>
 				For example:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key</ck> = <cv>Zm9vYmFycw==</cv>
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>byte</jk>[] bytes = c.getBytes(<js>"key"</js>);
 			</p>
 			<p>
 				Binary lines can be split up into separate lines for readability:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key</ck> = 
 		<cv>Zm9vYm
 		Fycw==</cv>
@@ -9847,7 +9647,7 @@
 			Config files can contain variables that get resolved dynamically using the previously-described {@link org.apache.juneau.svl.VarResolver} API.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#--------------------------</cc>
 	<cc># My section</cc>
 	<cc>#--------------------------</cc>
@@ -9868,7 +9668,7 @@
 	<cc># A POJO with embedded variables</cc>
 	<ck>aBean</ck> = <cv>{foo:'$S{foo}',baz:$C{MySection/anInt}}</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Config c = Config.<jsf>create</jsf>().build();
 	
 	Locale locale = cf.getObject(<js>"MySection/locale"</js>, Locale.<jk>class</jk>); 
@@ -9917,7 +9717,7 @@
 			<p>
 				The <code>$IF</code> variable can be used for simple if/else logic:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># Value set to 'foo' if myBooleanProperty is true</cc>
 	<ck>key1</ck> = 
 		<cv>$IF{		
@@ -9944,7 +9744,7 @@
 			<p>
 				The <code>$SW</code> variable can be used for switch blocks based on pattern matching:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># Shell command depends on the OS</cc>
 	<ck>shellCommand</ck> = 
 		<cv>$SW{		
@@ -9957,7 +9757,7 @@
 			<p>
 				The <code>$CO</code> variable can be used for coalescing of values (finding the first non-null/empty match):
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># Debug flag can be enabled by system property or environment variable.</cc>
 	<ck>debug</ck> = 
 		<cv>$CO{		
@@ -9969,7 +9769,7 @@
 			<p>
 				The <code>$PM</code> variable can be used for calculating boolean values:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc># Debug flag can be enabled by system property or environment variable.</cc>
 	<ck>isWindows</ck> = 
 		<cv>$PM{		
@@ -9993,7 +9793,7 @@
 		<p>
 			For example, the following password is marked for encoding:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cs>[MyHost]</cs>
 	<ck>url</ck> = <cv>http://localhost:9080/foo</cv>
 	<ck>user</ck> = <cv>me</cv>
@@ -10038,7 +9838,7 @@
 			{@link org.apache.juneau.config.Config#getSectionAsMap(String)}.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example config file</jc>
 	<cs>[MyAddress]</cs>
 	<ck>street</ck> = <cv>123 Main Street</cv>
@@ -10046,7 +9846,7 @@
 	<ck>state</ck> = <cv>NY</cv>
 	<ck>zip</ck> = <cv>12345</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example usage</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
 	
@@ -10071,7 +9871,7 @@
 			{@link org.apache.juneau.config.Config#getSectionAsBean(String,Class,boolean)}.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example config file</jc>
 	<cs>[MyAddress]</cs>
 	<ck>street</ck> = <cv>123 Main Street</cv>
@@ -10079,7 +9879,7 @@
 	<ck>state</ck> = <cv>NY</cv>
 	<ck>zip</ck> = <cv>12345</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example bean</jc>
 	<jk>public class</jk> Address {
 		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
@@ -10109,7 +9909,7 @@
 			call, section interfaces can also be use to set values in the underlying configuration.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example config file</jc>
 	<cs>[MySection]</cs>
 	<ck>string</ck> = <cv>foo</cv>
@@ -10119,7 +9919,7 @@
 	<ck>int3dArray</ck> = <cv>[[[123,null],null],null]</cv>
 	<ck>bean1d3dListMap</ck> = <cv>{key:[[[[{foo:'bar',baz:123}]]]]}</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example interface.</jc>
 	<jc>// Setters are optional.</jc>
 	<jk>public interface</jk> MyConfigInterface {
@@ -10179,7 +9979,7 @@
 				<li class='jm'>{@link org.apache.juneau.config.Config#removeSection(String) removeSection(String)}
 			</ul>
 		</ul>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Construct the sample config file programmatically</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build()
 		.set(<js>"key1"</js>, 1)
@@ -10196,7 +9996,7 @@
 			The method {@link org.apache.juneau.config.Config#set(String,Object,Serializer,ConfigMod[],String,List)} can be used
 			for adding comments and pre-lines to entries, and specifying encoded values.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Set an encoded value with some comments.</jc>
 	c.set(<js>"key1"</js>, 1, <jk>null</jk>, ConfigMod.<jsf>ENCODED</jsf>, <js>"Same-line comment"</js>, 
 		Arrays.asList(
@@ -10204,7 +10004,7 @@
 		)
 	);
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc># Comment 1</cc>
 	
 	<cc># Comment 2</cc>
@@ -10219,7 +10019,7 @@
 		<p>
 			Sections can be added with optional pre-lines using the <code>setSection</code> methods:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Set an encoded value with some comments.</jc>
 	c.setSection(<js>"NewSection"</js>, 
 		Arrays.asList(
@@ -10227,7 +10027,7 @@
 		)
 	);
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc># Section comment 1</cc>
 	
 	<cc># Section comment 2</cc>
@@ -10278,11 +10078,11 @@
 				Setter methods that take in a <code>Serializer</code> can be used to provide custom serialization of entries
 				instead of using the predefined serializer.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Set an XML value instead of JSON.</jc>
 	c.set(<js>"key1"</js>, myAddress, XmlSerializer.<jsf>DEFAULT_SQ_READABLE</jsf>);
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>key1</ck> = 
 		<cv>&lt;address&gt;	
 			&lt;street&gt;123 Main Street&lt;/street&gt;
@@ -10294,7 +10094,7 @@
 			<p>
 				The value can then be retrieved using the equivalent parser:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	Address myAddress = c.getObject(<js>"key1"</js>, XmlParser.<jsf>DEFAULT</jsf>, Address.<jk>class</jk>);			
 			</p>
 		</div>
@@ -10369,7 +10169,7 @@
 		<p>
 			In both cases, the listener is triggered after the changes have been committed.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>final</jk> Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
 	
 	<jc>// Add a listener for changes to MySection/key1</jc>
@@ -10443,7 +10243,7 @@
 		<p>
 			Read is self-explanatory:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public</jk> String read(String name) {
 		<jc>// Return the contents of the specified configuration.</jc>
 	}
@@ -10451,7 +10251,7 @@
 		<p>
 			Write is slightly trickier:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public</jk> String write(String name, String oldContents, String newContents) {
 	
 		<jc>// If the old contents match the current stored contents, the new contents will get stored, 
@@ -10466,7 +10266,7 @@
 		<p>
 			The update method is called whenever the stored file gets modified externally:
 		</p>		
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public</jk> String update(String name, String newContents) {
 		<jc>// Do something with the updated contents.</jc>
 	}
@@ -10486,7 +10286,7 @@
 		</ul>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a config with in-memory storage.</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).store(ConfigMemoryStore.<jsf>DEFAULT</jsf>).build();
 		<p>
@@ -10507,7 +10307,7 @@
 			<p>
 				However, the implementation provides a good idea on how stores work (especially the write method):
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> ConfigMemoryStore <jk>extends</jk> ConfigStore {
 	
 		<jc>// Some methods ommitted.</jc>
@@ -10569,7 +10369,7 @@
 			</ul>
 			
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a config store with a watcher thread and high sensitivity.</jc>
 	ConfigFileStore fs = ConfigFileStore.<jsm>create</jsm>().directory(<js>"configs"</js>).useWatcher().watcherSensitivity(<jsf>HIGH</jsf>).build();
 	
@@ -10591,7 +10391,7 @@
 				<br>Completing it is left as an exercise:
 			</p>
 			<h5 class='figure'>Example Store Class:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> ConfigSqlStore <jk>extends</jk> ConfigStore {
 
 		<jc>// Configurable properties</jc>
@@ -10699,7 +10499,7 @@
 				that's passed to the <code>ConfigStore</code>:
 			</p>
 			<h5 class='figure'>Example Builder Class:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> ConfigSqlStoreBuilder <jk>extends</jk> ConfigStoreBuilder {
 
 		<jk>public</jk> ConfigSqlStoreBuilder() {
@@ -10784,7 +10584,7 @@
 			<li class='jf'>{@link org.apache.juneau.config.Config#CONFIG_readOnly}
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a read-only config</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).readOnly().build();
 		</p>
@@ -10802,7 +10602,7 @@
 			their listeners get unregistered from the underlying storage APIs.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a transient config.</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
 	
@@ -10821,7 +10621,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-rest-server<xt>&lt;/artifactId&gt;</xt>
@@ -10830,12 +10630,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-rest-server-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.rest.server_7.1.0.jar 
 		</p>	
 
@@ -10945,7 +10745,7 @@
 		<p>
 			Like any servlet, we could define our resource in the <l>web.xml</l> file of the web application like so...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;?xml</xt> <xa>version</xa>=<xs>"1.0"</xs> <xa>encoding</xa>=<xs>"UTF-8"</xs><xt>?&gt;</xt>
 	<xt>&lt;web-app</xt> <xa>version</xa>=<xs>"2.3"</xs><xt>&gt;</xt>
 		<xt>&lt;servlet&gt;</xt>
@@ -10961,7 +10761,7 @@
 		<p>
 			Our servlet code is shown below:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Sample REST resource that prints out a simple "Hello world!" message.</jc>
 	<ja>@RestResource</ja>(
 		path=<js>"/helloWorld"</js>,
@@ -10991,10 +10791,10 @@
 		<p>
 			This is what it looks like in a browser:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld
 		</p>
-		<img class='bordered' src='doc-files/juneau-rest-server.HelloWorldExample.1.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-rest-server.HelloWorldExample.1.png'>
 		<p>
 			It doesn't much simpler than that.  
 			<br>In this case, we're simply returning a string that will be converted to any of the supported languages (e.g. 
@@ -11132,7 +10932,7 @@
 				<br>You should notice that very little code is being used and everything is configurable through
 				annotations:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		serializers={
 			HtmlDocSerializer.<jk>class</jk>,
@@ -11224,7 +11024,7 @@
 				{@link org.apache.juneau.rest.annotation.RestResource#children() @RestResource.children()} annotation.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Parent Resource */</jd>
 	<ja>@RestResource</ja>(
 		path=<js>"/parent"</js>,
@@ -11232,7 +11032,7 @@
 	)
 	<jk>public</jk> MyResource <jk>extends</jk> BasicRestServlet {...}
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Child Resource */</jd>
  	<ja>@RestResource</ja>(
 		path=<js>"/foo"</js>  <jc>// Path relative to parent resource.</jc>
@@ -11266,7 +11066,7 @@
 			<p>
 				The <l>RootResources</l> class in the Samples project is an example of a router page:
 			</p>
-			<p class='bcode'>		
+			<p class='bcode w800'>		
 	<jd>/**
 	 * Sample REST resource showing how to implement a "router" resource page.
 	 */</jd>
@@ -11303,17 +11103,17 @@
 				When you bring up this resource in a browser, you see the following that provides a list
 				of navigable links to your child resources:
 			</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000
 		</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RouterPages.1.png" style='width:800px;'/>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RouterPages.1.png'/>
 			<p> 
 				The {@link org.apache.juneau.rest.BasicRestServletGroup} class is nothing more than a subclass of 
 				{@link org.apache.juneau.rest.BasicRestServlet} with a <l>getChildren()</l> method mapped to the servlet 
 				root path.
 				<br>The method returns a POJO with is just a linked-list of beans with name/description properties.
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// The entire contents of the BasicRestServletGroup class.</jc>
 	
 	<jk>public class</jk> BasicRestServletGroup <jk>extends</jk> BasicRestServlet {
@@ -11370,7 +11170,7 @@
 			<p>
 				For example, if you want to add an initialization method to your resource:
 			</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(...)
 	<jk>public class</jk> MyResource  {
 
@@ -11386,7 +11186,7 @@
 			<p>
 				Or if you want to intercept REST calls:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(...)
 	<jk>public class</jk> MyResource {
 
@@ -11448,7 +11248,7 @@
 				resource classes that can be extended by all your child resources so that they all share common
 				settings.
 			</p>
-			<table class='styled' style='max-width: 800px;'>
+			<table class='styled w800'>
 				<tr>
 					<th><l>Annotation</l></th>
 					<th><l>Inheritence Rules</l></th>
@@ -11602,7 +11402,7 @@
 		<p>
 			To access this object, simply pass it in as a constructor argument or in an INIT hook:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Option #1 - Pass in through constructor.</jc>
 	<jk>public</jk> MyResource(RestContextBuilder builder) {
 			builder
@@ -11635,7 +11435,7 @@
 			<br>The annotation allows the framework to identify the available REST methods through reflection.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/"</js>)
 	<jk>public</jk> String sayHello() {
 		<jk>return</jk> <js>"Hello world!"</js>;
@@ -11744,7 +11544,7 @@
 					</ul>
 			</ul>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/example1/{a1}/{a2}/{a3}/*"</js>)
 	<jk>public</jk> String doGetExample1(
 		RestRequest req,
@@ -11786,7 +11586,7 @@
 				with various built-in convenience methods for use in building REST interfaces.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RestRequest req) {...}			
 			</p>
@@ -11822,7 +11622,7 @@
 				with various built-in convenience methods for use in building REST interfaces.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RestResponse req) {...}			
 			</p>
@@ -11848,12 +11648,12 @@
 				The {@link org.apache.juneau.rest.RequestBody} object is the API for accessing the body of an HTTP request.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestBody body) {...}			
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public void</jk> doPost(RequestBody body) {
 		<jc>// Convert body to a linked list of Person objects.</jc>
@@ -11886,12 +11686,12 @@
 				The {@link org.apache.juneau.rest.RequestHeaders} object is the API for accessing the headers of an HTTP request.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestHeaders headers) {...}			
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestHeaders headers) {
 
@@ -11929,12 +11729,12 @@
 				The {@link org.apache.juneau.rest.RequestQuery} object is the API for accessing the GET query parameters of an HTTP request.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestQuery query) {...}			
 				</p>
 				<h5 class='figure'>Example:</h5>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestQuery query) {
 
@@ -11976,12 +11776,12 @@
 				The {@link org.apache.juneau.rest.RequestFormData} object is the API for accessing the HTTP request body as form data.
 				<br>It can be accessed by passing it as a parameter on your REST Java method:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestFormData query) {...}			
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestFormData formData) {
 
@@ -12025,7 +11825,7 @@
 				<br>Note how the variables are passed in as additional arguments on the method, and how those arguments are 
 				automatically converted to the specified class type...
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Default method</jc>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
 	<jk>public void</jk> doGetDefault() {
@@ -12048,7 +11848,7 @@
 				By default, path patterns are matched using a best-match heuristic. 
 				<br>When overlaps occur, URLs are matched from most-specific to most-general order:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Try first </jc>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/foo/bar"</js>)
 	<jk>public void</jk> method1() {
@@ -12090,7 +11890,7 @@
 			<p>
 				The following example shows the distinction.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
 	<jk>public void</jk> doGet(<ja>@PathRemainder</ja> String remainder) {
 		<jc>// URL path pattern can have remainder accessible through req.getRemainder().</jc>
@@ -12105,7 +11905,7 @@
 				Annotations are provided for easy access to URL parameters with automatic conversion to any <a class='doclink' href='#juneau-marshall.PojoCategories'>parsable</a> type.
 				<br>For example, the following example can process the URL <l>"/urlWithParams?foo=foo&amp;bar=[1,2,3]&amp;baz=067e6162-3b6f-4ae2-a171-2470b63dff00"</l>...
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Example GET request with access to query parameters</jc>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/urlWithParams"</js>)
 	<jk>public</jk> String doGetWithParams(<ja>@Query</ja>(<js>"foo"</js>) String foo, <ja>@Query</ja>(<js>"bar"</js>) <jk>int</jk> bar, <ja>@Query</ja>(<js>"baz"</js>) UUID baz) <jk>throws</jk> Exception {
@@ -12129,12 +11929,12 @@
 				The {@link org.apache.juneau.rest.RequestPathMatch} object is the API for accessing the matched variables
 				and remainder on the URL path.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object myMethod(RequestPathMatch path) {...}			
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(..., path=<js>"/{foo}/{bar}/{baz}/*"</js>)
 	<jk>public void</jk> doGet(RequestPathMatch path) {
 		<jc>// Example URL:  /123/qux/true/quux</jc>
@@ -12171,7 +11971,7 @@
 				setting the output using the {@link org.apache.juneau.rest.RestResponse#setOutput(Object)} method.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public</jk> String doGet() {
 		<jk>return</jk> <js>"Hello World!"</js>;
@@ -12230,7 +12030,7 @@
 					{@link org.apache.juneau.rest.RestResponse#getNegotiatedWriter()} and writing the output yourself.
 			</ul>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Equivalent method 1</jc>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/example1/{personId}"</js>)
 	<jk>public</jk> Person doGet1(<ja>@Path</ja> UUID personId) {
@@ -12278,7 +12078,7 @@
 				<br>This allows these objects to be returned as responses by REST methods.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object sayHello(RestRequest req) {
 	
@@ -12319,7 +12119,7 @@
 				<br>This allows these objects to be returned as responses by REST methods.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Object showPicture(RestRequest req) {
 	
@@ -12359,7 +12159,7 @@
 				The following example shows the difference between handling redirects via <l>RestResponse</l> and the simplified approach of using this class.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Redirect to "/contextPath/servletPath/foobar"</jc>
 
 	<jc>// Using RestRequest/RestResponse</jc>
@@ -12378,7 +12178,7 @@
 				The constructor can use a <l>MessageFormat</l>-style pattern with multiple arguments.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(...)
 	<jk>public</jk> Redirect redirectExample3() {
 		<jk>return new</jk> Redirect(<js>"foo/{0}/bar/{1}"</js>, id1, id2);
@@ -12390,7 +12190,7 @@
 			<p>
 				Redirecting to the servlet root can be accomplished by simply using the no-arg constructor.
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Simply redirect to the servlet root.
 	// Equivalent to res.sendRedirect(req.getServletURI()).</jc>
 	<ja>@RestMethod</ja>(...)
@@ -12410,7 +12210,7 @@
 				header value.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// GET method that gets invoked for administrators</jc>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>, matchers=IsAdminMatcher.<jk>class</jk>)
 	<jk>public</jk> Object doGetForAdmin() {
@@ -12426,7 +12226,7 @@
 			<p>
 				The interface for matchers is simple:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> IsAdminMatcher <jk>extends</jk> RestMatcher {
 
 		<ja>@Override</ja> <jc>/* RestMatcher */</jc>
@@ -12470,7 +12270,7 @@
 			The {@link org.apache.juneau.rest.annotation.Body @Body} annotation provides easy access to the HTTP body content as any <a class='doclink' href='#juneau-marshall.PojoCategories'>parsable</a> POJO type
 			<br>In the example below, we're POSTing beans.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Example POST of a bean</jc>
 	<ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/"</js>)
 	<jk>public void</jk> doPost(<ja>@Body</ja> Person person) <jk>throws</jk> Exception {
@@ -12482,7 +12282,7 @@
 			{@link org.apache.juneau.rest.RestRequest#getBody()} method, or a parameter annotated with 
 			{@link org.apache.juneau.rest.annotation.Body @Body}.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Equivalent method 1</jc>
 	<ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/example1"</js>)
 	<jk>public void</jk> doPost1(<ja>@Body</ja> Person p) {
@@ -12517,7 +12317,7 @@
 				form <l>"aString=foo&amp;aNumber=123&amp;aDate=2001-07-04T15:30:45Z"</l>.
 				<br>The code is shown here:
 			</p>
-			<p class='bcode'>				
+			<p class='bcode w800'>				
 	<ja>@RestResource</ja>(
 		path=<js>"/urlEncodedForm"</js>
 	)
@@ -12541,7 +12341,7 @@
 			<p>
 				Another possibility is to access the form parameters individually:	
 			</p>	
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** POST request handler */</jd>
 	<ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/"</js>)
 	<jk>public</jk> Object doPost(<ja>@FormData</ja>(<js>"aString"</js>) String aString, <ja>@FormData</ja>(<js>"aNumber"</js>) <jk>int</jk> aNumber, <ja>@FormData</ja>(<js>"aDate"</js>) Calendar aDate) <jk>throws</jk> Exception {
@@ -12577,7 +12377,7 @@
 				be uploaded as multipart form posts.
 			</p>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/tempDir"</js>
 	)
@@ -12622,7 +12422,7 @@
 			The {@link org.apache.juneau.rest.annotation.FormData @FormData} annotation is used to retrieve request form post entries.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>	
+		<p class='bcode w800'>	
 	<ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
 	<jk>public void</jk> doPost(RestRequest req, RestResponse res,
 		<ja>@FormData</ja>(<js>"p1"</js>) <jk>int</jk> p1, 
@@ -12632,7 +12432,7 @@
 		<p>
 			This is functionally equivalent to the following code:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
 	<jk>public void</jk> doPost(RestRequest req, RestResponse res) {
 		RequestFormData fd = req.getFormData();
@@ -12677,7 +12477,7 @@
 			{@link org.apache.juneau.rest.RestRequest#getBody()} method for <code>application/x-www-form-urlencoded POST</code> calls.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public void</jk> doGet(RestRequest req, RestResponse res,
 		<ja>@Query</ja>(<js>"p1"</js>) <jk>int</jk> p1, 
@@ -12687,7 +12487,7 @@
 			<p>
 				This is functionally equivalent to the following code:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public void</jk> doGet(RestRequest req, RestResponse res) {
 		RequestQuery q = req.getQuery();
@@ -12717,14 +12517,14 @@
 			The {@link org.apache.juneau.rest.annotation.Header @Header} annotation is used to retrieve request headers.
 		</p>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public void</jk> doGet(RestRequest req, RestResponse res, <ja>@Header</ja>(<js>"ETag"</js>) UUID etag) {...}
 		</p>
 		<p>
 			This is functionally equivalent to the following code:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public void</jk> doPostPerson(RestRequest req, RestResponse res) {
 		RequestHeaders h = req.getHeaders();
@@ -12772,7 +12572,7 @@
 		<p>
 			The following are all equivalent ways of defining serializers used by a resource:
 		</p> 		
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Option #1 - Defined via annotation.</jc>
 	<ja>@RestResource</ja>(serializers={JsonSerializer.<jk>class</jk>, XmlSerializer.<jk>class</jk>})
 	<jk>public class</jk> MyResource {
@@ -12840,7 +12640,7 @@
 		<p>
 			The following are all equivalent ways of defining parsers used by a resource:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Option #1 - Defined via annotation.</jc>
 	<ja>@RestResource</ja>(parsers={JsonParser.<jk>class</jk>, XmlParser.<jk>class</jk>})
 	<jk>public class</jk> MyResource {
@@ -12893,7 +12693,7 @@
 			<li class='jc'>{@link org.apache.juneau.rest.RestContextBuilder} - Various methods on the context builder.
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>import static</jk> org.apache.juneau.BeanContext.*;
 	<jk>import static</jk> org.apache.juneau.serializer.Serializer.*;
 	<jk>import static</jk> org.apache.juneau.json.JsonSerializer.*;
@@ -12916,7 +12716,7 @@
 		<p>
 			The programmatic equivalent to this is:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with properties applied</jc>
 	<ja>@RestResource</ja>(...)
 	<jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -12937,7 +12737,7 @@
 			<li class='ja'>{@link org.apache.juneau.rest.annotation.RestMethod#properties()} 
 			<li class='jc'>{@link org.apache.juneau.rest.RequestProperties} 
 		</ul>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// GET method with method-level properties</jc>
 	<ja>@RestMethod</ja>(
 		name=<jsf>GET</jsf>, path=<js>"/*"</js>,
@@ -12958,7 +12758,7 @@
 		<p>
 			Using the {@link org.apache.juneau.rest.RequestProperties} object:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Access it from RestRequest.</jc>
 	<jk>public</jk> Object doGet(RestRequest req) {
 		RequestProperties properties = req.getProperties();
@@ -13013,7 +12813,7 @@
 			<li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#beanFilters(Object...)} 
 			<li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#pojoSwaps(Object...)} 
 		</ul>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with transforms applied</jc>
 	<ja>@RestResource</ja>(
 		pojoSwaps={
@@ -13033,7 +12833,7 @@
 		<p>
 			The programmatic equivalent to this is:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with properties applied</jc>
 	<ja>@RestResource</ja>(...)
 	<jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13066,7 +12866,7 @@
 			<li class='ja'>{@link org.apache.juneau.rest.annotation.RestMethod#guards()} 
 			<li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#guards(Class...)} 
 		</ul>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Define a guard that only lets Billy make a request</jc>
 	<jk>public</jk> BillyGuard <jk>extends</jk> RestGuard {
 
@@ -13088,12 +12888,12 @@
 		<p>
 			A common use for guards is to only allow admin access to certain Java methods...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// DELETE method</jc>
 	<ja>@RestMethod</ja>(name=<jsf>DELETE</jsf>, guards={AdminGuard.<jk>class</jk>})
 	<jk>public void</jk> doDelete(RestRequest req, RestResponse res) <jk>throws</jk> Exception {...}
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> AdminGuard <jk>extends</jk> RestGuard {
 
 		<ja>@Override</ja> <jc>/* RestGuard */</jc>
@@ -13108,7 +12908,7 @@
 			{@link org.apache.juneau.rest.RestGuard#guard(RestRequest,RestResponse)} and processing the response 
 			yourself.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> AdminGuard <jk>extends</jk> RestGuard {
 
 		<ja>@Override</ja> <jc>/* RestGuard */</jc>
@@ -13146,7 +12946,7 @@
 			<li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#converters(Class...)} 
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Associate the Traversable converter to all Java REST methods in this servlet</jc>
 	<ja>@RestResource</ja>(converters=Traversable.<jk>class</jk>)
 	<jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13156,7 +12956,7 @@
 		<p>
 			They can also be defined at the method level:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// GET person request handler.</jc>
 	<jc>// Traversable conversion enabled to allow nodes in returned POJO tree to be addressed.</jc>
 	<jc>// Queryable conversion enabled to allow returned POJO to be searched/viewed/sorted.</jc>
@@ -13175,7 +12975,7 @@
 			<br>The converter uses the {@link org.apache.juneau.utils.PojoRest} wrapper class to address nodes in the 
 			tree.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/**
 	 * Converter for enablement of PojoRest support on response objects returned by a @RestMethod method.
 	 * When enabled, objects in a POJO tree returned by the REST method can be addressed through additional URL path information.
@@ -13242,7 +13042,7 @@
 		<p>
 			The {@link org.apache.juneau.rest.annotation.RestResource#messages @RestResource.messages()} annotation is used to associate a resource bundle with a servlet class.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with associated resource bundle</jc>
 	<ja>@RestResource</ja>(messages=<js>"nls/MyMessages"</js>)
 	<jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13257,7 +13057,7 @@
 			The resource bundle can also be passed into the method by simply specifying a parameter
 			of type {@link java.util.ResourceBundle} or {@link org.apache.juneau.utils.MessageBundle}:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
 	<jk>public</jk> String printLocalizedGreeting(MessageBundle messages) {
 		<jk>return</jk> messages.getString(<js>"greeting"</js>);
@@ -13267,13 +13067,13 @@
 			If a resource bundle is shared by multiple servlets, the label and description can be prefixed by the class 
 			name:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#--------------------------------------------------------------------------------
 	# Contents of MyMessages.properties
 	#--------------------------------------------------------------------------------</cc>
 	<ck>greeting</ck> = Hello!
 		</p>	 	
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#--------------------------------------------------------------------------------
 	# Contents of shared MyMessages.properties
 	#--------------------------------------------------------------------------------</cc>
@@ -13297,7 +13097,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with automated support for GZIP compression</jc>
 	<ja>@RestResource</ja>(encoders={GzipEncoder.<jk>class</jk>})
 	<jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13331,7 +13131,7 @@
 			In the previous examples, there were several cases where embedded variables were contained within
 			annotation values:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		title=<js>"$L{my.label}"</js>
     )
@@ -13358,7 +13158,7 @@
 			<li class='jm'>{@link org.apache.juneau.rest.RestContextBuilder#vars(Class[])}
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Defined a variable that simply wrapps all strings inside [] brackets.</jc>
 	<jc>// e.g. "$BRACKET{foobar}" -> "[foobar]"</jc>
 	<jk>public class</jk> BracketVar <jk>extends</jk> SimpleVar {
@@ -13406,7 +13206,7 @@
 		</p>
 		<a id='DefaultRestSvlVariables'></a>
 		<h5 class='figure'>Default REST SVL Variables:</h5>
-		<table class='styled' style='min-width:800px;width:50%'>
+		<table class='styled w800'>
 			<tr>
 				<th>Module</th><th>Class</th><th>Pattern</th><th>Initialization<br>time</th><th>Request<br>time</th>
 			</tr>
@@ -13585,7 +13385,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#--------------------------</cc>
 	<cc># Examples </cc>
 	<cc>#--------------------------</cc>
@@ -13597,7 +13397,7 @@
 		<p>
 			These properties are then accessible through the {@link org.apache.juneau.config.Config} class.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	Config c = Config.<jsm>create</jsm>(<js>"myconfig.cfg"</js>).build();
 	String path = c.getString(<js>"MyProperties/path"</js>);
 	File javaHome = c.getObject(<js>"MyProperties/javaHome"</js>, File.<jk>class</jk>);
@@ -13611,7 +13411,7 @@
 		</ul>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		<jc>// Config file is located at ./config_dir/myconfig.cfg</jc>
 		config=<js>"config_dir/myconfig.cfg"</js>,
@@ -13624,7 +13424,7 @@
 			<br>For example, the Microservice API {@link org.apache.juneau.rest.BasicRestServlet} class defines the 
 			location of the config file as a system property <l>"juneau.configFile"</l>:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		<jc>// Config file location is defined as a system property</jc>
 		config=<js>"$S{juneau.configFile}"</js>,
@@ -13639,7 +13439,7 @@
 		<p>
 			A common usage is to use this method to initialize fields in your servlet.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		<jc>// Config file is located at ./config_dir/myconfig.cfg</jc>
 		config=<js>"config_dir/myconfig.cfg"</js>,
@@ -13658,7 +13458,7 @@
 		<p>
 			Another common usage is to refer to config properties through <ck>$C</ck> variables in your annotations:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		<jc>// Get stylesheet from myconfig.cfg, but default to devops.css if it's not specified</jc>
 		htmldoc=<ja>@HtmlDoc</ja>(
@@ -13672,14 +13472,14 @@
 			It's even possible to reference request-level variables in your config file if you use 
 			{@link org.apache.juneau.rest.RestRequest#getConfig()} to access the config file:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#-------------------------------------</cc>
 	<cc># Contents of config_dir/myconfig.cfg </cc>
 	<cc>#-------------------------------------</cc>
 	<cs>[HelloWorldResource]</cs>
 	<ck>message</ck> = <cv>Hello $RQ{person}!</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	 * Sample REST resource that prints out a simple "Hello world!" message.
 	 */</jd>
@@ -13702,20 +13502,20 @@
 		<p>
 			You can even add resource bundles into the mix:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#-------------------------------------</cc>
 	<cc># Contents of config_dir/myconfig.cfg </cc>
 	<cc>#-------------------------------------</cc>
 	<cs>[HelloWorldResource]</cs>
 	<ck>message</ck> = <cv>$L{localizedMessage,$RQ{person}}</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#-------------------------------------------</cc>
 	<cc># Contents of HelloWorldResource.properties </cc>
 	<cc>#-------------------------------------------</cc>
 	<ck>localizedMessage</ck> = <cv>Hello {0}!</cv>
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	 * Sample REST resource that prints out a simple "Hello world!" message.
 	 */</jd>
@@ -13757,7 +13557,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>package</jk> com.foo.mypackage;
 
 	<ja>@RestResource</ja>(
@@ -13811,7 +13611,7 @@
 			<li class='ja'>{@link org.apache.juneau.rest.annotation.RestMethod#clientVersion()}
 		</ul>
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
 	<ja>@RestResource</ja>(clientVersionHeader=<js>"Client-Version"</js>)
 	<jk>public class</jk> MyResource {
@@ -13851,15 +13651,15 @@
 			
 		</p>
 		<h5 class='figure'>OPTIONS page for HelloWorld sample resource</h5>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld/?method=OPTIONS
 		</p>
-	 	<img class='bordered' src='doc-files/juneau-rest-server.OptionsPages.1.png' style='width:800px;'>
+	 	<img class='bordered w800' src='doc-files/juneau-rest-server.OptionsPages.1.png'>
 		<p>
 	 		The {@link org.apache.juneau.rest.BasicRestServlet} class implements the page by creating a method 
 	 		mapped to the <l>OPTIONS</l> HTTP method that simply returns a Swagger bean:
 		</p>
-	 	<p class='bcode'>
+	 	<p class='bcode w800'>
 	<ja>@RestResource</ja>(...)
 	<jk>public class</jk> BasicRestServlet <jk>extends</jk> RestServlet {
 
@@ -13986,14 +13786,14 @@
 				<li>
 					Specify localized JSON Swagger files on your classpath.
 					<br><h5 class='figure'>Example:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	MyResource_ja_JP.json
 					</p>
 				<li>
 					Use {@link org.apache.juneau.rest.annotation.ResourceSwagger @ResourceSwagger} and {@link org.apache.juneau.rest.annotation.MethodSwagger @MethodSwagger}
 					annotations on your resource classes and methods.
 					<br><h5 class='figure'>Example:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ja>@RestMethod</ja>(
 		swagger=<ja>@MethodSwagger</ja>(tags=<js>"foo,bar,baz"</js>)
 	)
@@ -14002,7 +13802,7 @@
 				<li> 
 					Use properties files identified by the {@link org.apache.juneau.rest.annotation.RestResource#messages @RestResource.messages()} annotation.
 					<br><h5 class='figure'>Example:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ck>MyResource.myMethod.tags</ck> = <cv>foo,bar,baz</cv>
 					</p>
 				<li>
@@ -14010,7 +13810,7 @@
 				<li>
 					Extend the <l>BasicRestInfoProvider</l> and provide customized behavior.	
 					<br><h5 class='figure'>Example:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jc>// Our customized info provider.</jc>
 	<jc>// Extend from the default implementation and selectively override values.</jc>
 	<jk>public class</jk> MyRestInfoProvider <jk>extends</jk> BasicRestInfoProvider {
@@ -14054,7 +13854,7 @@
 			on the {@link org.apache.juneau.html.HtmlDocSerializer} class.
 			<br>For example, the following two pieces of code are equivalent:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Title defined via property.</jc>
 	<ja>@RestResource</ja>(
 		properties={
@@ -14073,7 +13873,7 @@
 			The purpose of these annotation is to populate the HTML document view which by default consists of the following
 			structure:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;html&gt;
 		&lt;head&gt;
 			&lt;style <xa>type</xa>=<xs>'text/css'</xs>&gt;
@@ -14106,7 +13906,7 @@
 		<p>
 			The <l>HelloWorldResource</l> class was an example of the <l>@HtmlDoc</l> annotation in use:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	 * Sample REST resource that prints out a simple "Hello world!" message.
 	 */</jd>
@@ -14130,7 +13930,7 @@
 		<p>
 			SVL variables can be used in any of these annotations:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/helloWorld"</js>,
 		<jc>// Register a config file.</jc>
@@ -14175,7 +13975,7 @@
 				<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_widgets}
 			</ul>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestMethod</ja>(
 		widgets={
 			MyWidget.<jk>class</jk>
@@ -14219,7 +14019,7 @@
 				<br>It shows an example of a widget that renders an image located in the <code>htdocs</code> static files
 				directory in your classpath (see {@link org.apache.juneau.rest.annotation.RestResource#staticFiles() @RestResource.staticFiles()}):
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyWidget <jk>extends</jk> Widget {
 
 		<ja>@Override</ja> <jc>/* Widget */</jc>
@@ -14257,7 +14057,7 @@
 				</ul>
 			</ul>
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> MyWidget <jk>extends</jk> Widget {
 
 		...
@@ -14299,10 +14099,10 @@
 			<p>
 				The sample root page below includes some default branding for Juneau and Apache:
 			</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld
 		</p>
-			<img class='bordered' src='doc-files/juneau-rest-server.UiCustomization.1.png' style='width:800px'/>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.UiCustomization.1.png'>
 			<p>
 				In particular, you may want to replace these icons:
 			</p>
@@ -14315,7 +14115,7 @@
 			<p>
 				The Juneau icon shown is a result of the header annotation on the {@link org.apache.juneau.rest.BasicRestServlet} class:
 			</p>	
-			<p class='bcode'>			
+			<p class='bcode w800'>			
 	<ja>@RestResource</ja>(
 		...
 		htmldoc=<ja>@HtmlDoc</ja>(
@@ -14345,7 +14145,7 @@
 				To change this image, you can extend the <l>BasicRestServlet</l> class and simply override the annotations
 				pointing to your own icon.
 			</p>
-			<p class='bcode'>			
+			<p class='bcode w800'>			
 	<ja>@RestResource</ja>(
 		...
 		htmldoc=<ja>@HtmlDoc</ja>(
@@ -14368,7 +14168,7 @@
 			<p>
 				The footer icon shown is generated by a predefined widget:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			widgets={
@@ -14383,7 +14183,7 @@
 			<p>
 				The widget definition is shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public class</jk> PoweredByApache <jk>extends</jk> Widget {
 	
 		<jd>/**
@@ -14399,7 +14199,7 @@
 			<p>
 				To provide your own footer icon, simply define it in your own footer section:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			footer=<js>"&lt;img style='float:right;padding-right:20px;height:32px' src='$U{servlet:/my-htdocs/my-project.png}'&gt;"</js>
@@ -14421,10 +14221,10 @@
 			<p>
 				The sample root page renders in the default "devops" look-and-feel:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000
 			</p>
-			<img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.0.png' style='width:800px'/>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.0.png'>
 			<p>
 				The sample root page provides a dropdown widget to try out the other default look-and-feels:
 			</p>
@@ -14432,21 +14232,21 @@
 			<p>
 				For example, the "light" look-and-feel:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/?stylesheet=styles%2Flight.css
 			</p>
-			<img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.2.png' style='width:800px'/>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.2.png'>
 			<p>
 				And the "dark" look-and-feel:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/?stylesheet=styles%2Fdark.css
 			</p>
-			<img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.3.png' style='width:800px'/>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.3.png'>
 			<p>
 				The stylesheet URL is controlled by the {@link org.apache.juneau.rest.annotation.HtmlDoc#stylesheet() @HtmlDoc.stylesheet()} annotation.
 				<br>The {@link org.apache.juneau.rest.BasicRestServlet} class defines the stylesheet served up as a static file:
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			stylesheet=<js>"$C{REST/stylesheet,servlet:/styles/devops.css}"</js>,
@@ -14465,7 +14265,7 @@
 				To provide your own stylesheet, simply override the stylesheet attribute and point to a different
 				file:	
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			stylesheet=<js>"servlet:/my-styles/my-style.css}"</js>,
@@ -14482,7 +14282,7 @@
 			<p>
 				In case you're curious about how the menu item works, it's defined via a widget:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			widgets={
@@ -14504,7 +14304,7 @@
 				specialized widget for creating pop-up menus.
 				<br>In the case of <l>StyleMenuItem</l>, it's simply returning a list of links wrapped in a div tag:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
 
 	<jk>public class</jk> StyleMenuItem <jk>extends</jk> MenuItemWidget {
@@ -14547,7 +14347,7 @@
 		</ul>		
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Servlet with default headers</jc>
 	<ja>@RestResource</ja>(
 
@@ -14610,7 +14410,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	logger.logObjects(<jsf>DEBUG</jsf>, <js>"Pojo contents:\n{0}"</js>, myPojo);
 		</p>
 		<p>
@@ -14627,7 +14427,7 @@
 		<p>
 			In addition, the logger can be accessed by passing it as a parameter to your REST java method:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod()</ja>
 	<jk>public</jk> Object doSomething(RestLogger logger) {...}
 		</p>
@@ -14655,7 +14455,7 @@
 		<p>
 			Non-OK (200) status codes are automatically triggered by the following conditions:
 		</p>
-		<table class='styled' style='max-width:800px;'>
+		<table class='styled w800'>
 			<tr>
 				<th><l>Code</l></th>
 				<th><l>Description</l></th>
@@ -14719,7 +14519,7 @@
 		<p>
 			For example, the URL <l>"/sample/foo?method=BAR"</l> will cause the following method to be invoked...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<js>"BAR"</js>)
 	<jk>public void</jk> doBar(RestRequest req, RestResponse res) {
 		<jc>// Handle BAR requests</jc>
@@ -14729,7 +14529,7 @@
 			To support overloaded methods, the {@link org.apache.juneau.rest.annotation.RestResource#allowedMethodParams() @RestResource.allowedMethodParams()} 
 			setting must be enabled on your servlet.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		<jc>// Allow &amp;method parameter on BAR requests</jc>
 		allowedMethodParams=<js>"BAR"</js>
@@ -14744,7 +14544,7 @@
 		<p>
 			The following URL parameters have special meaning and can be passed in through the URL of the request:
 		</p>
-		<table class='styled' style='max-width:800px'>
+		<table class='styled w800'>
 			<tr>
 				<th><l>GET Parameter</l></th>
 				<th><l>Description</l></th>
@@ -14815,7 +14615,7 @@
 			It's the <l>PhotosResource</l> class pulled from the Samples project.
 			It shows an example of defining a serializer and parser to handle images.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/**
 	 * Sample resource that allows images to be uploaded and retrieved.
 	 */</jd>
@@ -14939,7 +14739,7 @@
 		<p>
 			The following code shows how to register your REST servlets in an OSGi <l>Activator</l>:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>package</jk> org.apache.juneau.examples.rest;
 	
 	<jk>import</jk> org.osgi.framework.*;
@@ -15013,7 +14813,7 @@
 			The following simplified example shows how a method on a POJO on a server can be called through an interface
 			on a client...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@Remoteable</ja>
 	<jk>public interface</jk> IAddressBook {
 
@@ -15057,7 +14857,7 @@
 		<p>
 			The client side code for invoking this method is shown below...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a RestClient using JSON for serialization, and point to the server-side remoteable servlet.</jc>
 	RestClient client = RestClient.<jsm>create</jsm>()
 		.rootUrl(<js>"http://localhost:10000/remoteable"</js>)
@@ -15078,7 +14878,7 @@
 		<p>
 			Under the covers, this method call gets converted to a REST POST.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	HTTP POST http://localhost:10000/remoteable/org.apache.juneau.examples.rest.IAddressBook/createPerson
 	Accept: application/json
 	Content-Type: application/json
@@ -15108,7 +14908,7 @@
 			To define a remoteable interface, simply add the {@link org.apache.juneau.remoteable.Remoteable @Remoteable} 
 			annotation to your interface class.  
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@Remoteable</ja>
 	<jk>public interface</jk> MyInterface {...}
 		</p>
@@ -15130,7 +14930,7 @@
 			The <code>RemoteableServlet</code> class is a simple specialized servlet with an abstract 
 			<code>getServiceMap()</code> method to define the server-side POJOs:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/remoteable"</js>
 	)
@@ -15158,7 +14958,7 @@
 			<br>You simply define a Java method whose return type is an interface, and return the implementation of that 
 			interface:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Our exposed proxy object.</jc>
 	<ja>@RestMethod</ja>(name=<jsf>PROXY</jsf>, path=<js>"/addressbookproxy/*"</js>)
 	<jk>public</jk> IAddressBook getProxy() {
@@ -15193,7 +14993,7 @@
 				little additional code.
 				<br>The entire code for the <code>RestClient.getRemoteableProxy(Class)</code> method is shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public</jk> &lt;T&gt; T getRemoteableProxy(<jk>final</jk> Class&lt;T&gt; interfaceClass) {
 		<jk>return</jk> (T)Proxy.newProxyInstance(
 			interfaceClass.getClassLoader(),
@@ -15238,7 +15038,7 @@
 				<br>The method that must be implemented is {@link org.apache.juneau.rest.remoteable.RemoteableServlet#getServiceMap()}
 				that simply returns a mapping of Java interfaces (or classes) to POJO instances.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/remoteable"</js>
 	)
@@ -15268,36 +15068,36 @@
 			<p>
 				If you point your browser to that URL, you get a list of available interfaces:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable
 			</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.1.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.1.png'>
 			<p>
 				Clicking the hyperlinks on each shows you the list of methods that can be invoked on that service.
 				<br>Note that the <code>IAddressBook</code> link shows that you can only invoke methods defined on that
 				interface, whereas the <code>AddressBook</code> link shows ALL public methods defined on that class.
 			</p>
 			<h5 class='figure'>IAddressBook</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook
 			</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.2.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.2.png'>
 			<p>
 				Since <code>AddressBook</code> extends from <code>LinkedList</code>, you may notice familiar collections
 				framework methods listed.
 			</p>
 			<h5 class='figure'>AddressBook</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.AddressBook
 			</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.3.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.3.png'>
 			<p>
 				Let's see how we can interact with this interface through nothing more than REST calls to get a better idea on 
 				how this works.
 				<br>We'll use the same method call as in the introduction.
 				<br>First, we need to create the serialized form of the arguments:
 			</p>
-	<p class='bcode'>
+	<p class='bcode w800'>
 	Object[] args = <jk>new</jk> Object[] {
 		<jk>new</jk> CreatePerson(<js>"Test Person"</js>,
 			AddressBook.<jsm>toCalendar</jsm>(<js>"Aug 1, 1999"</js>),
@@ -15309,7 +15109,7 @@
 			<p>
 				That produces the following JSON output:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	[
 		{
 			name: <js>'Test Person'</js>, 
@@ -15336,7 +15136,7 @@
 				<br>Methods are invoked by POSTing the serialized object array to the URI of the interface method.
 				In this case, we want to POST our JSON to the following URL:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/createPerson(org.apache.juneau.examples.addressbook.CreatePerson)
 			</p>
 			<p>
@@ -15344,16 +15144,16 @@
 				<br>We also want the results to be returned as JSON, so we set the <code>Accept</code> header to 
 				<code>text/json</code> as well.
 			</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.4.png" style='width:400px;'>
+			<img class='bordered w400' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.4.png'>
 			<p>
 				When we execute the POST, we should see the following successful response whose body contains the returned 
 				<code>Person</code> bean serialized to JSON:
 			</p>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.5.png" style='width:400px;'>
+			<img class='bordered w400' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.5.png'>
 			<p>
 				From there, we could use the following code snippet to reconstruct the response object from JSON:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	String response = <js>"<i>output from above</i>"</js>;
 	Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(response, Person.<jk>class</jk>);
 			</p>
@@ -15361,7 +15161,7 @@
 				If we alter our servlet to allow overloaded GET requests, we can invoke methods using nothing more than a 
 				browser...
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/remoteable"</js>,
 		
@@ -15373,19 +15173,19 @@
 			<p>
 				For example, to invoke the <code>getPeople()</code> method on our bean:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/getPeople?method=POST
 			</p>			
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.6.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.6.png'>
 			<p>
 				Here we call the <code>findPerson(<jk>int</jk>)</code> method to retrieve a person and get the 
 				returned POJO (in this case as HTML since that's what's in the <code>Accept</code> header when calling from a 
 				browser):
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/findPerson(int)?method=POST&amp;body=@(3)
 			</p>			
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.7.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.7.png'>
 			<p>
 				When specifying the POST body as a <code>&amp;body</code> parameter, the method arguments should be in UON 
 				notation.
@@ -15399,9 +15199,9 @@
 				passing parameters in UON notation as URL-encoded form posts.
 			</p>
 			<h5 class='figure'>Sample form entry page</h5>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.8.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.8.png'>
 			<h5 class='figure'>Sample form entry page results</h5>
-			<img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.9.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.9.png'>
 		</div>
 
 		<!-- ======================================================================================================== -->
@@ -15418,7 +15218,7 @@
 			<p>
 				For example, to expose only the first 2 methods in our <code>IAddressBook</code> interface...
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jk>public interface</jk> IAddressBook {
 		<ja>@Remoteable</ja> Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
 		<ja>@Remoteable</ja> Person findPerson(<jk>int</jk> id);
@@ -15429,7 +15229,7 @@
 			<p>
 				On the server side, the option to restrict access to only annotated methods is defined through a property:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/remoteable"</js>,
 		properties={
@@ -15443,7 +15243,7 @@
 				The <ja>@Remoteable</ja> annotation can also be applied to the interface class to expose all public methods 
 				defined on that interface.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ja>@Remoteable</ja>
 	<jk>public interface</jk> IAddressBook {
 		Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
@@ -15470,7 +15270,7 @@
 		<p>
 			The general approach starts with defining a resolver that uses the Spring application context for resolution:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> SpringRestResourceResolver <jk>extends</jk> RestResourceResolverSimple {
 
 		<jk>private final</jk> ApplicationContext <jf>appContext</jf>;
@@ -15494,7 +15294,7 @@
 		<p>
 			Next, define the Spring configuration to return our resolver:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@Configuration</ja>
 	<jk>public abstract class</jk> MySpringConfiguration {
 		
@@ -15519,7 +15319,7 @@
 			Finally, define your <code>Root</code> resource with a constructor that takes in our rest resource resolver and
 			sets it on the config object during initialization.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		children={
 			...
@@ -15543,7 +15343,7 @@
 		<p>
 			After that, just define constructors on your child resources to take in Spring beans:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/child"</js>
 	)
@@ -15590,7 +15390,7 @@
 			properties for labeling and linking to child resources.
 			<br>The following examples is pulled from the REST examples:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> PredefinedLabelsResource <jk>extends</jk> BasicRestServlet {
 	
 		<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/"</js>)
@@ -15610,7 +15410,7 @@
 			The internals of the class show it simply has two bean properties with a link annotation
 			defined on the name property:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public class</jk> ResourceDescription {
 
 		<ja>@Html</ja>(link=<js>"servlet:/{name}"</js>)
@@ -15623,7 +15423,7 @@
 			The {@link org.apache.juneau.rest.labels.BeanDescription} class provides a simple view
 			of a bean and it's properties.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/beanDescription"</js>)
 	<jk>public</jk> BeanDescription getBeanDescription() {
 		<jk>return new</jk> BeanDescription(Person.<jk>class</jk>);
@@ -15637,7 +15437,7 @@
 			The {@link org.apache.juneau.html.annotation.HtmlLink @HtmlLink} annotation can also be useful
 			for rendering custom hyperlinks:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/htmlLinks"</js>)
 	<jk>public</jk> ALink[] htmlLinks() {
 		<jk>return new</jk> ALink[] {
@@ -15689,7 +15489,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-rest-server-jaxrs<xt>&lt;/artifactId&gt;</xt>
@@ -15698,12 +15498,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-rest-server-jaxrs-7.1.0.jar 
 	</p>	
 	
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.rest.server_7.1.0.jar 
 	</p>	
 	
@@ -15787,7 +15587,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-rest-client<xt>&lt;/artifactId&gt;</xt>
@@ -15796,12 +15596,12 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-rest-client-7.1.0.jar 
 	</p>	
 	
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.rest.client_7.1.0.jar 
 	</p>	
 
@@ -15813,7 +15613,7 @@
 		Built upon the Apache HttpClient libraries, it extends that API and provides specialized APIs for working with 
 		REST interfaces while maintaining all the functionality available in the HttpClient API.
 	</p>
-	<p class='bcode'>
+	<p class='bcode w800'>
 	<jc>// Create a reusable JSON client.</jc>
 	<jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().build()) {
 	
@@ -15872,7 +15672,7 @@
 	</ul>
 	
 	<h5 class='figure'>Example:</h5>
-	<p class='bcode'>
+	<p class='bcode w800'>
 	<jc>// Examples below use the Juneau Address Book resource example</jc>
 
 	<jc>// Create a reusable client with JSON support</jc>
@@ -15986,7 +15786,7 @@
 			special annotations that tell us how to convert input and output to HTTP headers, query parameters, form 
 			post parameters, or request/response bodies.
 		</p>
-		<p class='bcode'>	
+		<p class='bcode w800'>	
 	<jc>// Our interface.</jc>
 	<ja>@Remoteable</ja>
 	<jk>public interface</jk> MyProxyInterface {
@@ -16004,7 +15804,7 @@
 		<p>
 			The call above translates to the following REST call:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	POST http://hostname/some/rest/interface/method?debug=true HTTP/1.1
 	Accept: application/json
 	Content-Type: application/json
@@ -16122,7 +15922,7 @@
 		</ul>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a client that ignores self-signed or otherwise invalid certificates.</jc>
 	RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
 		.enableSSL(SSLOpts.<jsf>LAX</jsf>);
@@ -16134,7 +15934,7 @@
 		<p>
 			This is functionally equivalent to the following:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	RestClientBuilder builder = RestClient.<jsm>create</jsm>();
 	
 	HostnameVerifier hv = <jk>new</jk> NoopHostnameVerifier();
@@ -16167,7 +15967,7 @@
 			</p>
 			
 			<h5 class='figure'>Contents of <code>MyConfig.cfg</code></h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<cc>#================================================================================
 	# My Connection Settings
 	#================================================================================</cc>
@@ -16177,7 +15977,7 @@
 			</p>
 			
 			<h5 class='figure'>Code that reads an <code>SSLOpts</code> bean from the config file</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Read config file and set SSL options based on what's in that file.</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
 	SSLOpts ssl = c.getObject(SSLOpts.<jk>class</jk>, <js>"Connection/ssl"</js>);
@@ -16201,7 +16001,7 @@
 			</p>
 			
 			<h5 class='figure'>Example:</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Create a client that performs BASIC authentication using the specified user/pw.</jc>
 	RestClient restClient = RestClient.<jsm>create</jsm>() 
 		.basicAuth(<jsf>HOST</jsf>, <jsf>PORT</jsf>, <jsf>USER</jsf>, <jsf>PW</jsf>)
@@ -16210,7 +16010,7 @@
 			<p>
 				This is functionally equivalent to the following:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	RestClientBuilder builder = RestClient.<jsm>create</jsm>();
 	AuthScope scope = <jk>new</jk> AuthScope(<jsf>HOST</jsf>, <jsf>PORT</jsf>);
 	Credentials up = <jk>new</jk> UsernamePasswordCredentials(<jsf>USER</jsf>, <jsf>PW</jsf>);
@@ -16236,7 +16036,7 @@
 				The following example shows how the <code>JazzRestClient</code> class provides FORM-based 
 				authentication support.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/**
 	 * Constructor.
 	 */</jd>
@@ -16317,7 +16117,7 @@
 				The following example shows how the <code>JazzRestClient</code> class provides OIDC authentication 
 				support.
 			</p>
-	<p class='bcode'>
+	<p class='bcode w800'>
 	<jd>/**
 	 * Constructor.
 	 */</jd>
@@ -16462,7 +16262,7 @@
 		</p>	
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Throw a RestCallException if SUCCESS is not found in the output.</jc>
 	restClient.doPost(<jsf>URL</jsf>)
 		.successPattern(<js>"SUCCESS"</js>)
@@ -16474,7 +16274,7 @@
 		</p>	
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Throw a RestCallException if FAILURE or ERROR is found in the output.</jc>
 	restClient.doPost(<jsf>URL</jsf>)
 		.failurePattern(<js>"FAILURE|ERROR"</js>)
@@ -16492,7 +16292,7 @@
 		</p>	
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>final</jk> List&lt;Number&gt; xList = <jk>new</jk> ArrayList&lt;Number&gt;();
 	<jk>final</jk> List&lt;String&gt; yList = <jk>new</jk> ArrayList&lt;String&gt;();
 	
@@ -16550,7 +16350,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Pipe output from REST call to System.out in real-time.</jc>
 	restClient.doPost(<jsf>URL</jsf>).byLines().pipeTo(<jk>new</jk> PrintWriter(System.<jk>out</jk>)).run();
 		</p>
@@ -16570,7 +16370,7 @@
 			<br>This causes the following output to be generated by the Java <code>org.apache.juneau.rest.client</code> 
 			logger at <jsf>WARNING</jsf> level:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	=== HTTP Call (outgoing) =======================================================
 	=== REQUEST ===
 	POST http://localhost:10000/testUrl HTTP/1.1
@@ -16596,7 +16396,7 @@
 			This setting also causes a <code>Debug: true</code> header value to trigger logging of the request on the 
 			server side as well.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	=== HTTP Request (incoming) ====================================================
 	HTTP POST /testUrl
 	---Headers---
@@ -16626,7 +16426,7 @@
 		</p>
 		
 		<h5 class='figure'>Example:</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Log the HTTP request/response to the specified logger.</jc>
 	<jk>int</jk> rc = restClient.doGet(<jsf>URL</jsf>).logTo(<jsf>INFO</jsf>, getLogger()).run();
 		</p>
@@ -16652,7 +16452,7 @@
 			The {@link org.apache.juneau.rest.client.RestCallLogger} class is an example of an interceptor that uses 
 			the various lifecycle methods to log HTTP requests.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/**
 	 * Specialized interceptor for logging calls to a log file.
 	 */</jd>
@@ -16751,7 +16551,7 @@
 			The {@link org.apache.juneau.rest.client.RestClientBuilder#rootUrl(Object)} method can be used to specify a 
 			root URL on all requests so that you don't have to use absolute paths on individual calls.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a rest client with a root URL</jc>
 	RestClient rc = RestClient.<jsm>create</jsm>().rootUrl(<js>"http://localhost:9080/foobar"</js>).build();
 	String r = rc.doGet(<js>"/baz"</js>).getResponseAsString();  <jc>// Gets "http://localhost:9080/foobar/baz"</jc>
@@ -16762,7 +16562,7 @@
 			<br>For example, if you're parsing a response into POJOs and you want to ignore fields that aren't on the
 			POJOs, you can use the {@link org.apache.juneau.BeanContext#BEAN_ignoreUnknownBeanProperties} property.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a rest client that ignores unknown fields in the response</jc>
 	RestClient rc = RestClient.<jsm>create</jsm>()
 		.set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
@@ -16776,7 +16576,7 @@
 			<br>This can be particularly useful if you're attempting to connect to a REST resource that may be in the 
 			process of still initializing.
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Create a rest call that retries every 10 seconds for up to 30 minutes as long as a connection fails
 	// or a 400+ is received.</jc>
 	restClient.doGet(<jsf>URL</jsf>)
@@ -16792,7 +16592,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Maven Dependency</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
 		<xt>&lt;artifactId&gt;</xt>juneau-microservice-server<xt>&lt;/artifactId&gt;</xt>
@@ -16801,17 +16601,17 @@
 	</p>	
 	
 	<h5 class='figure'>Java Library</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-microservice-server-7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>OSGi Module</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	org.apache.juneau.microservice.server_7.1.0.jar 
 	</p>	
 
 	<h5 class='figure'>Microservice Starter Project</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	my-microservice.zip 
 	</p>	
 
@@ -16902,7 +16702,7 @@
 					<l>RootResources.java</l> - The top-level REST resource. 
 					<br>This class routes HTTP requests to child resources:
 					<br><br>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/"</js>,
 		title=<js>"My Microservice"</js>,
@@ -16931,7 +16731,7 @@
 					<br>Contains various useful settings.
 					<br>Can be used for your own resource configurations.
 					<br><br>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc>#=======================================================================================================================
 	# Basic configuration file for REST microservices
 	# Subprojects can use this as a starting point.
@@ -17022,7 +16822,7 @@
 					<l>jetty.xml</l> - The Jetty configuration file. 
 					<br>A bare-bones config file that can be extended to use any Jetty features.
 					<br><br>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<xt>&lt;Configure</xt> <xa>id</xa>=<xs>"ExampleServer"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.server.Server"</xs>&gt;</xt>
 	
 		<xt>&lt;Set</xt> <xa>name</xa>=<xs>"connectors"</xs><xt>&gt;</xt>
@@ -17101,7 +16901,7 @@
 				Go to <b>Run -&gt; Run Configurations -&gt; Java Application -&gt; my-microservice</b> and click <b>Run</b>.
 				<br>In your console view, you should see the following output:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
 	Server started on port 10000
 	
@@ -17116,10 +16916,10 @@
 				Now open your browser and point to <l>http://localhost:10000</l>.  
 				You should see the following:
 			</p>
-			<p class='bcode' style='width:400px;'>
+			<p class='bcode w400'>
 	http://localhost:10000
 			</p>			
-			<img class='bordered' src="doc-files/juneau-microservice-server.Running.1.png" style='width:400px;'>
+			<img class='bordered w400' src='doc-files/juneau-microservice-server.Running.1.png'>
 			<p>
 				You have started a REST interface on port 10000.
 				<br>You can enter the command <code>exit</code> to shut it down.
@@ -17137,7 +16937,7 @@
 			<p>
 				The easiest way to build your microservice is to run the following from the project root.
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	mvn clean install
 			</p>
 			<p>
@@ -17151,13 +16951,13 @@
 			<p>
 				To start from a command line, run the following command from inside your <code>target</code> directory:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	java -jar my-microservice-1.0.jar
 			</p>
 			<p>
 				You should see the following console output:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
 	Server started on port 10000
 	
@@ -17184,7 +16984,7 @@
 			The generated <l>META-INF/MANIFEST.MF</l> file is used to describe the microservice. 
 			<br>If you open it, you'll see the following:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<mk>Main-Class</mk>: <mv>org.apache.juneau.microservice.RestMicroservice</mv>
 	<mk>Main-ConfigFile</mk>: <mv>my-microservice.cfg</mv>
 		<p>
@@ -17209,7 +17009,7 @@
 				The {@link org.apache.juneau.microservice.Microservice#getManifest()} method is a static method that
 				can be used to retrieve the manifest file as a {@link org.apache.juneau.utils.ManifestFile}.  
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Get Main-Class from manifest file.</jc>
 	String mainClass = Microservice.<jsm>getInstance</jsm>().getManifest().getString(<js>"Main-Class"</js>, <js>"unknown"</js>);
 			</p>
@@ -17248,14 +17048,14 @@
 				<li class='jm'>{@link org.apache.juneau.rest.RestContext#getConfig()} 
 					<br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> can be used.
 					<h5 class='figure'>Example usage:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc>#-------------------------------</cc>
 	<cc># Properties for MyHelloResource </cc>
 	<cc>#-------------------------------</cc>
 	<cs>[MyHelloResource]</cs>
 	<ck>greeting</ck> = <cv>Hello world!</cv> 
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestResource</ja>(...)
 	<jk>public class</jk> MyHelloResource <jk>extends</jk> BasicRestServlet {
 		<jc>// Access config file when initializing fields.</jc>
@@ -17279,7 +17079,7 @@
 					<br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time or request-time variables</a> can be used.
 					
 					<h5 class='figure'>Example usage:</h5>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc>#-----------------------------</cc>
 	<cc># Contents of microservice.cfg </cc>
 	<cc>#-----------------------------</cc>
@@ -17287,7 +17087,7 @@
 	<ck>greeting</ck> = <cv>Hello $RP{person}!</cv> 
 	<ck>localizedGreeting</ck> = <cv>$L{HelloMessage,$RP{person}}</cv> 
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<cc>#---------------------------------</cc>
 	<cc># Contents of MyHelloResource.java </cc>
 	<cc>#---------------------------------</cc>
@@ -17311,7 +17111,7 @@
 		}
 	}		
 					</p>
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<cc>#---------------------------------------</cc>
 	<cc># Contents of nls/Messages_en.properties </cc>
 	<cc>#---------------------------------------</cc>
@@ -17363,13 +17163,13 @@
 			Now let's take a look at the resource classes themselves.  
 			<br>The top-level page...
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000
 		</p>			
-		<img class='bordered' src='doc-files/juneau-microservice-server.Running.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-microservice-server.Running.1.png'>
 		<p>
 			...is generated by this class...
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/"</js>,
 		title=<js>"My Microservice"</js>,
@@ -17406,14 +17206,14 @@
 		<p>
 			If you click the <l>helloWorld</l> link in your application, you'll get a simple hello world message:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld
 		</p>			
-		<img class='bordered' src='doc-files/juneau-microservice-server.ResourceClasses.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-microservice-server.ResourceClasses.1.png'>
 		<p>
 			...which is generated by this class...
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		path=<js>"/helloWorld"</js>,
 		title=<js>"Hello World example"</js>,
@@ -17490,13 +17290,13 @@
 			<p>
 				First, the manifest file needs to be modified to point to our new microservice:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<mk>Main-Class:</mk> com.foo.SampleCustomRestMicroservice
 			</p>
 			<p>
 				Then we define the following class:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/**
 	 * Sample subclass of a RestMicroservice that provides customized behavior.
 	 * This class must be specified in the Main-Class entry in the manifest file and optionally
@@ -17539,7 +17339,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Archive File</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-examples-core-7.1.0.zip 
 	</p>	
 	
@@ -17578,7 +17378,7 @@
 <div class='topic'>
 
 	<h5 class='figure'>Archive File</h5>
-	<p class='bcode' style='width:500px;'>
+	<p class='bcode w500'>
 	juneau-examples-rest-7.1.0.zip 
 	</p>	
 
@@ -17609,10 +17409,10 @@
 		The microservice can be started from the <code>juneau-examples-rest.launch</code> file.
 		It will start up the microservice on port 10000 which you can then view through a browser:
 	</p>
-		<p class='bcode' style='width:400px;'>
+		<p class='bcode w400'>
 	http://localhost:10000
 		</p>			
-	<img class='bordered' src='doc-files/juneau-examples-rest.4.png' style='width:400px'>
+	<img class='bordered w400' src='doc-files/juneau-examples-rest.4.png'>
 		
 	<!-- ======================================================================================================= -->
 	<a id="juneau-examples-rest.RootResources"></a>
@@ -17643,14 +17443,14 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.RootResources.1.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.RootResources.1.png'>
 		<p>
 			The <l>RootResources</l> class can also be defined as a servlet in a <l>web.xml</l> file:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;web-app</xt> <xa>version</xa>=<xs>'2.3'</xs><xt>&gt;</xt>
 		<xt>&lt;servlet&gt;</xt>
 			<xt>&lt;servlet-name&gt;</xt>RootResources<xt>&lt;/servlet-name&gt;</xt>
@@ -17667,7 +17467,7 @@
 		</p>
 		
 		<h5 class='figure'>RootResources.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/**
 	 * Sample REST resource showing how to implement a "router" resource page.
 	 */</jd>
@@ -17775,7 +17575,7 @@
 		</p>
 		
 		<h5 class='figure'>HelloWorldResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample REST resource that prints out a simple "Hello world!" message. 
 	*/</jd> 
@@ -17821,18 +17621,18 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.HelloWorldResource.1.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.HelloWorldResource.1.png'>
 		<p>
 			Using the special <l>&amp;Accept=text/json</l> and <l>&amp;plainText=true</l> parameters
 				allows us to see this page rendered as JSON:
 		</p>		
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/helloWorld?Accept=text/json&amp;plainText=true
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.HelloWorldResource.2.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.HelloWorldResource.2.png'>
 	</div>	
 
 	<!-- ======================================================================================================= -->
@@ -17859,7 +17659,7 @@
 		</p>
 		
 		<h5 class='figure'>MethodExampleResource.java</h5>
-		<p class='bcode'>				
+		<p class='bcode w800'>				
 	<jd>/** 
 	* Sample REST resource that shows how to define REST methods and OPTIONS pages 
 	*/</jd> 
@@ -18089,17 +17889,17 @@
 		<p>
 			When you visit this page through the router page, you can see the top level page:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/methodExample
 		</p>			
-		<img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.1.png" style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.1.png'>
 		<p>
 			Clicking the first link on the page results in this page:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/methodExample/example1/foo/123/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/path-remainder?q1=456&amp;q2=bar		
 		</p>			
-		<img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.2.png" style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.2.png'>
 		<p>
 			Notice how the conversion to POJOs is automatically done for us, even for non-standard POJOs such as UUID.
 		</p>
@@ -18136,7 +17936,7 @@
 		</p>
 		
 		<h5 class='figure'>BasicRestServlet.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** OPTIONS request handler */</jd>
 	<ja>@RestMethod</ja>(name=<jsf>OPTIONS</jsf>, path=<js>"/*"</js>)
 	<jk>public</jk> Swagger getOptions(RestRequest req) {
@@ -18148,7 +17948,7 @@
 			through a property defined by the {@link org.apache.juneau.html.HtmlDocSerializer} class
 			and specified on the resource class annotation:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			navlinks={
@@ -18165,10 +17965,10 @@
 		<p>
 			Clicking the <l>options</l> link on the page presents you with information about how to use this resource:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/methodExample/?method=OPTIONS
 		</p>			
-		<img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.3.png" style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.3.png'>
 		<p>
 			This page (like any other) can also be rendered in JSON or XML by using the <l>&amp;Accept</l> URL parameter.
 		</p>
@@ -18193,7 +17993,7 @@
 		</p>
 		
 		<h5 class='figure'>UrlEncodedFormResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample REST resource for loading URL-Encoded form posts into POJOs. 
 	*/</jd> 
@@ -18284,7 +18084,7 @@
 		</p>
 		
 		<h5 class='figure'>UrlEncodedFormResource.properties</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#--------------------------------------------------------------------------------
 	# UrlEncodedFormResource labels
 	#--------------------------------------------------------------------------------</cc>
@@ -18302,18 +18102,18 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/urlEncodedForm
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.1.png'>
 		<p>
 			Entering some values and clicking <l>submit</l> causes the form bean to be populated
 			and returned back as a POJO response:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/urlEncodedForm
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.2.png'>
 
 		<h5 class='toc'>Additional Information</h5>
 		<ul class='toc'>
@@ -18355,7 +18155,7 @@
 		</p>
 		
 		<h5 class='figure'>RequestEchoResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	 * Sample REST resource for echoing HttpServletRequests back to the browser
 	 */</jd>
@@ -18428,7 +18228,7 @@
 		</p>
 		
 		<h5 class='figure'>Hypothetical RequestEchoResource.createSerializers() method</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** Override the default rest serializers to add some transforms through an INIT hook*/</jd>
 	<ja>@RestHook</ja>(<jsf>INIT</jsf>)
 	<jk>public void</jk> init(RestContextBuilder builder) throws Exception {
@@ -18452,10 +18252,10 @@
 			Pointing a browser to the resource shows the following:
 		</p>
 		
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/echo
 		</p>			
-		<img class='bordered' src="doc-files/juneau-examples-rest.RequestEchoResource.1.png" style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.RequestEchoResource.1.png'>
 		<p>
 			This gives you an idea of what kinds of POJO models can be serialized, since you are serializing a regular 
 			old <l>HttpServletRequest</l> object.
@@ -18508,10 +18308,10 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/addressBook/people
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.AddressBookResource.1.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.1.png'>
 		
 		<!-- ======================================================================================================= -->
 		<a id="juneau-examples-rest.AddressBookResource.Classes"></a>
@@ -18551,7 +18351,7 @@
 			</p>
 			
 			<h5 class='figure'>package-info.java</h5>
-			<p class='bcode'>		
+			<p class='bcode w800'>		
 	<jc>// XML and RDF namespaces used in this package</jc>
 	<ja>@Xml</ja>(ns=<js>"ab"</js>,
 		namespaces={
@@ -18582,7 +18382,7 @@
 			</p>	
 			
 			<h5 class='figure'>IAddressBook.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** 
 	* Interface used to help illustrate proxy interfaces. 
 	* See {<ja>@link</ja> SampleRemoteableServlet}. 
@@ -18624,7 +18424,7 @@
 			</p>	
 			
 			<h5 class='figure'>AddressBook.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Address book bean */</jd>
 	<ja>@Bean</ja>(typeName=<js>"addressBook"</js>)
 	<jk>public class</jk> AddressBook <jk>extends</jk> LinkedList&lt;Person&gt; <jk>implements</jk> IAddressBook {
@@ -18661,7 +18461,7 @@
 			</p>
 			
 			<h5 class='figure'>Person.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Person bean */</jd>
 	<ja>@Xml</ja>(prefix=<js>"per"</js>)
 	<ja>@Rdf</ja>(prefix=<js>"per"</js>)
@@ -18727,7 +18527,7 @@
 			</p>
 			
 			<h5 class='figure'>Address.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Address bean */</jd> 
 	<ja>@Xml</ja>(prefix=<js>"addr"</js>) 
 	<ja>@Rdf</ja>(prefix=<js>"addr"</js>) 
@@ -18773,7 +18573,7 @@
 			</p>
 			
 			<h5 class='figure'>CreatePerson.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Person creator bean */</jd>
 	<ja>@Xml</ja>(prefix=<js>"per"</js>)
 	<ja>@Rdf</ja>(prefix=<js>"addr"</js>)
@@ -18802,7 +18602,7 @@
 			</p>
 			
 			<h5 class='figure'>CreateAddress.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** Address creator bean */</jd>
 	<ja>@Xml</ja>(ns=<js>"addr"</js>)
 	<ja>@Rdf</ja>(ns=<js>"addr"</js>)
@@ -18834,7 +18634,7 @@
 			</p>
 			
 			<h5 class='figure'>AddressBookResource.java</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jd>/** 
 	* Proof-of-concept resource that shows off the capabilities of working with POJO resources. 
 	* Consists of an in-memory address book repository. 
@@ -19205,7 +19005,7 @@
 			</p>
 			
 			<h5 class='figure'>AddressBookResource.properties</h5>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<ck>title</ck> = <cv>AddressBook sample resource</cv>
 	<ck>description</ck> = <cv>Proof-of-concept resource that shows off the capabilities of working with POJO resources</cv>
 	
@@ -19292,17 +19092,17 @@
 			<p>
 				Pointing a browser to the resource shows the results of running the <l>getRoot()</l> method:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook
 			</p>			
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.01.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.01.png'>
 			<p>
 				Clicking the <l>people</l> link shows you the result of running the <l>getAllPeople()</l> method:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people
 			</p>			
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.02.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.02.png'>
 			<p>
 				Notice how the <l>URI</l> properties automatically became hyperlinks.  
 			</p>
@@ -19315,22 +19115,22 @@
 			</p>
 			
 			<h5 class='figure'>JSON</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/json&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.03.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.03.png'>
 			
 			<h5 class='figure'>Lax JSON</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/json+simple&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.04.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.04.png'>
 			
 			<h5 class='figure'>XML</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/xml&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.05.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.05.png'>
 			<p>
 				Notice how our <l>XML_enableNamespaces</l> and <l>XML_autoDetectNamespaces</l> settings result
 				in namespaces being used.
@@ -19341,10 +19141,10 @@
 			</p>
 			
 			<h5 class='figure'>RDF/XML</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/xml+rdf+abbrev&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.06.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.06.png'>
 			<p>
 				Notice how the <code><ja>@BeanProperty</ja>(uri=<jk>true</jk>)</code> annotations are used to identify 
 				values for <l>rdf:about</l> values.
@@ -19358,22 +19158,22 @@
 			</p>
 			
 			<h5 class='figure'>HTML Schema</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/html+schema
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.07.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.07.png'>
 			
 			<h5 class='figure'>JSON Schema</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/json+schema&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.08.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.08.png'>
 			
 			<h5 class='figure'>XML Schema</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?Accept=text/xml+schema&amp;plainText=true
 			</p>
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.09.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.09.png'>
 			<p>
 				Now let's see what else you can do.
 			</p>
@@ -19381,18 +19181,18 @@
 				Clicking on the first <l>personUri</l> link executes the <l>getPerson()</l> method, which renders a 
 				serialized <l>Person</l> object:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people/1
 			</p>			
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.10.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.10.png'>
 			<p>
 				Clicking on the OPTIONS link on the page shows you the Swagger doc generated from our annotations and 
 				resource bundle properties:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/?method=OPTIONS
 			</p>			
-			<img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.11.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.11.png'>
 		</div>
 	
 		<!-- ======================================================================================================= -->
@@ -19403,15 +19203,15 @@
 				Because you added the <l>Traversable</l> converter to the <l>getPerson</l> method, you can also address 
 				child nodes in the POJO model through path remainders:
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people/1/addresses/0
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Traversable.1.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Traversable.1.png'>
 			<br><br>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people/1/addresses/0/street
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Traversable.2.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Traversable.2.png'>
 		</div>
 
 		<!-- ======================================================================================================= -->
@@ -19424,22 +19224,22 @@
 			</p>
 			
 			<h5 class='figure'>Show only the name and addresses columns</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?v=name,addresses
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.1.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.1.png'>
 			
 			<h5 class='figure'>Show only names that start with 'B*'</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?s=name=B*
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.2.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.2.png'>
 			
 			<h5 class='figure'>Show only entries with age greater than 60</h5>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people?s=age>=60
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.3.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.3.png'>
 		</div>
 	
 		<!-- ======================================================================================================= -->
@@ -19450,10 +19250,10 @@
 				The <l>Introspectable</l> converter on the <l>getPerson</l> method allows us to invoke public methods 
 				on the addressed POJO (in this case, public methods on the <l>String</l> class):
 			</p>
-			<p class='bcode' style='width:800px;'>
+			<p class='bcode w800'>
 	http://localhost:10000/addressBook/people/1/name?invokeMethod=substring(int,int)&amp;invokeArgs=[1,5]
 			</p>			
-			<img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Introspectable.1.png" style='width:800px;'>
+			<img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Introspectable.1.png'>
 		</div>
 	
 		<!-- ======================================================================================================= -->
@@ -19469,7 +19269,7 @@
 			</p>
 			
 			<h5 class='figure'>ClientTest.java</h5>
-			<p class='bcode'>		
+			<p class='bcode w800'>		
 	<jd>/** 
 	* Sample client code for interacting with AddressBookResource 
 	*/</jd> 
@@ -19556,7 +19356,7 @@
 			<p>
 				The output from running this code is the following:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	Running client test...
 	Number of entries = 2
 	Deleted person Barack Obama, response = DELETE successful
@@ -19581,7 +19381,7 @@
 				<br>The same actions done programmatically in the last section can also be done using URLs.
 				<br>By default, you can override the HTTP Method and Content through GET parameters, as shown below:
 			</p>
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Delete the existing entries</jc>
 	http://localhost:10000/addressBook/people/1?method=DELETE
 	http://localhost:10000/addressBook/people/2?method=DELETE
@@ -19644,27 +19444,27 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/tempDir
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.1.png'>
 		<p>
 			Pointing a browser to the <l>upload</l> link shows a form entry page:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/tempDir/upload
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.2.png'>
 		<p>
 			Submitting a file redirects to the top-level page:
 		</p>	
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/tempDir
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.3.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.3.png'>
 		
 		<h5 class='figure'>TempDirResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample resource that extends DirectoryResource to open up the temp directory as a REST resource. 
 	*/</jd> 
@@ -19778,27 +19578,27 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/atom
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.1.png'>
 		<p>
 			True ATOM feeds require using an <l>Accept:text/xml</l> header:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/atom?Accept=text/xml&amp;plainText=true
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.2.png'>
 		<p>
 			Other languages, such as JSON are also supported:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/atom?Accept=text/json&amp;plainText=true
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.3.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.3.png'>
 		
 		<h5 class='figure'>AtomFeedResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample resource that shows how to generate ATOM feeds. 
 	*/</jd> 
@@ -19909,12 +19709,12 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/docker
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.DockerRegistryResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.DockerRegistryResource.1.png'>
 		<h5 class='figure'>DockerRegistryResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample resource that shows how to mirror query results from a Docker registry. 
 	*/</jd> 
@@ -19992,7 +19792,7 @@
 			In this example, we're pulling the aside message from an external file:
 		</p>
 		<h5 class='figure'>resources/DockerRegistryResourceAside.html</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<xt>&lt;div</xt> <xa>style</xa>=<xs>'min-width:200px'</xs> <xa>class</xa>=<xs>'text'</xs><xt>&gt;</xt>
 		<xt>&lt;p&gt;</xt>REST API for searching Docker registries.<xt>&lt;/p&gt;</xt>
 		<xt>&lt;p&gt;</xt>To use, you must first specify the Docker registry URL in the <xt>&lt;code&gt;</xt>[Docker]<xt>&lt;/code&gt;</xt> section of the config file.<xt>&lt;/p&gt;</xt>
@@ -20004,7 +19804,7 @@
 		</p>
 		
 		<h5 class='figure'>examples.cfg</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#================================================================================
 	# DockerRegistryResource properties
 	#================================================================================</cc>
@@ -20034,13 +19834,13 @@
 			Pointing a browser at a Tumblr blog name, such as <l>ibmblr</l> causes a REST call to be make to the Tumblr
 			blog and the results to be parsed:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/tumblrParser/ibmblr
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.TumblrParserResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.TumblrParserResource.1.png'>
 		
 		<h5 class='figure'>TumblrParserResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<ja>@RestResource</ja>( 
 		path=<js>"/tumblrParser"</js>,
 		messages=<js>"nls/TumblrParserResource"</js>,
@@ -20126,20 +19926,20 @@
 		<p>
 			The resource consists of a simple registry of images with integer IDs.
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/photos
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.PhotosResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.PhotosResource.1.png'>
 		<p>
 			It is initialized with a single entry, which can be accessed through a GET request.
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/photos/cat
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.PhotosResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.PhotosResource.2.png'>
 		
 		<h5 class='figure'>PhotosResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/**
 	 * Sample resource that allows images to be uploaded and retrieved.
 	 */</jd>
@@ -20304,20 +20104,20 @@
 			The resource consists of a pre-initialized {@link org.apache.juneau.dto.jsonschema.Schema} object.
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/jsonSchema
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.JsonSchemaResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.JsonSchemaResource.1.png'>
 		<p>
 			For true JSON-Schema, you need to specify the header <l>Accept: text/json</l>:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/jsonSchema?Accept=text/json&amp;plainText=true
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.JsonSchemaResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.JsonSchemaResource.2.png'>
 		
 		<h5 class='figure'>JsonSchemaResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample resource that shows how to serialize JSON-Schema documents. 
 	*/</jd> 
@@ -20413,21 +20213,21 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/sqlQuery
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.SqlQueryResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.SqlQueryResource.1.png'>
 		<p>
 			Running a query results in the following output:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	select count(*) from SYS.SYSTABLES;
 	select TABLEID,TABLENAME,TABLETYPE from SYS.SYSTABLES;
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.SqlQueryResource.2.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.SqlQueryResource.2.png'>
 		
 		<h5 class='figure'>SqlQueryResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Sample resource that shows how Juneau can serialize ResultSets. 
 	*/</jd> 
@@ -20589,7 +20389,7 @@
 	} 
 		</p>
 		<h5 class='figure'>samples.cfg</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<cc>#================================================================================
 	# SqlQueryResource properties
 	#================================================================================</cc>
@@ -20612,24 +20412,24 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/config
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.ConfigResource.1.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.ConfigResource.1.png'>
 		<p>
 			An edit page is provided for altering the raw config file:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/config/edit
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.ConfigResource.2.png' style='width:800px'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.ConfigResource.2.png'>
 		<p>
 			The {@link org.apache.juneau.config.Config} class is a serializable POJO, which makes the resource
 				relatively straightforward to implement.
 		</p>
 		
 		<h5 class='figure'>ConfigResource.java</h5>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jd>/** 
 	* Shows contents of the microservice configuration file. 
 	*/</jd> 
@@ -20767,10 +20567,10 @@
 		<p>
 			Pointing a browser to the resource shows the following:
 		</p>
-		<p class='bcode' style='width:800px;'>
+		<p class='bcode w800'>
 	http://localhost:10000/logs
 		</p>			
-		<img class='bordered' src='doc-files/juneau-examples-rest.LogsResource.1.png' style='width:800px;'>
+		<img class='bordered w800' src='doc-files/juneau-examples-rest.LogsResource.1.png'>
 	</div>
 
 </div>
@@ -20809,7 +20609,7 @@
 		<p>
 			The following example shows a potential vector that circumvents the restriction above:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Don't do this!</jc>
 	Class c = Class.<jsf>forName</jsf>(someUserInputString);
 	JsonParser.<jsf>DEFAULT</jsf>.parse(input, c);  <jc>// Oops!  Security hole!</jc>
@@ -20831,7 +20631,7 @@
 			vulnerabilities.  However, it is possible to circumvent this through your swap implementation as shown
 			below: 	
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jc>// Don't do this!</jc>
 	<jk>public class</jk> MyInsecureSwap <jk>extends</jk> PojoSwap&lt;ObjectMap,Object&gt; {
 		<jk>public</jk> Object swap(BeanSession session, ObjectMap input) <jk>throws</jk> Exception {
@@ -20883,7 +20683,7 @@
 			An example of a potential security hole is shown below that could potentially expose any file on a file
 			system through a REST request:
 		</p>
-		<p class='bcode'>
+		<p class='bcode w800'>
 	<jk>public</jk> String doUnsafeGet(RestRequest req) {
 		<jc>// Security hole!</jc>
 		<jk>return</jk> req.getVarResolver().resolve(<js>"$RQ{foo}"</js>);
@@ -21442,7 +21242,7 @@
 			<li>
 				Added the following annotations to the {@link org.apache.juneau.rest.BasicRestServlet} class
 				(which were previously defined on the <code><del>Resource</del></code> class):
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		htmldoc=<ja>@HtmlDoc</ja>(
 			navlinks={
@@ -21507,7 +21307,7 @@
 		<ul class='spaced-list'>
 			<li>New static <code>create()</code> methods for builders on serializers and parsers.
 				<br>This simplifies the syntax of creation of serializers and parsers by scratch.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>// Old way</jc>
 	JsonSerializer s1 = <jk>new</jk> JsonSerializerBuilder().ws().build();
 	
@@ -21552,7 +21352,7 @@
 			<li>
 				New pluggable console commands.
 				<br>When you start up the microservice, you'll now see the following:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	Running class 'RestMicroservice' using config file 'examples.cfg'.
 	Server started on port 10000
 
@@ -21584,7 +21384,7 @@
 				</p>
 				<p>
 				Commands are pluggable and extensible through the config file. 
-	<p class='bcode'>
+	<p class='bcode w800'>
 	<cc>#=======================================================================================================================
 	# Console settings
 	#=======================================================================================================================</cc>
@@ -21657,7 +21457,7 @@
 				Removed annotation <code><ja>@HtmlDoc</ja>(favIcon)</code>.
 				<br>This was a discouraged way of defining fav-icons anyway, and with the addition of 
 				<code><ja>@HtmlDoc</ja>(head)</code>, you can define them using:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	head={
 		<js>"&lt;link rel='icon' href='$U{servlet:/htdocs/juneau.png}'/&gt;"</js>
 	}
@@ -21678,7 +21478,7 @@
 		<p>
 			The library now consists of the following artifacts found in the Maven group <code>"org.apache.juneau"</code>:
 		</p>
-		<table class='styled' style='min-width:800px;'>
+		<table class='styled w800'>
 			<tr>
 				<th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prereqs</th>
 			</tr>
@@ -21863,7 +21663,7 @@
 						<br>Replaces the <code>@Pojo</code> and <code>@BeanProperty.swap()</code> annotations.
 					<li>Support for per-media-type swaps.
 						<br>Programmatic example:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	<ja>@Swap</ja>(MyJsonOnlySwap.<jk>class</jk>)			
 	<jk>public class</jk> MyPojo {}
 
@@ -21878,7 +21678,7 @@
  		}
 						</p>
 						<br>Annotated example:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	<ja>@Swap</ja>(impl=ToStringSwap.<jk>class</jk>, mediaTypes=<js>"&#42;/json"</js>)
 	<jk>public class</jk> MyBean { ... }
 
@@ -21890,7 +21690,7 @@
 						</p>
 					<li>Support for templated swaps which provide additional context information for a swap.
 						<br>The following is an example of a templated swap class used to serialize POJOs to HTML using FreeMarker:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	<jc>// Our abstracted templated swap class.</jc>
 	<jk>public abstract class</jk> FreeMarkerSwap <jk>extends</jk> PojoSwap&lt;Object,Reader&gt; {
 
@@ -21903,13 +21703,13 @@
 		}
 	}
 						</p>
-						<p class='bcode'>
+						<p class='bcode w800'>
 		<ja>@Swap</ja>(impl=FreeMarkerSwap.<jk>class</jk>, template=<js>"MyPojo.div.ftl"</js>)
 		<jk>public class</jk> MyPojo {}
 						</p>
 					<li>New {@link org.apache.juneau.annotation.Swaps @Swaps} annotation for defining multiple swaps
 						against the same POJO when they're differentiated by media types:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	<ja>@Swaps</ja>(
 		{
 			<ja>@Swap</ja>(MyJsonSwap.<jk>class</jk>),
@@ -21929,7 +21729,7 @@
 				directly to the output stream or writer.
 				<br>When used with conjunction with <code>PojoSwaps</code>, this can be used to provide customized
 				output for specific content types.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Pojo</ja>(swap=MyBeanSwap.<jk>class</jk>)
 	<jk>public class</jk> MyBean {...}
 	
@@ -21950,7 +21750,7 @@
 			<li>
 				{@link org.apache.juneau.serializer.SerializerSession} and {@link org.apache.juneau.parser.ParserSession}
 				objects are now reusable if used within the same thread.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>// Old way (still works)</jc>
 	JsonSerializer.<jsf>DEFAULT</jsf>.serialize(writer1, pojo1);
 	JsonSerializer.<jsf>DEFAULT</jsf>.serialize(writer2, pojo2);
@@ -22216,7 +22016,7 @@
 				<ul>
 					<li>{@link org.apache.juneau.rest.annotation.HtmlDoc#navlinks() navlinks()} - Now an array of strings instead of a JSON object.  Simplified syntax.
 						<br>For example:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	<jc>// Old syntax</jc>
 	htmldoc=<ja>@HtmlDoc</ja>(
 		links=<js>"{"</js>
@@ -22332,7 +22132,7 @@
 				</ul>
 				Instead, the {@link org.apache.juneau.rest.BasicRestServlet} class defines the following default header
 				that can be easily overridden: 
-				<p class='bcode'>
+				<p class='bcode w800'>
 	htmldoc=<ja>@HtmlDoc</ja>(
 		header={
 			<js>"&lt;h1&gt;$R{resourceTitle}&lt;/h1&gt;"</js>,
@@ -22347,7 +22147,7 @@
 				files in the classpath.
 				<br>The <code>DockerRegistryResource</code> examples shows how it can be used to pull in a localized
 				file from the classpath to populate the aside section of a page.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	htmldoc=<ja>@HtmlDoc</ja>(
 		<jc>// Pull in aside contents from file.</jc>
 		aside=<js>"$F{resources/DockerRegistryResourceAside.html}"</js>
@@ -22397,7 +22197,7 @@
 			<li>
 				All parsers now allow for numeric types with <js>'K'</js>/<js>'M'</js>/<js>'G'</js> suffixes to represent
 				kilobytes, megabytes, and gigabytes.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>// Example</jc>
 	<jk>int</jk> i = JsonParser.<jsf>DEFAULT</jsf>.parse(<js>"123M"</js>);  <jc>// 123MB</jc>
 				</p>
@@ -22452,11 +22252,11 @@
 							<li><js>"request:/..."</js> - Relative to the request URI.
 						</ul>
 						For example, currently we define HTML page links using variables and servlet-relative URIs...
-						<p class='bcode'>
+						<p class='bcode w800'>
 	pages=<js>"{up:'$R{requestParentURI}', options:'?method=OPTIONS', upload:'upload'}"</js>
 						</p>
 						With these new protocols, we can define them like so:
-						<p class='bcode'>
+						<p class='bcode w800'>
 	links=<js>"{top:'context:/', up:'request:/..' ,options:'servlet:/?method=OPTIONS', upload:'servlet:/upload'}"</js>
 						</p>
 						The old method of using variables and servlet-relative URIs will still be supported, but using 
@@ -22479,7 +22279,7 @@
 				</ul>
 			<li>New annotation property: {@link org.apache.juneau.annotation.BeanProperty#value() @BeanProperty.value()}.
 				<br>The following two annotations are considered equivalent:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
 	
 	<ja>@BeanProperty</ja>(<js>"foo"</js>)
@@ -22623,7 +22423,7 @@
 					<li><code><del>ConfigFile</del></code> - The external config file for the resource.
 				</ul>
 				So, for example...
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jd>/** Old way */</jd> 
 	<ja>@RestMethod</ja>(name=<js>"*"</js>, path=<js>"/example1/{a1}/{a2}/{a3}/*"</js>) 
 	<jk>public</jk> String example1( 
@@ -22801,7 +22601,7 @@
 				Revamped the serializer, parser classes to use builders for creation.
 				Serializers and parsers are now unmodifiable objects once they are created.
 				This is a breaking code change that will require adoption.
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>/* Creating a new serializer or parser */ </jc>
 	
 	<jc>// Old way</jc>
@@ -22939,7 +22739,7 @@
 					<li><code><del>@RestResource.pageLinks()</del></code> 
 					<li><code><del>@RestMethod.pageLinks()</del></code> 
 				</ul>				
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<jc>// Old method</jc>
 	<ja>@RestResource</ja>(
 		properties={
@@ -22960,7 +22760,7 @@
 					Typically you're going to simply want to use the <code>title</code> and <code>description</code> annotations
 					which apply to both the page title/text and the swagger doc:		
 				</p>
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		title=<js>"System properties resource"</js>,
 		description=<js>"REST interface for performing CRUD operations on system properties."</js>,
@@ -22972,7 +22772,7 @@
 				and is now immutable.  It also includes a new {@link org.apache.juneau.rest.StreamResourceBuilder} class.
 			<li>Simplified remoteable proxies using the <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code> annotation on REST methods.
 				Used to expose interface proxies without the need for {@link org.apache.juneau.rest.remoteable.RemoteableServlet}.
-			<p class='bcode'>
+			<p class='bcode w800'>
 	<jc>// Server side</jc>
 	<ja>@RestMethod</ja>(name=<js>"PROXY"</js>, path=<js>"/myproxy/*"</js>)
 	<jk>public</jk> IAddressBook getProxy() {
@@ -22988,7 +22788,7 @@
 				without affecting functionality.  Very useful for debugging.
 			<li>You can now use numeric values in path annotations.  
 				<br>When using numeric variable names, you don't need to specify the variable name in the <ja>@Path</ja> annoation:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestMethod</ja>(name=<js>"GET"</js>, path=<js>"/myurl/{0}/{1}/{2}/*"</js>)
 	<jk>public void</jk> doGet(RestRequest req, RestResponse res,
 			<ja>@Path</ja> String foo, <ja>@Path</ja> <jk>int</jk> bar, <ja>@Path</ja> UUID baz) {
@@ -23161,7 +22961,7 @@
 				Using these methods, you can construct arbitrarily complex objects consisting of maps and collections.
 				You could do this before, but it required constructing a <code>ClassMeta</code> object.  
 				<br>For example:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jc>// Old way:</jc>
 	ClassMeta&lt;?&gt; cm = parser.getMapClassMeta(
 		HashMap.<jk>class</jk>, 
@@ -23180,7 +22980,7 @@
 				<li>No need for casting anymore if you were using the old <code>parseMap()</code> and <code>parseCollection()</code> methods!
 				<li>Changes allow me to eliminate <code>BeanContext.normalizeClassMeta()</code> method.
 				<li>Convenience methods added for setting parser properties:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jc>// Old way:</jc>
 	<jk>new</jk> JsonParser().setProperty(<jsf>PARSER_strict</jsf>, <jk>true</jk>).setProperty(<jsf>BEAN_locale</jsf>, mylocale);
 	
@@ -23191,7 +22991,7 @@
 			<li>Improvements to Serializer class:
 			<ul>
 				<li>Convenience methods added for setting serializer properties:
-					<p class='bcode'>
+					<p class='bcode w800'>
 	<jc>// Old way:</jc>
 	<jk>new</jk> JsonSerializer().setProperty(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).setProperty(<jsf>SERIALIZER_quoteChar</jsf>, <js>'"'</js>);
 	
@@ -24237,13 +24037,13 @@
 			<li>Added methods <code><del>RestServlet.getDescription(RestRequest)</del></code> and <del><code>RestServlet.getLabel(RestRequest)</code></del>.
 			<li>{@link org.apache.juneau.rest.BasicRestServlet} and <code><del>RestServletJenaDefault</del></code> now provide default HTML titles
 				and descriptions:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Property</ja>(name=<jsf>HTMLDOC_title</jsf>, value=<js>"$R{resourceTitle}"</js>),
 	<ja>@Property</ja>(name=<jsf>HTMLDOC_description</jsf>, value=<js>"$R{resourceDescription}"</js>)
 				</p>
 			<li>Options pages on {@link org.apache.juneau.rest.BasicRestServlet} and <code><del>RestServletJenaDefault</del></code> now provide default descriptions and back links:
 				and descriptions:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, value=<js>"{back:'$R{servletURI}"</js>),
 	<ja>@Property</ja>(name=<jsf>HTMLDOC_description</jsf>, value=<js>"Resource options"</js>)
 				</p>
@@ -24985,7 +24785,7 @@
 		<ul class='spaced-list'>
 			<li>
 				New support for runtime-replaced variables in REST resource properties:
-				<p class='bcode'>
+				<p class='bcode w800'>
 	<ja>@RestResource</ja>(
 		messages=<js>"nls/Messages"</js>,
 		properties={
diff --git a/juneau-doc/src/main/javadoc/resources/juneau-code.css b/juneau-doc/src/main/javadoc/resources/juneau-code.css
index d58bb74..ed078e0 100644
--- a/juneau-doc/src/main/javadoc/resources/juneau-code.css
+++ b/juneau-doc/src/main/javadoc/resources/juneau-code.css
@@ -78,6 +78,16 @@ p.bcode {
 	box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);
 }
 
+.w400 {
+	width:400px !important;
+}
+.w500 {
+	width:500px !important;
+}
+.w800 {
+	width:800px !important;
+}
+
 /*--- Bordered code in a section of a method doc ---*/
 dd p.bcode {
 	margin-left:0px;
diff --git a/juneau-examples/juneau-examples-rest/src/main/resources/org/apache/juneau/examples/rest/htdocs/code-highlighting.css b/juneau-examples/juneau-examples-rest/src/main/resources/org/apache/juneau/examples/rest/htdocs/code-highlighting.css
deleted file mode 100644
index a016a6c..0000000
--- a/juneau-examples/juneau-examples-rest/src/main/resources/org/apache/juneau/examples/rest/htdocs/code-highlighting.css
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************************************************************
- * 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.                                              *
- ***************************************************************************************************************************/
-code, 
-tt, 
-pre,
-dt code {
-	font-size: 9pt;
-}
-
-/*--- Bordered code ---*/
-p.bcode {
-	font-size: 9pt;
-	white-space: pre;
-	border: 1px solid black;
-	margin: 10px 20px;
-	padding: 10px;
-	border-radius: 10px;
-	overflow: hidden;
-	font-family: monospace;
-	background-color: #f8f8f8;
-	border-color: #cccccc;
-	-moz-tab-size: 3;
-	tab-size: 3;
-	-o-tab-size: 3;
-}
-
-.fixedWidth {
-	max-width: 800px;
-}
-
-/* Override padding bottom in javadoc comments. */
-.blockList p.bcode {
-	padding-bottom: 0px !important;
-}
-
-/*--- Unbordered code ---*/
-p.code {
-	font-size: 9pt;
-	white-space: pre;
-	font-family: monospace;
-	padding-bottom: 15px;
-	margin: -15px;
-}
-
-td.code {
-	font-size: 9pt;
-	white-space: pre;
-	font-family: monospace;
-}
-
-table.code {
-	font-size: 9pt;
-	white-space: pre;
-	font-family: monospace;
-}
-
-/*--- Java code effects ---*/
-jc,jd,jt,jk,js,jf,jsf,jsm,ja {
-	font-size: 9pt;
-	white-space: pre;
-	font-family: monospace;
-}
-/* Comment */
-jc {
-	color: green;
-}
-/* Javadoc comment */
-jd {
-	color: #3f5fbf;
-}
-/* Javadoc tag */
-jt {
-	color: #7f9fbf;
-	font-weight: bold;
-}
-/* Primitive */
-jk {
-	color: #7f0055;
-	font-weight: bold;
-}
-/* String */
-js {
-	color: blue;
-}
-/* Field */
-jf {
-	color: blue;
-}
-/* Static field */
-jsf {
-	color: blue;
-	font-style: italic;
-}
-/* Static method */
-jsm {
-	font-style: italic;
-}
-/* Annotation */
-ja {
-	color: grey;
-}
-
-/*--- XML code effects ---*/
-xt,xa,xc,xs {
-	font-size: 9pt;
-	white-space: pre;
-	font-family: monospace;
-}
-
-xt {
-	color: DarkCyan;
-}
-
-xa {
-	color: purple;
-}
-
-xc {
-	color: mediumblue;
-}
-
-xs {
-	color: blue;
-	font-style: italic;
-}
-

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

Mime
View raw message