http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
new file mode 100644
index 0000000..6be8583
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
@@ -0,0 +1,208 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.cognos;
+
+import java.util.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+import org.apache.juneau.xml.annotation.*;
+
+/**
+ * Represents a Cognos dataset.
+ *
+ * <p>
+ * When serialized to XML, creates the following construct (example pulled 
from <code>AddressBookResource</code>):
+ * <p class='bcode'>
+ *     <xt>&lt;?xml</xt> <xa>version</xa>=<xs>'1.0'</xs> 
<xa>encoding</xa>=<xs>'UTF-8'</xs><xt>?&gt;</xt>
+ *     <xt>&lt;c:dataset 
<xa>xmlns:c</xa>=<xs>'http://developer.cognos.com/schemas/xmldata/1/'</xs>&gt;</xt>
+ *             <xt>&lt;c:metadata&gt;</xt>
+ *                     <xt>&lt;c:item</xt> <xa>name</xa>=<xs>'name'</xs> 
<xa>type</xa>=<xs>'xs:String'</xs>
+ *                             <xa>length</xa>=<xs>'255'</xs><xt>/&gt;</xt>
+ *                     <xt>&lt;c:item</xt> <xa>name</xa>=<xs>'age'</xs> 
<xa>type</xa>=<xs>'xs:int'</xs><xt>/&gt;</xt>
+ *                     <xt>&lt;c:item</xt> 
<xa>name</xa>=<xs>'numAddresses'</xs> 
<xa>type</xa>=<xs>'xs:int'</xs><xt>/&gt;</xt>
+ *             <xt>&lt;/c:metadata&gt;</xt>
+ *             <xt>&lt;c:data&gt;</xt>
+ *                     <xt>&lt;c:row&gt;</xt>
+ *                             <xt>&lt;c:value&gt;</xt>Barack 
Obama<xt>&lt;/c:value&gt;</xt>
+ *                             
<xt>&lt;c:value&gt;</xt>52<xt>&lt;/c:value&gt;</xt>
+ *                             
<xt>&lt;c:value&gt;</xt>2<xt>&lt;/c:value&gt;</xt>
+ *                     <xt>&lt;/c:row&gt;</xt>
+ *                     <xt>&lt;c:row&gt;</xt>
+ *                             <xt>&lt;c:value&gt;</xt>George Walker 
Bush<xt>&lt;/c:value&gt;</xt>
+ *                             
<xt>&lt;c:value&gt;</xt>67<xt>&lt;/c:value&gt;</xt>
+ *                             
<xt>&lt;c:value&gt;</xt>2<xt>&lt;/c:value&gt;</xt>
+ *                     <xt>&lt;/c:row&gt;</xt>
+ *             <xt>&lt;/c:data&gt;</xt>
+ *     <xt>&lt;/c:dataset&gt;</xt>
+ * </p>
+ *
+ * <p>
+ * Only 2-dimensional POJOs (arrays or collections of maps or beans) can be 
serialized to Cognos.
+ *
+ * <h5 class='section'>Example:</h5>
+ *
+ * The construct shown above is a serialized <code>AddressBook</code> object 
which is a subclass of
+ * <code>LinkedList&lt;Person&gt;</code>.
+ * The code for generating the XML is as follows...
+ * </p>
+ * <p class='bcode'>
+ *     Column[] items = {
+ *             <jk>new</jk> Column(<js>"name"</js>, <js>"xs:String"</js>, 255),
+ *             <jk>new</jk> Column(<js>"age"</js>, <js>"xs:int"</js>),
+ *             <jk>new</jk> Column(<js>"numAddresses"</js>, <js>"xs:int"</js>)
+ *                     .addPojoSwap(
+ *                             <jk>new</jk> PojoSwap&lt;Person,Integer&gt;() {
+ *                                     <ja>@Override</ja>
+ *                                     <jk>public</jk> Integer swap(Person p) {
+ *                                             <jk>return</jk> 
p.<jf>addresses</jf>.size();
+ *                                     }
+ *                             }
+ *                     )
+ *     };
+ *
+ *     DataSet ds = <jk>new</jk> DataSet(items, <jsf>addressBook</jsf>, 
BeanContext.<jsf>DEFAULT</jsf>);
+ *
+ *     String xml = XmlSerializer.<jsf>DEFAULT_SQ</jsf>.serialize(ds);
+ * </p>
+ */
+@SuppressWarnings("unchecked")
+@Bean(typeName="dataset", properties="metadata,data")
+public class DataSet {
+
+       private Column[] metaData;
+       private List<Row> data;
+
+       /** Bean constructor. */
+       public DataSet() {}
+
+       /**
+        * Constructor.
+        *
+        * @param columns The meta-data that represents the columns in the 
dataset.
+        * @param o
+        *      The POJO being serialized to Cognos.
+        *      Must be an array/collection of beans/maps.
+        * @param session The bean session used to convert POJOs to strings.
+        * @throws Exception An error occurred trying to serialize the POJO.
+        */
+       public DataSet(Column[] columns, Object o, BeanSession session) throws 
Exception {
+               metaData = columns;
+               data = new LinkedList<Row>();
+               if (o != null) {
+                       if (o.getClass().isArray())
+                               o = Arrays.asList((Object[])o);
+                       if (o instanceof Collection) {
+                               Collection<?> c = (Collection<?>)o;
+                               for (Object o2 : c) {
+                                       Row r = new Row();
+                                       Map<?,?> m = null;
+                                       if (o2 instanceof Map)
+                                               m = (Map<?,?>)o2;
+                                       else
+                                               m = session.toBeanMap(o2);
+                                       for (Column col : columns) {
+                                               Object v;
+                                               if (col.pojoSwap != null)
+                                                       v = 
col.pojoSwap.swap(session, o2);
+                                               else
+                                                       v = 
m.get(col.getName());
+                                               r.add(v == null ? null : 
v.toString());
+                                       }
+                                       data.add(r);
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Represents a row of data.
+        *
+        * <p>
+        * When serialized to XML, creates the following construct (example 
pulled from <code>AddressBookResource</code>):
+        * <p class='bcode'>
+        *      <xt>&lt;row&gt;</xt>
+        *              <xt>&lt;value&gt;</xt>Barack 
Obama<xt>&lt;/value&gt;</xt>
+        *              <xt>&lt;value&gt;</xt>52<xt>&lt;/value&gt;</xt>
+        *              <xt>&lt;value&gt;</xt>2<xt>&lt;/value&gt;</xt>
+        *      <xt>&lt;/row&gt;</xt>
+        * </p>
+        */
+       @Bean(typeName="row")
+       public static class Row {
+               private List<String> values = new LinkedList<String>();
+
+               private void add(String value) {
+                       values.add(value);
+               }
+
+               /**
+                * Returns the values in this row.
+                *
+                * @return The values in this row.
+                */
+               @Xml(format=XmlFormat.COLLAPSED, childName="value")
+               public List<String> getValues() {
+                       return values;
+               }
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Bean properties
+       
//--------------------------------------------------------------------------------
+
+       /**
+        * Bean property getter:  <property>metadata</property>.
+        *
+        * @return The value of the <property>metadata</property> property on 
this bean, or <jk>null</jk> if it is not set.
+        */
+       @BeanProperty("metadata")
+       public Column[] getMetaData() {
+               return metaData;
+       }
+
+       /**
+        * Bean property setter:  <property>metadata</property>.
+        *
+        * @param metaData The new value for the <property>metadata</property> 
property on this bean.
+        * @return This object (for method chaining).
+        */
+       @BeanProperty("metadata")
+       public DataSet setMetaData(Column[] metaData) {
+               this.metaData = metaData;
+               return this;
+       }
+
+       /**
+        * Bean property getter:  <property>data</property>.
+        *
+        * @return The value of the <property>data</property> property on this 
bean, or <jk>null</jk> if it is not set.
+        */
+       @BeanProperty("data")
+       public List<Row> getData() {
+               return data;
+       }
+
+       /**
+        * Bean property setter:  <property>data</property>.
+        *
+        * @param data The new value for the <property>data</property> property 
on this bean.
+        * @return This object (for method chaining).
+        */
+       @BeanProperty("data")
+       public DataSet setData(List<Row> data) {
+               this.data = data;
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/HTML.png
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/HTML.png
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/HTML.png
new file mode 100644
index 0000000..fd63c23
Binary files /dev/null and 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/HTML.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/JSON.png
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/JSON.png
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/JSON.png
new file mode 100644
index 0000000..44785ad
Binary files /dev/null and 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/JSON.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/RDFXML.png
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/RDFXML.png
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/RDFXML.png
new file mode 100644
index 0000000..081e949
Binary files /dev/null and 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/doc-files/RDFXML.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package-info.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package-info.java
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package-info.java
new file mode 100644
index 0000000..484563d
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package-info.java
@@ -0,0 +1,17 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+// XML namespaces used in this package
+@XmlSchema(prefix="cognos", 
namespace="http://developer.cognos.com/schemas/xmldata/1/";)
+package org.apache.juneau.dto.cognos;
+import org.apache.juneau.xml.annotation.*;
+

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package.html
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package.html
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package.html
new file mode 100644
index 0000000..b19a781
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/package.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML>
+<!--
+/***************************************************************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *  
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.  See the License for the
+ * specific language governing permissions and limitations under the License.
+ *
+ 
***************************************************************************************************************************/
+ -->
+<html>
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+       <style type="text/css">
+               /* For viewing in Page Designer */
+               @IMPORT url("../../../../../../javadoc.css");
+
+               /* For viewing in REST interface */
+               @IMPORT url("../htdocs/javadoc.css");
+               body { 
+                       margin: 20px; 
+               }       
+       </style>
+       <script>
+               /* Replace all @code and @link tags. */ 
+               window.onload = function() {
+                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
+                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, 
'<code>$3</code>');
+               }
+       </script>
+</head>
+<body>
+<p>Cognos Data Transfer Objects</p>
+<script>
+       function toggle(x) {
+               var div = x.nextSibling;
+               while (div != null && div.nodeType != 1)
+                       div = div.nextSibling;
+               if (div != null) {
+                       var d = div.style.display;
+                       if (d == 'block' || d == '') {
+                               div.style.display = 'none';
+                               x.className += " closed";
+                       } else {
+                               div.style.display = 'block';
+                               x.className = 
x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
+                       }
+               }
+       }
+</script>
+<a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
+<ol class='toc'>
+       <li><p><a class='doclink' href='#CognosSerializer'>Cognos serialization 
support</a></p>
+       <li><p><a class='doclink' href='#CognosParser'>Cognos parsing 
support</a></p>
+</ol>
+
+<!-- 
========================================================================================================
 -->
+<a id="CognosSerializer"></a>
+<h2 class='topic' onclick='toggle(this)'>1 - Cognos serialization support</h2>
+<div class='topic'>
+       <p>
+               The {@link org.apache.juneau.dto.cognos.DataSet} class is a DTO 
used to convert POJO models directly to Cognos-XML.
+       </p>
+       <p>
+               Because of the nature of the Cognos XML syntax, only 
<i>2-dimensional</i> POJO data structures can be serialized to Cognos-XML.
+       </p>
+       <p>
+               For example...
+       </p>
+       <ul class='normal'>
+               <li><code>Collection&lt;Bean&gt;</code>
+               <li><code>Collection&lt;Map&gt;</code>
+               <li>{@code MyBean[]}
+               <li>{@code HashMap[]}
+       </ul>
+       
+       <h6 class='topic'>Example:</h6>
+       <p>
+               The following example shows how to generate Cognos-XML from a 
POJO.  
+               The example uses the <a class='doclink' 
href='../../doc-files/AddressBook.html'>AddressBook</a> sample POJO.
+               It should be noted that since the {@code AddressBook} class is 
a subclass of {@code LinkedList}, it fulfills
+                       the requirement of being a tabular data structure.  
+       </p>
+       <p class='bcode'>
+       <jc>// Create our POJO with some entries.</jc>
+       AddressBook addressBook = <jk>new</jk> AddressBook();
+       addressBook.add(
+               <jk>new</jk> Person(<js>"Barack Obama"</js>, <js>"Aug 4, 
1961"</js>,
+                       <jk>new</jk> Address(<js>"1600 Pennsylvania Ave"</js>, 
<js>"Washington"</js>, <js>"DC"</js>, 20500, <jk>true</jk>),
+                       <jk>new</jk> Address(<js>"5046 S Greenwood Ave"</js>, 
<js>"Chicago"</js>, <js>"IL"</js>, 60615, <jk>false</jk>)
+               )
+       );
+       addressBook.add(
+               <jk>new</jk> Person(<js>"George Walker Bush"</js>, <js>"Jul 6, 
1946"</js>,
+                       <jk>new</jk> Address(<js>"43 Prairie Chapel Rd"</js>, 
<js>"Crawford"</js>, <js>"TX"</js>, 76638, <jk>true</jk>),
+                       <jk>new</jk> Address(<js>"1600 Pennsylvania Ave"</js>, 
<js>"Washington"</js>, <js>"DC"</js>, 20500, <jk>false</jk>)
+               )
+       );
+
+       <jc>// Define the Cognos metadata</jc>
+       Column[] items = {
+               <jk>new</jk> Column(<js>"name"</js>, <js>"xs:String"</js>, 255),
+               <jk>new</jk> Column(<js>"age"</js>, <js>"xs:int"</js>),
+               <jk>new</jk> Column(<js>"numAddresses"</js>, <js>"xs:int"</js>)
+                       .addPojoSwap(
+                               <jk>new</jk> PojoSwap&lt;Person,Integer&gt;() {
+                                       <ja>@Override</ja>
+                                       <jk>public</jk> Integer 
swap(BeanSession session, Person p) {
+                                               <jk>return</jk> 
p.<jf>addresses</jf>.size();
+                                       }
+                               }
+                       )
+       };
+       
+       <jc>// Create the Cognos DataSet object</jc>
+       DataSet ds = <jk>new</jk> DataSet(items, <jsf>addressBook</jsf>, 
BeanContext.<jsf>DEFAULT</jsf>);
+       
+       <jc>// Serialize it to XML</jc>
+       String xml = XmlSerializer.<jsf>DEFAULT_SQ</jsf>.serialize(ds);
+       </p>
+       <p>
+               When run, this code produces the following XML...
+       </p>
+       <p class='bcode'>
+       <xt>&lt;?xml</xt> <xa>version</xa>=<xs>'1.0'</xs> 
<xa>encoding</xa>=<xs>'UTF-8'</xs><xt>?&gt;</xt>
+       <xt>&lt;c:dataset 
<xa>xmlns:c</xa>=<xs>'http://developer.cognos.com/schemas/xmldata/1/'</xs>&gt;</xt>
+               <xt>&lt;c:metadata&gt;</xt>
+                       <xt>&lt;c:item</xt> <xa>name</xa>=<xs>'name'</xs> 
<xa>type</xa>=<xs>'xs:String'</xs> <xa>length</xa>=<xs>'255'</xs><xt>/&gt;</xt>
+                       <xt>&lt;c:item</xt> <xa>name</xa>=<xs>'age'</xs> 
<xa>type</xa>=<xs>'xs:int'</xs><xt>/&gt;</xt>
+                       <xt>&lt;c:item</xt> 
<xa>name</xa>=<xs>'numAddresses'</xs> 
<xa>type</xa>=<xs>'xs:int'</xs><xt>/&gt;</xt>
+               <xt>&lt;/c:metadata&gt;</xt>
+               <xt>&lt;c:data&gt;</xt>
+                       <xt>&lt;c:row&gt;</xt>
+                               <xt>&lt;c:value&gt;</xt>Barack 
Obama<xt>&lt;/c:value&gt;</xt>
+                               
<xt>&lt;c:value&gt;</xt>52<xt>&lt;/c:value&gt;</xt>
+                               
<xt>&lt;c:value&gt;</xt>2<xt>&lt;/c:value&gt;</xt>
+                       <xt>&lt;/c:row&gt;</xt>
+                       <xt>&lt;c:row&gt;</xt>
+                               <xt>&lt;c:value&gt;</xt>George Walker 
Bush<xt>&lt;/c:value&gt;</xt>
+                               
<xt>&lt;c:value&gt;</xt>67<xt>&lt;/c:value&gt;</xt>
+                               
<xt>&lt;c:value&gt;</xt>2<xt>&lt;/c:value&gt;</xt>
+                       <xt>&lt;/c:row&gt;</xt>
+               <xt>&lt;/c:data&gt;</xt>
+       <xt>&lt;/c:dataset&gt;</xt>
+       </p>
+       
+       <h6 class='topic'>Other data formats</h6>
+       <p>
+               The following shows examples of what this data structure looks 
like when serialized to other formats:
+       </p>
+       
+       <h6 class='figure'>HTML</h6>
+       <img class='bordered' src='doc-files/HTML.png'>
+       
+       <h6 class='figure'>JSON</h6>
+       <img class='bordered' src='doc-files/JSON.png'>
+       
+       <h6 class='figure'>RDF/XML</h6>
+       <img class='bordered' src='doc-files/RDFXML.png'>
+</div>
+
+<!-- 
========================================================================================================
 -->
+<a id="CognosParser"></a>
+<h2 class='topic' onclick='toggle(this)'>2 - Cognos parsing support</h2>
+<div class='topic'>
+       <p>
+               The {@link org.apache.juneau.dto.cognos.DataSet} class can be 
reconstructed from Cognos/XML using one of the standard XML parsers.
+       </p>
+       
+       <h6 class='topic'>Example:</h6>
+       <p class='bcode'>
+       <jc>// Parse XML back into original DataSet</jc> 
+       DataSet ds = XmlParser.<jsf>DEFAULT</jsf>.parse(xml, 
DataSet.<jk>class</jk>);
+       </p>
+</div>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/A.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/A.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/A.java
new file mode 100644
index 0000000..5138fcc
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/A.java
@@ -0,0 +1,169 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element";>&lt;a&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="a")
+public class A extends HtmlElementMixed {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-download";>download</a>
 attribute.
+        *
+        * <p>
+        * Whether to download the resource instead of navigating to it, and 
its file name if so.
+        *
+        * @param download
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final A download(Object download) {
+               attr("download", download);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-href";>href</a> 
attribute.
+        *
+        * <p>
+        * Address of the hyperlink.
+        *
+        * <p>
+        * The value can be of any of the following types: {@link URI}, {@link 
URL}, {@link String}.
+        * Strings must be valid URIs.
+        *
+        * <p>
+        * URIs defined by {@link UriResolver} can be used for values.
+        *
+        * @param href
+        *      The new value for this attribute.
+        *      Typically a {@link URL} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final A href(Object href) {
+               attrUri("href", href);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-hreflang";>hreflang</a>
 attribute.
+        *
+        * <p>
+        * Language of the linked resource.
+        *
+        * @param hreflang The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final A hreflang(String hreflang) {
+               attr("hreflang", hreflang);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-rel";>rel</a> 
attribute.
+        *
+        * <p>
+        * Relationship between the document containing the hyperlink and the 
destination resource.
+        *
+        * @param rel The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final A rel(String rel) {
+               attr("rel", rel);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-target";>target</a> 
attribute.
+        *
+        * <p>
+        * Default browsing context for hyperlink navigation and form 
submission.
+        *
+        * @param target The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final A target(String target) {
+               attr("target", target);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-type";>type</a> 
attribute.
+        *
+        * <p>
+        * Hint for the type of the referenced resource.
+        *
+        * @param type The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final A type(String type) {
+               attr("type", type);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final A _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final A id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final A style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public A children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public A child(Object child) {
+               super.child(child);
+               return this;
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Abbr.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Abbr.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Abbr.java
new file mode 100644
index 0000000..0e2c075
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Abbr.java
@@ -0,0 +1,75 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-abbr-element";>&lt;abbr&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="abbr")
+public class Abbr extends HtmlElementMixed {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Abbr _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Abbr id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Abbr style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Abbr title(String title) {
+               super.title(title);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Abbr children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Abbr child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Address.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Address.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Address.java
new file mode 100644
index 0000000..cd60484
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Address.java
@@ -0,0 +1,69 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/sections.html#the-address-element";>&lt;address&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="address")
+public class Address extends HtmlElementMixed {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Address _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Address id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Address style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Address children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Address child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Area.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Area.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Area.java
new file mode 100644
index 0000000..97a4463
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Area.java
@@ -0,0 +1,200 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#the-area-element";>&lt;area&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="area")
+public class Area extends HtmlElementVoid {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-area-alt";>alt</a>
 attribute.
+        *
+        * <p>
+        * Replacement text for use when images are not available.
+        *
+        * @param alt The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area alt(String alt) {
+               attr("alt", alt);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-area-coords";>coords</a>
+        * attribute.
+        *
+        * <p>
+        * Coordinates for the shape to be created in an image map.
+        *
+        * @param coords The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area coords(String coords) {
+               attr("coords", coords);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-download";>download</a>
 attribute.
+        *
+        * <p>
+        * Whether to download the resource instead of navigating to it, and 
its file name if so.
+        *
+        * @param download
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Area download(Object download) {
+               attr("download", download);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-href";>href</a> 
attribute.
+        *
+        * <p>
+        * Address of the hyperlink.
+        *
+        * <p>
+        * The value can be of any of the following types: {@link URI}, {@link 
URL}, {@link String}.
+        * Strings must be valid URIs.
+        *
+        * <p>
+        * URIs defined by {@link UriResolver} can be used for values.
+        *
+        * @param href
+        *      The new value for this attribute.
+        *      Typically a {@link URL} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Area href(Object href) {
+               attrUri("href", href);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-hreflang";>hreflang</a>
 attribute.
+        *
+        * <p>
+        * Language of the linked resource.
+        *
+        * @param hreflang The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area hreflang(String hreflang) {
+               attr("hreflang", hreflang);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-rel";>rel</a> 
attribute.
+        *
+        * <p>
+        * Relationship between the document containing the hyperlink and the 
destination resource.
+        *
+        * @param rel The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area rel(String rel) {
+               attr("rel", rel);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-area-shape";>shape</a>
 attribute.
+        *
+        * <p>
+        * The kind of shape to be created in an image map.
+        *
+        * @param shape The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area shape(String shape) {
+               attr("shape", shape);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-target";>target</a> 
attribute.
+        *
+        * <p>
+        * Browsing context for hyperlink navigation.
+        *
+        * @param target The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area target(String target) {
+               attr("target", target);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-type";>type</a> 
attribute.
+        *
+        * <p>
+        * Hint for the type of the referenced resource.
+        *
+        * @param type The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Area type(String type) {
+               attr("type", type);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Area _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Area id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Area style(String style) {
+               super.style(style);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Article.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Article.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Article.java
new file mode 100644
index 0000000..519e4b0
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Article.java
@@ -0,0 +1,114 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/sections.html#the-article-element";>&lt;article&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="article")
+public class Article extends HtmlElementMixed {
+
+       /**
+        * Adds a header node to this element.
+        *
+        * @param children The children inside the header node.
+        * @return This object (for method chaining).
+        */
+       public Article header(Object...children) {
+               super.child(HtmlBuilder.header(children));
+               return this;
+       }
+
+       /**
+        * Adds a footer node to this element.
+        *
+        * @param children The children inside the footer node.
+        * @return This object (for method chaining).
+        */
+       public Article footer(Object...children) {
+               super.child(HtmlBuilder.footer(children));
+               return this;
+       }
+
+       /**
+        * Adds a link node to this element.
+        *
+        * @param link The link node to add to this article.
+        * @return This object (for method chaining).
+        */
+       public Article link(Link link) {
+               super.child(link);
+               return this;
+       }
+
+       /**
+        * Adds a section node to this element.
+        *
+        * @param section The section node to add to this article.
+        * @return This object (for method chaining).
+        */
+       public Article section(Section section) {
+               super.child(section);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Article _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Article id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Article style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Article children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Article child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Aside.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Aside.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Aside.java
new file mode 100644
index 0000000..ca5cf08
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Aside.java
@@ -0,0 +1,69 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/sections.html#the-aside-element";>&lt;aside&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="aside")
+public class Aside extends HtmlElementMixed {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Aside _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Aside id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Aside style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Aside children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Aside child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Audio.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Audio.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Audio.java
new file mode 100644
index 0000000..1acd391
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Audio.java
@@ -0,0 +1,209 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#the-audio-element";>&lt;audio&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="audio")
+public class Audio extends HtmlElementContainer {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-autoplay";>autoplay</a>
+        * attribute.
+        *
+        * <p>
+        * Hint that the media resource can be started automatically when the 
page is loaded.
+        *
+        * @param autoplay
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Audio autoplay(Object autoplay) {
+               attr("autoplay", autoplay);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-controls";>controls</a>
+        * attribute.
+        *
+        * <p>
+        * Show user agent controls.
+        *
+        * @param controls
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Audio controls(Object controls) {
+               attr("controls", controls);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-crossorigin";>crossorigin</a>
+        * attribute.
+        *
+        * <p>
+        * How the element handles cross-origin requests.
+        *
+        * @param crossorigin The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Audio crossorigin(String crossorigin) {
+               attr("crossorigin", crossorigin);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-loop";>loop</a>
 attribute.
+        *
+        * <p>
+        * Whether to loop the media resource.
+        *
+        * @param loop
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Audio loop(Object loop) {
+               attr("loop", loop);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-mediagroup";>mediagroup</a>
+        * attribute.
+        *
+        * <p>
+        * Groups media elements together with an implicit MediaController.
+        *
+        * @param mediagroup The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Audio mediagroup(String mediagroup) {
+               attr("mediagroup", mediagroup);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-muted";>muted</a>
+        * attribute.
+        *
+        * <p>
+        * Whether to mute the media resource by default.
+        *
+        * @param muted
+        *      The new value for this attribute.
+        *      Typically a {@link Boolean} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Audio muted(Object muted) {
+               attr("muted", muted);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-preload";>preload</a>
+        * attribute.
+        *
+        * <p>
+        * Hints how much buffering the media resource will likely need.
+        *
+        * @param preload The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Audio preload(Object preload) {
+               attr("preload", preload);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-src";>src</a>
 attribute.
+        *
+        * <p>
+        * Address of the resource.
+        *
+        * <p>
+        * The value can be of any of the following types: {@link URI}, {@link 
URL}, {@link String}.
+        * Strings must be valid URIs.
+        *
+        * <p>
+        * URIs defined by {@link UriResolver} can be used for values.
+        *
+        * @param src
+        *      The new value for this attribute.
+        *      Typically a {@link URL} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Audio src(Object src) {
+               attrUri("src", src);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Audio _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Audio id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Audio style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementContainer */
+       public final Audio children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementContainer */
+       public final Audio child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/B.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/B.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/B.java
new file mode 100644
index 0000000..d4beaba
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/B.java
@@ -0,0 +1,69 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-b-element";>&lt;b&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="b")
+public class B extends HtmlElementMixed {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final B _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final B id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final B style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public B children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public B child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Base.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Base.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Base.java
new file mode 100644
index 0000000..253be94
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Base.java
@@ -0,0 +1,100 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/document-metadata.html#the-base-element";>&lt;base&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="base")
+public class Base extends HtmlElementVoid {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/document-metadata.html#attr-base-href";>href</a>
 attribute.
+        *
+        * <p>
+        * Document base URL.
+        *
+        * <p>
+        * The value can be of any of the following types: {@link URI}, {@link 
URL}, {@link String}.
+        * Strings must be valid URIs.
+        *
+        * <p>
+        * URIs defined by {@link UriResolver} can be used for values.
+        *
+        * @param href
+        *      The new value for this attribute.
+        *      Typically a {@link URL} or {@link String}.
+        * @return This object (for method chaining).
+        */
+       public final Base href(Object href) {
+               attrUri("href", href);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/document-metadata.html#attr-base-target";>target</a>
+        * attribute.
+        *
+        * <p>
+        * Default browsing context for hyperlink navigation and form 
submission.
+        *
+        * @param target The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Base target(String target) {
+               attr("target", target);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Base _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Base id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Base style(String style) {
+               super.style(style);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdi.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdi.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdi.java
new file mode 100644
index 0000000..bba51e5
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdi.java
@@ -0,0 +1,63 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-bdi-element";>&lt;bdi&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="bdi")
+public class Bdi extends HtmlElementText {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Bdi _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Bdi id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Bdi style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementText */
+       public Bdi text(Object text) {
+               super.text(text);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdo.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdo.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdo.java
new file mode 100644
index 0000000..b8c6acf
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Bdo.java
@@ -0,0 +1,75 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-bdo-element";>&lt;bdo&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="bdo")
+public class Bdo extends HtmlElementMixed {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Bdo _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public Bdo dir(String dir) {
+               super.dir(dir);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Bdo id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Bdo style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Bdo children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Bdo child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Blockquote.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Blockquote.java
 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Blockquote.java
new file mode 100644
index 0000000..bcaa2db
--- /dev/null
+++ 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Blockquote.java
@@ -0,0 +1,85 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/grouping-content.html#the-blockquote-element";>&lt;blockquote&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="blockquote")
+public class Blockquote extends HtmlElementMixed {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/grouping-content.html#attr-blockquote-cite";>cite</a>
+        * attribute.
+        *
+        * <p>
+        * Link to the source of the quotation.
+        *
+        * @param cite The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Blockquote cite(String cite) {
+               attr("cite", cite);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Blockquote _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Blockquote id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Blockquote style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Blockquote children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Blockquote child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Body.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Body.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Body.java
new file mode 100644
index 0000000..8bd8b3f
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Body.java
@@ -0,0 +1,142 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/sections.html#the-body-element";>&lt;body&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="body")
+public class Body extends HtmlElementMixed {
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-onafterprint";>onafterprint</a>
+        * attribute.
+        *
+        * @param onafterprint The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body onafterprint(String onafterprint) {
+               attr("onafterprint", onafterprint);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-onbeforeunload";>onbeforeunload</a>
+        * attribute.
+        *
+        * @param onbeforeunload The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body onbeforeunload(String onbeforeunload) {
+               attr("onbeforeunload", onbeforeunload);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-onmessage";>onmessage</a>
+        * attribute.
+        *
+        * @param onmessage The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body onmessage(String onmessage) {
+               attr("onmessage", onmessage);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-ononline";>ononline</a>
+        * attribute.
+        *
+        * @param ononline The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body ononline(String ononline) {
+               attr("ononline", ononline);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-onpageshow";>onpageshow</a>
+        * attribute.
+        *
+        * @param onpageshow The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body onpageshow(String onpageshow) {
+               attr("onpageshow", onpageshow);
+               return this;
+       }
+
+       /**
+        * <a class="doclink" 
href="https://www.w3.org/TR/html5/webappapis.html#handler-window-onstorage";>onstorage</a>
+        * attribute.
+        *
+        * @param onstorage The new value for this attribute.
+        * @return This object (for method chaining).
+        */
+       public final Body onstorage(String onstorage) {
+               attr("onstorage", onstorage);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Body _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Body id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Body style(String style) {
+               super.style(style);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Body children(Object...children) {
+               super.children(children);
+               return this;
+       }
+
+       @Override /* HtmlElementMixed */
+       public Body child(Object child) {
+               super.child(child);
+               return this;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/75b0d8ee/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Br.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Br.java 
b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Br.java
new file mode 100644
index 0000000..e7eba5e
--- /dev/null
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Br.java
@@ -0,0 +1,57 @@
+// 
***************************************************************************************************************************
+// * 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.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau.dto.html5;
+
+import org.apache.juneau.annotation.*;
+
+/**
+ * DTO for an HTML <a class="doclink" 
href="https://www.w3.org/TR/html5/text-level-semantics.html#the-br-element";>&lt;br&gt;</a>
+ * element.
+ *
+ * <h6 class='topic'>Additional Information</h6>
+ * <ul class='doctree'>
+ *     <li class='link'>
+ *             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs'>Juneau Data Transfer Objects
+ *             (org.apache.juneau.dto)</a>
+ *             <ul>
+ *                     <li class='sublink'>
+ *                             <a class='doclink' 
href='../../../../../overview-summary.html#DTOs.HTML5'>HTML5</a>
+ *             </ul>
+ *             </li>
+ * </ul>
+ */
+@Bean(typeName="br")
+public class Br extends HtmlElementVoid {
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* HtmlElement */
+       public final Br _class(String _class) {
+               super._class(_class);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Br id(String id) {
+               super.id(id);
+               return this;
+       }
+
+       @Override /* HtmlElement */
+       public final Br style(String style) {
+               super.style(style);
+               return this;
+       }
+}

Reply via email to