You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by sl...@apache.org on 2018/11/07 20:05:27 UTC

[incubator-daffodil-site] branch asf-site updated: Publishing from 57f97a323d076db2d3959078148a80d88d40b8a7

This is an automated email from the ASF dual-hosted git repository.

slawrence pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-daffodil-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 2103919  Publishing from 57f97a323d076db2d3959078148a80d88d40b8a7
2103919 is described below

commit 2103919042b971c242845e532232f7b4c6a47a07
Author: Steve Lawrence <sl...@tresys.com>
AuthorDate: Wed Nov 7 15:04:46 2018 -0500

    Publishing from 57f97a323d076db2d3959078148a80d88d40b8a7
---
 .../assets/themes/apache/img/daffodil_logo_64.png  |  Bin 0 -> 3699 bytes
 content/docs/latest/javadoc/allclasses-frame.html  |    7 +-
 .../docs/latest/javadoc/allclasses-noframe.html    |    7 +-
 content/docs/latest/javadoc/constant-values.html   |    8 +-
 content/docs/latest/javadoc/deprecated-list.html   |   22 +-
 content/docs/latest/javadoc/help-doc.html          |    8 +-
 content/docs/latest/javadoc/index-all.html         |   43 +-
 content/docs/latest/javadoc/index.html             |    4 +-
 .../javadoc/org/apache/daffodil/japi/Compiler.html |   40 +-
 .../javadoc/org/apache/daffodil/japi/Daffodil.html |    8 +-
 .../org/apache/daffodil/japi/DataLocation.html     |   52 +-
 .../org/apache/daffodil/japi/DataProcessor.html    |  232 +-
 .../org/apache/daffodil/japi/Diagnostic.html       |   76 +-
 .../daffodil/japi/InvalidParserException.html      |    8 +-
 .../daffodil/japi/InvalidUsageException.html       |    8 +-
 .../apache/daffodil/japi/LocationInSchemaFile.html |    8 +-
 .../org/apache/daffodil/japi/ParseResult.html      |   68 +-
 .../org/apache/daffodil/japi/ProcessorFactory.html |   38 +-
 .../org/apache/daffodil/japi/UnparseResult.html    |    8 +-
 .../org/apache/daffodil/japi/ValidationMode.html   |    8 +-
 .../org/apache/daffodil/japi/WithDiagnostics.html  |   40 +-
 .../daffodil/japi/debugger/DebuggerRunner.html     |   42 +-
 .../japi/debugger/TraceDebuggerRunner.html         |   56 +-
 .../daffodil/japi/debugger/package-frame.html      |    6 +-
 .../daffodil/japi/debugger/package-summary.html    |    8 +-
 .../daffodil/japi/debugger/package-tree.html       |    8 +-
 .../daffodil/japi/infoset/InfosetInputter.html     |   47 +-
 .../japi/infoset/InfosetInputterProxy.html         |   50 +-
 .../daffodil/japi/infoset/InfosetOutputter.html    |  132 +-
 .../japi/infoset/InfosetOutputterProxy.html        |  182 +-
 .../daffodil/japi/infoset/JDOMInfosetInputter.html |   24 +-
 .../japi/infoset/JDOMInfosetOutputter.html         |   30 +-
 .../daffodil/japi/infoset/JsonInfosetInputter.html |   24 +-
 .../japi/infoset/JsonInfosetOutputter.html         |   10 +-
 .../japi/infoset/NullInfosetOutputter.html         |   10 +-
 .../japi/infoset/ScalaXMLInfosetInputter.html      |   24 +-
 .../japi/infoset/ScalaXMLInfosetOutputter.html     |   10 +-
 .../japi/infoset/W3CDOMInfosetInputter.html        |   24 +-
 .../japi/infoset/W3CDOMInfosetOutputter.html       |   30 +-
 .../japi/infoset/XMLTextInfosetInputter.html       |   24 +-
 .../japi/infoset/XMLTextInfosetOutputter.html      |   10 +-
 .../daffodil/japi/infoset/package-frame.html       |    6 +-
 .../daffodil/japi/infoset/package-summary.html     |   14 +-
 .../apache/daffodil/japi/infoset/package-tree.html |   12 +-
 .../InputSourceDataInputStream.html}               |  116 +-
 .../org/apache/daffodil/japi/io/package-frame.html |   20 +
 .../package-tree.html => io/package-summary.html}  |   66 +-
 .../japi/{debugger => io}/package-tree.html        |   28 +-
 .../daffodil/japi/logger/ConsoleLogWriter.html     |    8 +-
 .../apache/daffodil/japi/logger/FileLogWriter.html |    8 +-
 .../org/apache/daffodil/japi/logger/LogLevel.html  |    8 +-
 .../org/apache/daffodil/japi/logger/LogWriter.html |   54 +-
 .../apache/daffodil/japi/logger/NullLogWriter.html |    8 +-
 .../apache/daffodil/japi/logger/package-frame.html |    6 +-
 .../daffodil/japi/logger/package-summary.html      |   14 +-
 .../apache/daffodil/japi/logger/package-tree.html  |   12 +-
 .../org/apache/daffodil/japi/package-frame.html    |    6 +-
 .../org/apache/daffodil/japi/package-summary.html  |   35 +-
 .../org/apache/daffodil/japi/package-tree.html     |    8 +-
 content/docs/latest/javadoc/overview-frame.html    |    7 +-
 content/docs/latest/javadoc/overview-summary.html  |   16 +-
 content/docs/latest/javadoc/overview-tree.html     |   12 +-
 content/docs/latest/javadoc/package-list           |    1 +
 content/docs/latest/javadoc/serialized-form.html   |    8 +-
 content/docs/latest/scaladoc/deprecated-list.html  |   23 -
 content/docs/latest/scaladoc/index.html            |  192 +-
 content/docs/latest/scaladoc/index.js              |    2 +-
 content/docs/latest/scaladoc/index/index-a.html    |   17 -
 content/docs/latest/scaladoc/index/index-b.html    |   20 -
 content/docs/latest/scaladoc/index/index-c.html    |   35 -
 content/docs/latest/scaladoc/index/index-d.html    |   41 -
 content/docs/latest/scaladoc/index/index-e.html    |   29 -
 content/docs/latest/scaladoc/index/index-f.html    |   23 -
 content/docs/latest/scaladoc/index/index-g.html    |   53 -
 content/docs/latest/scaladoc/index/index-h.html    |   17 -
 content/docs/latest/scaladoc/index/index-i.html    |   62 -
 content/docs/latest/scaladoc/index/index-j.html    |   26 -
 content/docs/latest/scaladoc/index/index-l.html    |   38 -
 content/docs/latest/scaladoc/index/index-n.html    |   23 -
 content/docs/latest/scaladoc/index/index-o.html    |   26 -
 content/docs/latest/scaladoc/index/index-p.html    |   26 -
 content/docs/latest/scaladoc/index/index-r.html    |   26 -
 content/docs/latest/scaladoc/index/index-s.html    |   80 -
 content/docs/latest/scaladoc/index/index-t.html    |   20 -
 content/docs/latest/scaladoc/index/index-u.html    |   20 -
 content/docs/latest/scaladoc/index/index-v.html    |   17 -
 content/docs/latest/scaladoc/index/index-w.html    |   29 -
 content/docs/latest/scaladoc/index/index-x.html    |   20 -
 .../latest/scaladoc/lib/MaterialIcons-Regular.eot  |  Bin 0 -> 137002 bytes
 .../latest/scaladoc/lib/MaterialIcons-Regular.ttf  |  Bin 0 -> 122640 bytes
 .../latest/scaladoc/lib/MaterialIcons-Regular.woff |  Bin 0 -> 56792 bytes
 content/docs/latest/scaladoc/lib/abstract_type.svg |   54 +
 content/docs/latest/scaladoc/lib/arrow-down.png    |  Bin 6232 -> 0 bytes
 content/docs/latest/scaladoc/lib/arrow-right.png   |  Bin 6220 -> 0 bytes
 content/docs/latest/scaladoc/lib/class.png         |  Bin 3357 -> 0 bytes
 content/docs/latest/scaladoc/lib/class.svg         |   54 +
 content/docs/latest/scaladoc/lib/class_big.png     |  Bin 7516 -> 0 bytes
 content/docs/latest/scaladoc/lib/class_comp.svg    |   57 +
 .../latest/scaladoc/lib/class_to_object_big.png    |  Bin 9006 -> 0 bytes
 .../docs/latest/scaladoc/lib/constructorsbg.gif    |  Bin 1206 -> 0 bytes
 content/docs/latest/scaladoc/lib/conversionbg.gif  |  Bin 167 -> 0 bytes
 content/docs/latest/scaladoc/lib/defbg-blue.gif    |  Bin 1544 -> 0 bytes
 content/docs/latest/scaladoc/lib/defbg-green.gif   |  Bin 1341 -> 0 bytes
 content/docs/latest/scaladoc/lib/diagrams.css      |  244 +-
 content/docs/latest/scaladoc/lib/diagrams.js       |  216 +-
 .../docs/latest/scaladoc/lib/filter_box_left.png   |  Bin 1692 -> 0 bytes
 .../docs/latest/scaladoc/lib/filter_box_left2.gif  |  Bin 1462 -> 0 bytes
 .../docs/latest/scaladoc/lib/filter_box_right.png  |  Bin 1803 -> 0 bytes
 content/docs/latest/scaladoc/lib/filterbg.gif      |  Bin 1324 -> 0 bytes
 .../docs/latest/scaladoc/lib/filterboxbarbg.gif    |  Bin 1104 -> 0 bytes
 .../docs/latest/scaladoc/lib/filterboxbarbg.png    |  Bin 965 -> 0 bytes
 content/docs/latest/scaladoc/lib/filterboxbg.gif   |  Bin 1366 -> 0 bytes
 .../docs/latest/scaladoc/lib/fullcommenttopbg.gif  |  Bin 1115 -> 0 bytes
 content/docs/latest/scaladoc/lib/index.css         |  989 +++-
 content/docs/latest/scaladoc/lib/index.js          |  939 ++--
 content/docs/latest/scaladoc/lib/jquery-ui.js      |    6 -
 content/docs/latest/scaladoc/lib/jquery.layout.js  | 5486 --------------------
 .../latest/scaladoc/lib/jquery.mousewheel.min.js   |    8 +
 .../docs/latest/scaladoc/lib/jquery.panzoom.min.js |    9 +
 .../latest/scaladoc/lib/lato-v11-latin-100.eot     |  Bin 0 -> 30159 bytes
 .../latest/scaladoc/lib/lato-v11-latin-100.ttf     |  Bin 0 -> 76144 bytes
 .../latest/scaladoc/lib/lato-v11-latin-100.woff    |  Bin 0 -> 33288 bytes
 .../latest/scaladoc/lib/lato-v11-latin-regular.eot |  Bin 0 -> 34943 bytes
 .../latest/scaladoc/lib/lato-v11-latin-regular.ttf |  Bin 0 -> 81980 bytes
 .../scaladoc/lib/lato-v11-latin-regular.woff       |  Bin 0 -> 35700 bytes
 .../docs/latest/scaladoc/lib/navigation-li-a.png   |  Bin 1198 -> 0 bytes
 content/docs/latest/scaladoc/lib/navigation-li.png |  Bin 2441 -> 0 bytes
 content/docs/latest/scaladoc/lib/object.png        |  Bin 3356 -> 0 bytes
 content/docs/latest/scaladoc/lib/object.svg        |   54 +
 content/docs/latest/scaladoc/lib/object_big.png    |  Bin 7653 -> 0 bytes
 content/docs/latest/scaladoc/lib/object_comp.svg   |   57 +
 .../docs/latest/scaladoc/lib/object_comp_trait.svg |   57 +
 .../latest/scaladoc/lib/object_to_class_big.png    |  Bin 9158 -> 0 bytes
 .../latest/scaladoc/lib/object_to_trait_big.png    |  Bin 9200 -> 0 bytes
 .../latest/scaladoc/lib/object_to_type_big.png     |  Bin 9158 -> 0 bytes
 .../scaladoc/lib/open-sans-v13-latin-400i.eot      |  Bin 0 -> 23375 bytes
 .../scaladoc/lib/open-sans-v13-latin-400i.ttf      |  Bin 0 -> 212760 bytes
 .../scaladoc/lib/open-sans-v13-latin-400i.woff     |  Bin 0 -> 27252 bytes
 .../scaladoc/lib/open-sans-v13-latin-700.eot       |  Bin 0 -> 47430 bytes
 .../scaladoc/lib/open-sans-v13-latin-700.ttf       |  Bin 0 -> 224452 bytes
 .../scaladoc/lib/open-sans-v13-latin-700.woff      |  Bin 0 -> 25940 bytes
 .../scaladoc/lib/open-sans-v13-latin-700i.eot      |  Bin 0 -> 50570 bytes
 .../scaladoc/lib/open-sans-v13-latin-700i.ttf      |  Bin 0 -> 213168 bytes
 .../scaladoc/lib/open-sans-v13-latin-700i.woff     |  Bin 0 -> 27380 bytes
 .../scaladoc/lib/open-sans-v13-latin-regular.eot   |  Bin 0 -> 18233 bytes
 .../scaladoc/lib/open-sans-v13-latin-regular.ttf   |  Bin 0 -> 34156 bytes
 .../scaladoc/lib/open-sans-v13-latin-regular.woff  |  Bin 0 -> 20248 bytes
 content/docs/latest/scaladoc/lib/package.png       |  Bin 3335 -> 0 bytes
 content/docs/latest/scaladoc/lib/package.svg       |   54 +
 content/docs/latest/scaladoc/lib/package_big.png   |  Bin 7312 -> 0 bytes
 content/docs/latest/scaladoc/lib/packagesbg.gif    |  Bin 1201 -> 0 bytes
 content/docs/latest/scaladoc/lib/permalink.png     |  Bin 943 -> 0 bytes
 content/docs/latest/scaladoc/lib/ref-index.css     |   44 +-
 content/docs/latest/scaladoc/lib/remove.png        |  Bin 3186 -> 0 bytes
 content/docs/latest/scaladoc/lib/scheduler.js      |   65 +-
 .../latest/scaladoc/lib/selected-implicits.png     |  Bin 1150 -> 0 bytes
 .../scaladoc/lib/selected-right-implicits.png      |  Bin 646 -> 0 bytes
 .../docs/latest/scaladoc/lib/selected-right.png    |  Bin 1380 -> 0 bytes
 content/docs/latest/scaladoc/lib/selected.png      |  Bin 1864 -> 0 bytes
 .../docs/latest/scaladoc/lib/selected2-right.png   |  Bin 1434 -> 0 bytes
 content/docs/latest/scaladoc/lib/selected2.png     |  Bin 1965 -> 0 bytes
 content/docs/latest/scaladoc/lib/signaturebg.gif   |  Bin 1214 -> 0 bytes
 content/docs/latest/scaladoc/lib/signaturebg2.gif  |  Bin 1209 -> 0 bytes
 .../scaladoc/lib/source-code-pro-v6-latin-700.eot  |  Bin 0 -> 13750 bytes
 .../scaladoc/lib/source-code-pro-v6-latin-700.ttf  |  Bin 0 -> 27696 bytes
 .../scaladoc/lib/source-code-pro-v6-latin-700.woff |  Bin 0 -> 15336 bytes
 .../lib/source-code-pro-v6-latin-regular.eot       |  Bin 0 -> 14004 bytes
 .../lib/source-code-pro-v6-latin-regular.ttf       |  Bin 0 -> 27916 bytes
 .../lib/source-code-pro-v6-latin-regular.woff      |  Bin 0 -> 15636 bytes
 content/docs/latest/scaladoc/lib/template.css      |  892 ++--
 content/docs/latest/scaladoc/lib/template.js       |  203 +-
 content/docs/latest/scaladoc/lib/trait.png         |  Bin 3374 -> 0 bytes
 content/docs/latest/scaladoc/lib/trait.svg         |   54 +
 content/docs/latest/scaladoc/lib/trait_big.png     |  Bin 7410 -> 0 bytes
 content/docs/latest/scaladoc/lib/trait_comp.svg    |   57 +
 .../latest/scaladoc/lib/trait_to_object_big.png    |  Bin 8967 -> 0 bytes
 content/docs/latest/scaladoc/lib/type.png          |  Bin 1445 -> 0 bytes
 content/docs/latest/scaladoc/lib/type_big.png      |  Bin 4236 -> 0 bytes
 .../latest/scaladoc/lib/type_to_object_big.png     |  Bin 4969 -> 0 bytes
 content/docs/latest/scaladoc/lib/typebg.gif        |  Bin 1206 -> 0 bytes
 content/docs/latest/scaladoc/lib/unselected.png    |  Bin 1879 -> 0 bytes
 .../docs/latest/scaladoc/lib/valuemembersbg.gif    |  Bin 1206 -> 0 bytes
 .../latest/scaladoc/org/apache/daffodil/index.html |  263 +
 .../scaladoc/org/apache/daffodil/package.html      |  165 -
 .../org/apache/daffodil/sapi/Compiler.html         |  930 ++--
 .../org/apache/daffodil/sapi/Daffodil$.html        |  776 ++-
 .../org/apache/daffodil/sapi/DataLocation.html     |  778 ++-
 .../org/apache/daffodil/sapi/DataProcessor.html    | 1032 ++--
 .../org/apache/daffodil/sapi/Diagnostic.html       |  823 ++-
 .../daffodil/sapi/InvalidParserException.html      |  928 ++--
 .../daffodil/sapi/InvalidUsageException.html       |  928 ++--
 .../apache/daffodil/sapi/LocationInSchemaFile.html |  731 ++-
 .../org/apache/daffodil/sapi/ParseResult.html      |  848 ++-
 .../org/apache/daffodil/sapi/ProcessorFactory.html |  816 ++-
 .../org/apache/daffodil/sapi/UnparseResult.html    |  782 ++-
 .../org/apache/daffodil/sapi/ValidationMode$.html  | 1011 ++--
 .../org/apache/daffodil/sapi/WithDiagnostics.html  |  786 ++-
 .../daffodil/sapi/debugger/DebuggerRunner.html     |  714 ++-
 .../sapi/debugger/TraceDebuggerRunner.html         |  708 ++-
 .../org/apache/daffodil/sapi/debugger/index.html   |  399 ++
 .../org/apache/daffodil/sapi/debugger/package.html |  167 -
 .../scaladoc/org/apache/daffodil/sapi/index.html   |  728 +++
 .../daffodil/sapi/infoset/InfosetInputter.html     |  999 ++--
 .../sapi/infoset/InfosetInputterProxy.html         | 1014 ++--
 .../daffodil/sapi/infoset/InfosetOutputter.html    |  900 ++--
 .../sapi/infoset/InfosetOutputterProxy.html        |  917 ++--
 .../daffodil/sapi/infoset/JDOMInfosetInputter.html | 1006 ++--
 .../sapi/infoset/JDOMInfosetOutputter.html         |  924 ++--
 .../daffodil/sapi/infoset/JsonInfosetInputter.html | 1006 ++--
 .../sapi/infoset/JsonInfosetOutputter.html         |  909 ++--
 .../sapi/infoset/NullInfosetOutputter.html         |  909 ++--
 .../sapi/infoset/ScalaXMLInfosetInputter.html      | 1006 ++--
 .../sapi/infoset/ScalaXMLInfosetOutputter.html     |  924 ++--
 .../sapi/infoset/W3CDOMInfosetInputter.html        | 1006 ++--
 .../sapi/infoset/W3CDOMInfosetOutputter.html       |  924 ++--
 .../sapi/infoset/XMLTextInfosetInputter.html       | 1006 ++--
 .../sapi/infoset/XMLTextInfosetOutputter.html      |  909 ++--
 .../org/apache/daffodil/sapi/infoset/index.html    |  682 +++
 .../org/apache/daffodil/sapi/infoset/package.html  |  411 --
 .../sapi/io/InputSourceDataInputStream.html        |  736 +++
 .../org/apache/daffodil/sapi/io/index.html         |  365 ++
 .../daffodil/sapi/logger/ConsoleLogWriter.html     |  728 ++-
 .../apache/daffodil/sapi/logger/FileLogWriter.html |  743 ++-
 .../org/apache/daffodil/sapi/logger/LogLevel$.html |  996 ++--
 .../org/apache/daffodil/sapi/logger/LogWriter.html |  734 ++-
 .../apache/daffodil/sapi/logger/NullLogWriter.html |  728 ++-
 .../org/apache/daffodil/sapi/logger/index.html     |  502 ++
 .../org/apache/daffodil/sapi/logger/package.html   |  223 -
 .../scaladoc/org/apache/daffodil/sapi/package.html |  480 --
 content/docs/latest/scaladoc/org/apache/index.html |  190 +
 .../docs/latest/scaladoc/org/apache/package.html   |  118 -
 content/docs/latest/scaladoc/org/index.html        |  174 +
 content/docs/latest/scaladoc/org/package.html      |  118 -
 content/docs/latest/scaladoc/package.html          |  118 -
 234 files changed, 28053 insertions(+), 21046 deletions(-)

diff --git a/content/assets/themes/apache/img/daffodil_logo_64.png b/content/assets/themes/apache/img/daffodil_logo_64.png
new file mode 100644
index 0000000..f9bdad4
Binary files /dev/null and b/content/assets/themes/apache/img/daffodil_logo_64.png differ
diff --git a/content/docs/latest/javadoc/allclasses-frame.html b/content/docs/latest/javadoc/allclasses-frame.html
index 659b220..41bf261 100644
--- a/content/docs/latest/javadoc/allclasses-frame.html
+++ b/content/docs/latest/javadoc/allclasses-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>All Classes (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>All Classes (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -24,6 +24,7 @@
 <li><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset" target="classFrame">InfosetInputterProxy</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset" target="classFrame">InfosetOutputter</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset" target="classFrame">InfosetOutputterProxy</a></li>
+<li><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io" target="classFrame">InputSourceDataInputStream</a></li>
 <li><a href="org/apache/daffodil/japi/InvalidParserException.html" title="class in org.apache.daffodil.japi" target="classFrame">InvalidParserException</a></li>
 <li><a href="org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi" target="classFrame">InvalidUsageException</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset" target="classFrame">JDOMInfosetInputter</a></li>
diff --git a/content/docs/latest/javadoc/allclasses-noframe.html b/content/docs/latest/javadoc/allclasses-noframe.html
index 0b99e95..3b571ae 100644
--- a/content/docs/latest/javadoc/allclasses-noframe.html
+++ b/content/docs/latest/javadoc/allclasses-noframe.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>All Classes (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>All Classes (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -24,6 +24,7 @@
 <li><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></li>
+<li><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></li>
 <li><a href="org/apache/daffodil/japi/InvalidParserException.html" title="class in org.apache.daffodil.japi">InvalidParserException</a></li>
 <li><a href="org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetInputter</a></li>
diff --git a/content/docs/latest/javadoc/constant-values.html b/content/docs/latest/javadoc/constant-values.html
index 6ab4dc5..b6b5ba1 100644
--- a/content/docs/latest/javadoc/constant-values.html
+++ b/content/docs/latest/javadoc/constant-values.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Constant Field Values (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Constant Field Values (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Constant Field Values (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Constant Field Values (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/deprecated-list.html b/content/docs/latest/javadoc/deprecated-list.html
index 405f2e6..91e0d9e 100644
--- a/content/docs/latest/javadoc/deprecated-list.html
+++ b/content/docs/latest/javadoc/deprecated-list.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Deprecated List (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Deprecated List (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Deprecated List (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Deprecated List (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -93,12 +93,22 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-">org.apache.daffodil.japi.DataProcessor.parse(ReadableByteChannel)</a>
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">org.apache.daffodil.japi.DataProcessor.parse(ReadableByteChannel, InfosetOutputter)</a>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">org.apache.daffodil.japi.DataProcessor.parse(ReadableByteChannel, InfosetOutputter, long)</a>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-long-">org.apache.daffodil.japi.DataProcessor.parse(ReadableByteChannel, long)</a>
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter, long) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </td>
 </tr>
 <tr class="rowColor">
diff --git a/content/docs/latest/javadoc/help-doc.html b/content/docs/latest/javadoc/help-doc.html
index 8e6a71a..4c49771 100644
--- a/content/docs/latest/javadoc/help-doc.html
+++ b/content/docs/latest/javadoc/help-doc.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>API Help (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>API Help (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="API Help (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="API Help (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/index-all.html b/content/docs/latest/javadoc/index-all.html
index 9442390..56c6e50 100644
--- a/content/docs/latest/javadoc/index-all.html
+++ b/content/docs/latest/javadoc/index-all.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Index (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Index (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Index (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Index (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -151,6 +151,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#Diagnostic-org.apache.daffodil.api.Diagnostic-">Diagnostic(Diagnostic)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#dis--">dis()</a></span> - Method in class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:E">
 <!--   -->
@@ -378,6 +380,19 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#init--">init()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io"><span class="typeNameLink">InputSourceDataInputStream</span></a> - Class in <a href="org/apache/daffodil/japi/io/package-summary.html">org.apache.daffodil.japi.io</a></dt>
+<dd>
+<div class="block">Provides Daffodil with byte data from an InputStream, ByteBuffer, or byte
+ Array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-org.apache.daffodil.io.InputSourceDataInputStream-">InputSourceDataInputStream(InputSourceDataInputStream)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.io.InputStream-">InputSourceDataInputStream(InputStream)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.nio.ByteBuffer-">InputSourceDataInputStream(ByteBuffer)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-byte:A-">InputSourceDataInputStream(byte[])</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/daffodil/japi/InvalidParserException.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">InvalidParserException</span></a> - Exception in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
 <dd>
 <div class="block">This exception will be thrown as a result of attempting to reload a saved parser
@@ -540,9 +555,11 @@
 <div class="block">Defines various classes used control the representation of the infoset for
  parse and unparse.</div>
 </dd>
+<dt><a href="org/apache/daffodil/japi/io/package-summary.html">org.apache.daffodil.japi.io</a> - package org.apache.daffodil.japi.io</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a> - package org.apache.daffodil.japi.logger</dt>
 <dd>
-<div class="block">Provides the classes necessary to recieve logging messages from Daffodil.</div>
+<div class="block">Provides the classes necessary to receive logging messages from Daffodil.</div>
 </dd>
 </dl>
 <a name="I:P">
@@ -553,22 +570,30 @@
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-long-">parse(ReadableByteChannel, long)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter, long) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-">parse(ReadableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">parse(ReadableByteChannel, InfosetOutputter, long)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
 <dd>
-<div class="block">Parse input data with a specified length</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse(ReadableByteChannel, InfosetOutputter)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
 <dd>
-<div class="block">Parse input data without specifying a length</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse(InputSourceDataInputStream, InfosetOutputter)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
+<dd>
+<div class="block">Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter</div>
 </dd>
 <dt><a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">ParseResult</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
 <dd>
diff --git a/content/docs/latest/javadoc/index.html b/content/docs/latest/javadoc/index.html
index b16d343..61f5f20 100644
--- a/content/docs/latest/javadoc/index.html
+++ b/content/docs/latest/javadoc/index.html
@@ -2,8 +2,8 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Apache Daffodil (incubating) 2.1.0 Java API</title>
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Apache Daffodil (incubating) 2.2.0 Java API</title>
 <script type="text/javascript">
     tmpTargetPage = "" + window.location.search;
     if (tmpTargetPage != "" && tmpTargetPage != "undefined")
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/Compiler.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/Compiler.html
index a82508e..8b62e02 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/Compiler.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/Compiler.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Compiler (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Compiler (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Compiler (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Compiler (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -424,21 +424,6 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
-<a name="setValidateDFDLSchemas-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setValidateDFDLSchemas</h4>
-<pre>public&nbsp;void&nbsp;setValidateDFDLSchemas(boolean&nbsp;value)</pre>
-<div class="block">Enable/disable DFDL validation of resulting infoset with the DFDL schema
- <p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>value</code> - true to enable validation, false to disabled</dd>
-</dl>
-</li>
-</ul>
 <a name="setTunable-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -462,7 +447,7 @@ extends java.lang.Object</pre>
 <a name="setTunables-java.util.AbstractMap-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setTunables</h4>
 <pre>public&nbsp;void&nbsp;setTunables(java.util.AbstractMap&lt;java.lang.String,java.lang.String&gt;&nbsp;tunables)</pre>
@@ -477,6 +462,21 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
+<a name="setValidateDFDLSchemas-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setValidateDFDLSchemas</h4>
+<pre>public&nbsp;void&nbsp;setValidateDFDLSchemas(boolean&nbsp;value)</pre>
+<div class="block">Enable/disable DFDL validation of resulting infoset with the DFDL schema
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - true to enable validation, false to disabled</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/Daffodil.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/Daffodil.html
index d66a09c..a5af58d 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/Daffodil.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/Daffodil.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Daffodil (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Daffodil (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Daffodil (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Daffodil (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/DataLocation.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/DataLocation.html
index 7108622..177e76b 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/DataLocation.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/DataLocation.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>DataLocation (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>DataLocation (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataLocation (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="DataLocation (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -207,61 +207,61 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="toString--">
+<a name="bitPos1b--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<h4>bitPos1b</h4>
+<pre>public&nbsp;long&nbsp;bitPos1b()</pre>
+<div class="block">Get the position of the data, in bits, using 1-based indexing
+ <p></div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>position of the data in bites</dd>
 </dl>
 </li>
 </ul>
-<a name="isAtEnd--">
+<a name="bytePos1b--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isAtEnd</h4>
-<pre>public&nbsp;boolean&nbsp;isAtEnd()</pre>
-<div class="block">Determine if this data location is at the end of the input data
+<h4>bytePos1b</h4>
+<pre>public&nbsp;long&nbsp;bytePos1b()</pre>
+<div class="block">Get the position of the data, in bytes, using 1-based indexing
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if this represents the end of the input data, false otherwise</dd>
+<dd>position of the data in bytes</dd>
 </dl>
 </li>
 </ul>
-<a name="bitPos1b--">
+<a name="isAtEnd--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bitPos1b</h4>
-<pre>public&nbsp;long&nbsp;bitPos1b()</pre>
-<div class="block">Get the position of the data, in bits, using 1-based indexing
+<h4>isAtEnd</h4>
+<pre>public&nbsp;boolean&nbsp;isAtEnd()</pre>
+<div class="block">Determine if this data location is at the end of the input data
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>position of the data in bites</dd>
+<dd>true if this represents the end of the input data, false otherwise</dd>
 </dl>
 </li>
 </ul>
-<a name="bytePos1b--">
+<a name="toString--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bytePos1b</h4>
-<pre>public&nbsp;long&nbsp;bytePos1b()</pre>
-<div class="block">Get the position of the data, in bytes, using 1-based indexing
- <p></div>
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>position of the data in bytes</dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/DataProcessor.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/DataProcessor.html
index 968cd44..048ddad 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/DataProcessor.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/DataProcessor.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>DataProcessor (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>DataProcessor (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DataProcessor (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="DataProcessor (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42};
+var methods = {"i0":10,"i1":42,"i2":42,"i3":42,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -153,80 +153,91 @@ extends <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html" titl
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse</a></span>(<a href="../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a>&nbsp;input,
+     <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output)</code>
+<div class="block">Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-">parse</a></span>(java.nio.channels.ReadableByteChannel&nbsp;input)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse</a></span>(java.nio.channels.ReadableByteChannel&nbsp;input,
      <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output)</code>
-<div class="block">Parse input data without specifying a length</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">parse</a></span>(java.nio.channels.ReadableByteChannel&nbsp;input,
      <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output,
      long&nbsp;lengthLimitInBits)</code>
-<div class="block">Parse input data with a specified length</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-long-">parse</a></span>(java.nio.channels.ReadableByteChannel&nbsp;input,
      long&nbsp;lengthLimitInBits)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter, long) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#save-java.nio.channels.WritableByteChannel-">save</a></span>(java.nio.channels.WritableByteChannel&nbsp;output)</code>
 <div class="block">Save the DataProcessor</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-">setDebugger</a></span>(<a href="../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a>&nbsp;dr)</code>
 <div class="block">Set the debugger runer</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setDebugging-boolean-">setDebugging</a></span>(boolean&nbsp;flag)</code>
 <div class="block">Enable/disable debugging.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setExternalVariables-java.io.File-">setExternalVariables</a></span>(java.io.File&nbsp;extVars)</code>
 <div class="block">Read external variables from a Daffodil configuration file</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setExternalVariables-scala.collection.immutable.Map-">setExternalVariables</a></span>(scala.collection.immutable.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extVars)</code>
 <div class="block">Set the value of multiple DFDL variables</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setValidationMode-org.apache.daffodil.japi.ValidationMode-">setValidationMode</a></span>(<a href="../../../../org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a>&nbsp;mode)</code>
 <div class="block">Set validation mode</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/UnparseResult.html" title="class in org.apache.daffodil.japi">UnparseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#unparse-org.apache.daffodil.japi.infoset.InfosetInputter-java.nio.channels.WritableByteChannel-">unparse</a></span>(<a href="../../../../org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a>&nbsp;input,
        java.nio.channels.WritableByteChannel&nbsp;output)</code>
 <div class="block">Unparse an InfosetInputter</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/daffodil/japi/UnparseResult.html" title="class in org.apache.daffodil.japi">UnparseResult</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/daffodil/japi/DataProcessor.html#unparse-java.nio.channels.WritableByteChannel-org.jdom2.Document-">unparse</a></span>(java.nio.channels.WritableByteChannel&nbsp;output,
        org.jdom2.Document&nbsp;infoset)</code>
@@ -281,91 +292,87 @@ extends <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html" titl
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="setDebugging-boolean-">
+<a name="parse-java.nio.channels.ReadableByteChannel-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDebugging</h4>
-<pre>public&nbsp;void&nbsp;setDebugging(boolean&nbsp;flag)</pre>
-<div class="block">Enable/disable debugging.
- <p>
- Before enabling, <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-"><code>setDebugger(DebuggerRunner)</code></a> must be called with a non-null debugger.
- <p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>flag</code> - true to enable debugging, false to disabled</dd>
-</dl>
+<h4>parse</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
+                         long&nbsp;lengthLimitInBits)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </li>
 </ul>
-<a name="setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-">
+<a name="parse-java.nio.channels.ReadableByteChannel-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDebugger</h4>
-<pre>public&nbsp;void&nbsp;setDebugger(<a href="../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a>&nbsp;dr)</pre>
-<div class="block">Set the debugger runer
- <p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>dr</code> - debugger runner</dd>
-</dl>
+<h4>parse</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
 </li>
 </ul>
-<a name="setValidationMode-org.apache.daffodil.japi.ValidationMode-">
+<a name="parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setValidationMode</h4>
-<pre>public&nbsp;void&nbsp;setValidationMode(<a href="../../../../org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a>&nbsp;mode)
-                       throws <a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></pre>
-<div class="block">Set validation mode
+<h4>parse</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
+                         <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output,
+                         long&nbsp;lengthLimitInBits)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+<div class="block">Parse input data with a specified length
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>mode</code> - mode to control validation</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></code></dd>
+<dd><code>input</code> - data to be parsed</dd>
+<dd><code>output</code> - the InfosetOutputter that will be used to output the infoset</dd>
+<dd><code>lengthLimitInBits</code> - the length of the input data in bits, or -1 if no limit</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object which contains the result, and/or diagnostic information.</dd>
 </dl>
 </li>
 </ul>
-<a name="setExternalVariables-java.io.File-">
+<a name="parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setExternalVariables</h4>
-<pre>public&nbsp;void&nbsp;setExternalVariables(java.io.File&nbsp;extVars)</pre>
-<div class="block">Read external variables from a Daffodil configuration file
+<h4>parse</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
+                         <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
+<div class="block">Parse input data without specifying a length
+ <p>
+ Use this when you don't know how big the data is.
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>extVars</code> - file to read DFDL variables from.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a target="_blank" href='https://daffodil.apache.org/configuration/'>Daffodil Configuration File</a> - Daffodil configuration file format
- <p></dd>
+<dd><code>input</code> - data to be parsed</dd>
+<dd><code>output</code> - the InfosetOutputter that will be used to output the infoset</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object which contains the result, and/or diagnostic information.</dd>
 </dl>
 </li>
 </ul>
-<a name="setExternalVariables-scala.collection.immutable.Map-">
+<a name="parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setExternalVariables</h4>
-<pre>public&nbsp;void&nbsp;setExternalVariables(scala.collection.immutable.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extVars)</pre>
-<div class="block">Set the value of multiple DFDL variables
+<h4>parse</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(<a href="../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a>&nbsp;input,
+                         <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output)</pre>
+<div class="block">Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>extVars</code> - a map of key/value pairs, where the key is the variable
-                name, and the value is the value of the variable. The key
-                may be preceded by a string of the form "{namespace}" to
-                define a namespace for the variable. If preceded with "{}",
-                then no namespace is used. If not preceded by anything,
-                then Daffodil will figure out the namespace.</dd>
+<dd><code>input</code> - data to be parsed</dd>
+<dd><code>output</code> - the InfosetOutputter that will be used to output the infoset</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object which contains the result, and/or diagnostic information.</dd>
 </dl>
 </li>
 </ul>
@@ -386,72 +393,91 @@ extends <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html" titl
 </dl>
 </li>
 </ul>
-<a name="parse-java.nio.channels.ReadableByteChannel-long-">
+<a name="setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>parse</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
-                         long&nbsp;lengthLimitInBits)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter, long) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<h4>setDebugger</h4>
+<pre>public&nbsp;void&nbsp;setDebugger(<a href="../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a>&nbsp;dr)</pre>
+<div class="block">Set the debugger runer
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dr</code> - debugger runner</dd>
+</dl>
 </li>
 </ul>
-<a name="parse-java.nio.channels.ReadableByteChannel-">
+<a name="setDebugging-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>parse</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(ReadableByteChannel, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.0.0.</span></div>
+<h4>setDebugging</h4>
+<pre>public&nbsp;void&nbsp;setDebugging(boolean&nbsp;flag)</pre>
+<div class="block">Enable/disable debugging.
+ <p>
+ Before enabling, <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-"><code>setDebugger(DebuggerRunner)</code></a> must be called with a non-null debugger.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flag</code> - true to enable debugging, false to disabled</dd>
+</dl>
 </li>
 </ul>
-<a name="parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">
+<a name="setExternalVariables-java.io.File-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>parse</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
-                         <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output,
-                         long&nbsp;lengthLimitInBits)</pre>
-<div class="block">Parse input data with a specified length
+<h4>setExternalVariables</h4>
+<pre>public&nbsp;void&nbsp;setExternalVariables(java.io.File&nbsp;extVars)</pre>
+<div class="block">Read external variables from a Daffodil configuration file
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>input</code> - data to be parsed</dd>
-<dd><code>output</code> - the InfosetOutputter that will be used to output the infoset</dd>
-<dd><code>lengthLimitInBits</code> - the length of the input data in bits. This must
-                          be the actual length in bits if you want the
-                          location().isAtEnd() function to work. If value
-                          is -1, the isAtEnd() function will always return true.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an object which contains the result, and/or diagnostic information.</dd>
+<dd><code>extVars</code> - file to read DFDL variables from.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a target="_blank" href='https://daffodil.apache.org/configuration/'>Daffodil Configuration File</a> - Daffodil configuration file format
+ <p></dd>
 </dl>
 </li>
 </ul>
-<a name="parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">
+<a name="setExternalVariables-scala.collection.immutable.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>parse</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a>&nbsp;parse(java.nio.channels.ReadableByteChannel&nbsp;input,
-                         <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a>&nbsp;output)</pre>
-<div class="block">Parse input data without specifying a length
- <p>
- Use this when you don't know how big the data is. Note that the isAtEnd()
- does not work properly and will always return -1. If you need isAtEnd() to
- work, you must use <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-"><code>parse(java.nio.channels.ReadableByteChannel, InfosetOutputter, long)</code></a> and
- specify the length of the data.
+<h4>setExternalVariables</h4>
+<pre>public&nbsp;void&nbsp;setExternalVariables(scala.collection.immutable.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extVars)</pre>
+<div class="block">Set the value of multiple DFDL variables
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>input</code> - data to be parsed</dd>
-<dd><code>output</code> - the InfosetOutputter that will be used to output the infoset</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an object which contains the result, and/or diagnostic information.</dd>
+<dd><code>extVars</code> - a map of key/value pairs, where the key is the variable
+                name, and the value is the value of the variable. The key
+                may be preceded by a string of the form "{namespace}" to
+                define a namespace for the variable. If preceded with "{}",
+                then no namespace is used. If not preceded by anything,
+                then Daffodil will figure out the namespace.</dd>
+</dl>
+</li>
+</ul>
+<a name="setValidationMode-org.apache.daffodil.japi.ValidationMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setValidationMode</h4>
+<pre>public&nbsp;void&nbsp;setValidationMode(<a href="../../../../org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a>&nbsp;mode)
+                       throws <a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></pre>
+<div class="block">Set validation mode
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mode</code> - mode to control validation</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></code></dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/Diagnostic.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/Diagnostic.html
index fe12e1a..5aee14c 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/Diagnostic.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/Diagnostic.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Diagnostic (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Diagnostic (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Diagnostic (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Diagnostic (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -223,34 +223,6 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getMessage--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMessage</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getMessage()</pre>
-<div class="block">Get the diagnostic message
- <p></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>diagnostic message in string form</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
 <a name="getDataLocations--">
 <!--   -->
 </a>
@@ -285,18 +257,18 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
-<a name="isError--">
+<a name="getMessage--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isError</h4>
-<pre>public&nbsp;boolean&nbsp;isError()</pre>
-<div class="block">Determine if a diagnostic object represents an error or something less serious.
+<h4>getMessage</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getMessage()</pre>
+<div class="block">Get the diagnostic message
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if it represents an error, false otherwise</dd>
+<dd>diagnostic message in string form</dd>
 </dl>
 </li>
 </ul>
@@ -319,12 +291,40 @@ extends java.lang.Object</pre>
 <a name="getSomeMessage--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getSomeMessage</h4>
 <pre>public&nbsp;java.lang.String&nbsp;getSomeMessage()</pre>
 </li>
 </ul>
+<a name="isError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isError</h4>
+<pre>public&nbsp;boolean&nbsp;isError()</pre>
+<div class="block">Determine if a diagnostic object represents an error or something less serious.
+ <p></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if it represents an error, false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidParserException.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidParserException.html
index bf8bb78..db08794 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidParserException.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidParserException.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InvalidParserException (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>InvalidParserException (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InvalidParserException (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InvalidParserException (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidUsageException.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidUsageException.html
index 5f824aa..5bbbde9 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidUsageException.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/InvalidUsageException.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InvalidUsageException (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>InvalidUsageException (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InvalidUsageException (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InvalidUsageException (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/LocationInSchemaFile.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/LocationInSchemaFile.html
index 9f2714e..c78a7ea 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/LocationInSchemaFile.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/LocationInSchemaFile.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>LocationInSchemaFile (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>LocationInSchemaFile (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LocationInSchemaFile (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="LocationInSchemaFile (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/ParseResult.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/ParseResult.html
index e75f86f..bdce5b1 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/ParseResult.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/ParseResult.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ParseResult (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ParseResult (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParseResult (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ParseResult (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -227,73 +227,73 @@ extends <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html" titl
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="result--">
+<a name="isProcessingError--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>result</h4>
-<pre>public&nbsp;org.jdom2.Document&nbsp;result()
-                          throws <a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(ReadableByteChannel, InfosetInputter) to parse the data and get the infoset representation from the InfosetOutputter. Since 2.0.0.</span></div>
-<div class="block">Get the resulting infoset as a jdom2 Document
+<h4>isProcessingError</h4>
+<pre>public&nbsp;boolean&nbsp;isProcessingError()</pre>
+<div class="block">Determine if any processing errors occurred. isError() will always return
+ true if this returns true.
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a jdom2 Document representing the DFDL infoset for the parsed data</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></code> - if you call this when isError is true
-         because in that case there is no result document.
- <p></dd>
+<dd>true if any processing errors occured, false otherwise.</dd>
 </dl>
 </li>
 </ul>
-<a name="location--">
+<a name="isValidationError--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>location</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a>&nbsp;location()</pre>
-<div class="block">Get the <a href="../../../../org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi"><code>DataLocation</code></a> where the parse completed
+<h4>isValidationError</h4>
+<pre>public&nbsp;boolean&nbsp;isValidationError()</pre>
+<div class="block">Determine if all validation checks passed based on the validation mode of
+ the DataProcessor. If validation mode is Off, this will always return
+ false. This is only meaningful when isProcessingError() is false.
+ isError() will always return true if this return true.
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the data location where the parse completed</dd>
+<dd>true if any validation errors occurred, false otherwise.</dd>
 </dl>
 </li>
 </ul>
-<a name="isProcessingError--">
+<a name="location--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isProcessingError</h4>
-<pre>public&nbsp;boolean&nbsp;isProcessingError()</pre>
-<div class="block">Determine if any processing errors occurred. isError() will always return
- true if this returns true.
+<h4>location</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a>&nbsp;location()</pre>
+<div class="block">Get the <a href="../../../../org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi"><code>DataLocation</code></a> where the parse completed
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if any processing errors occured, false otherwise.</dd>
+<dd>the data location where the parse completed</dd>
 </dl>
 </li>
 </ul>
-<a name="isValidationError--">
+<a name="result--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>isValidationError</h4>
-<pre>public&nbsp;boolean&nbsp;isValidationError()</pre>
-<div class="block">Determine if all validation checks passed based on the validation mode of
- the DataProcessor. If validation mode is Off, this will always return
- false. This is only meaningful when isProcessingError() is false.
- isError() will always return true if this return true.
+<h4>result</h4>
+<pre>public&nbsp;org.jdom2.Document&nbsp;result()
+                          throws <a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use parse(ReadableByteChannel, InfosetInputter) to parse the data and get the infoset representation from the InfosetOutputter. Since 2.0.0.</span></div>
+<div class="block">Get the resulting infoset as a jdom2 Document
  <p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if any validation errors occurred, false otherwise.</dd>
+<dd>a jdom2 Document representing the DFDL infoset for the parsed data</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></code> - if you call this when isError is true
+         because in that case there is no result document.
+ <p></dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/ProcessorFactory.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/ProcessorFactory.html
index 1e1818f..3bf132e 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/ProcessorFactory.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/ProcessorFactory.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ProcessorFactory (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ProcessorFactory (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcessorFactory (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ProcessorFactory (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -213,38 +213,38 @@ extends <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html" titl
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="setDistinguishedRootNode-java.lang.String-java.lang.String-">
+<a name="onPath-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDistinguishedRootNode</h4>
-<pre>public&nbsp;void&nbsp;setDistinguishedRootNode(java.lang.String&nbsp;name,
-                                     java.lang.String&nbsp;namespace)</pre>
-<div class="block">Specify a global element to be the root of DFDL Schema to start parsing
+<h4>onPath</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a>&nbsp;onPath(java.lang.String&nbsp;path)</pre>
+<div class="block">Create a <a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - name of the root node</dd>
-<dd><code>namespace</code> - namespace of the root node. Set to empty string to specify
-                  no namespace. Set to to NULL to figure out the namespace.</dd>
+<dd><code>path</code> - path to an element to use as the parsing root, relative to the distinguished root node. Currently, must be set to "/"</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> used to parse data. Must check <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html#isError--"><code>WithDiagnostics.isError()</code></a> before using it.</dd>
 </dl>
 </li>
 </ul>
-<a name="onPath-java.lang.String-">
+<a name="setDistinguishedRootNode-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>onPath</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a>&nbsp;onPath(java.lang.String&nbsp;path)</pre>
-<div class="block">Create a <a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>
+<h4>setDistinguishedRootNode</h4>
+<pre>public&nbsp;void&nbsp;setDistinguishedRootNode(java.lang.String&nbsp;name,
+                                     java.lang.String&nbsp;namespace)</pre>
+<div class="block">Specify a global element to be the root of DFDL Schema to start parsing
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>path</code> - path to an element to use as the parsing root, relative to the distinguished root node. Currently, must be set to "/"</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> used to parse data. Must check <a href="../../../../org/apache/daffodil/japi/WithDiagnostics.html#isError--"><code>WithDiagnostics.isError()</code></a> before using it.</dd>
+<dd><code>name</code> - name of the root node</dd>
+<dd><code>namespace</code> - namespace of the root node. Set to empty string to specify
+                  no namespace. Set to to NULL to figure out the namespace.</dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/UnparseResult.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/UnparseResult.html
index b1b0abd..ef72956 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/UnparseResult.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/UnparseResult.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>UnparseResult (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>UnparseResult (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnparseResult (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="UnparseResult (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/ValidationMode.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/ValidationMode.html
index ee7436b..348d57b 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/ValidationMode.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/ValidationMode.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ValidationMode (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ValidationMode (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ValidationMode (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ValidationMode (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/WithDiagnostics.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/WithDiagnostics.html
index 5dc75b6..3044a8c 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/WithDiagnostics.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/WithDiagnostics.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>WithDiagnostics (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>WithDiagnostics (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WithDiagnostics (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="WithDiagnostics (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -215,21 +215,6 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="isError--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isError</h4>
-<pre>public&nbsp;boolean&nbsp;isError()</pre>
-<div class="block">Determine if any errors occurred in the creation of the parent object.
- <p></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if no errors occurred, false otherwise</dd>
-</dl>
-</li>
-</ul>
 <a name="canProceed--">
 <!--   -->
 </a>
@@ -249,7 +234,7 @@ extends java.lang.Object</pre>
 <a name="getDiagnostics--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getDiagnostics</h4>
 <pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a>&gt;&nbsp;getDiagnostics()</pre>
@@ -261,6 +246,21 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
+<a name="isError--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isError</h4>
+<pre>public&nbsp;boolean&nbsp;isError()</pre>
+<div class="block">Determine if any errors occurred in the creation of the parent object.
+ <p></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if no errors occurred, false otherwise</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/DebuggerRunner.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/DebuggerRunner.html
index 96caa85..5905d5a 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/DebuggerRunner.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/DebuggerRunner.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>DebuggerRunner (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>DebuggerRunner (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DebuggerRunner (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="DebuggerRunner (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -216,15 +216,15 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init--">
+<a name="fini--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>init</h4>
-<pre>public abstract&nbsp;void&nbsp;init()</pre>
-<div class="block">Called once at the beginning of a parse, allowing one to perform any
- initialization steps that may be necessary.</div>
+<h4>fini</h4>
+<pre>public abstract&nbsp;void&nbsp;fini()</pre>
+<div class="block">Called once upon completion of a parse, allowing one to perform any
+ steps necessary to clean up the debugger runner.</div>
 </li>
 </ul>
 <a name="getCommand--">
@@ -247,11 +247,22 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
-<a name="lineOutput-java.lang.String-">
+<a name="init--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
+<h4>init</h4>
+<pre>public abstract&nbsp;void&nbsp;init()</pre>
+<div class="block">Called once at the beginning of a parse, allowing one to perform any
+ initialization steps that may be necessary.</div>
+</li>
+</ul>
+<a name="lineOutput-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
 <h4>lineOutput</h4>
 <pre>public abstract&nbsp;void&nbsp;lineOutput(java.lang.String&nbsp;line)</pre>
 <div class="block">Called by Daffodil when a debugger command has produce output. This method
@@ -263,17 +274,6 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
-<a name="fini--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>fini</h4>
-<pre>public abstract&nbsp;void&nbsp;fini()</pre>
-<div class="block">Called once upon completion of a parse, allowing one to perform any
- steps necessary to clean up the debugger runner.</div>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html
index 401295e..dfe1a46 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>TraceDebuggerRunner (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>TraceDebuggerRunner (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TraceDebuggerRunner (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="TraceDebuggerRunner (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -217,19 +217,19 @@ extends <a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init--">
+<a name="fini--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>init</h4>
-<pre>public&nbsp;void&nbsp;init()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#init--">DebuggerRunner</a></code></span></div>
-<div class="block">Called once at the beginning of a parse, allowing one to perform any
- initialization steps that may be necessary.</div>
+<h4>fini</h4>
+<pre>public&nbsp;void&nbsp;fini()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#fini--">DebuggerRunner</a></code></span></div>
+<div class="block">Called once upon completion of a parse, allowing one to perform any
+ steps necessary to clean up the debugger runner.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#init--">init</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#fini--">fini</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -256,38 +256,38 @@ extends <a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner
 </dl>
 </li>
 </ul>
-<a name="lineOutput-java.lang.String-">
+<a name="init--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>lineOutput</h4>
-<pre>public&nbsp;void&nbsp;lineOutput(java.lang.String&nbsp;line)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#lineOutput-java.lang.String-">DebuggerRunner</a></code></span></div>
-<div class="block">Called by Daffodil when a debugger command has produce output. This method
- is called once for every line produced by the Daffodil debugger.
- <p></div>
+<h4>init</h4>
+<pre>public&nbsp;void&nbsp;init()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#init--">DebuggerRunner</a></code></span></div>
+<div class="block">Called once at the beginning of a parse, allowing one to perform any
+ initialization steps that may be necessary.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#lineOutput-java.lang.String-">lineOutput</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>line</code> - a single line of output generated by the Daffodil debugger</dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#init--">init</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="fini--">
+<a name="lineOutput-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>fini</h4>
-<pre>public&nbsp;void&nbsp;fini()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#fini--">DebuggerRunner</a></code></span></div>
-<div class="block">Called once upon completion of a parse, allowing one to perform any
- steps necessary to clean up the debugger runner.</div>
+<h4>lineOutput</h4>
+<pre>public&nbsp;void&nbsp;lineOutput(java.lang.String&nbsp;line)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#lineOutput-java.lang.String-">DebuggerRunner</a></code></span></div>
+<div class="block">Called by Daffodil when a debugger command has produce output. This method
+ is called once for every line produced by the Daffodil debugger.
+ <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#fini--">fini</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html#lineOutput-java.lang.String-">lineOutput</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>line</code> - a single line of output generated by the Daffodil debugger</dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-frame.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-frame.html
index 2ed04b4..12bb5c7 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-frame.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-summary.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-summary.html
index 0f9118c..ba603f5 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-summary.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.debugger (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
index 8150b9a..021bee3 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputter.html
index 1a37388..8e9beb0 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>InfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -237,18 +237,25 @@ extends org.apache.daffodil.infoset.InfosetInputter</pre>
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
-<code>fini</code></li>
+<code>$init$, fini</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
@@ -355,35 +362,35 @@ extends org.apache.daffodil.infoset.InfosetInputter</pre>
 </dl>
 </li>
 </ul>
-<a name="isNilled--">
+<a name="hasNext--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isNilled</h4>
-<pre>public abstract&nbsp;org.apache.daffodil.util.MaybeBoolean&nbsp;isNilled()</pre>
-<div class="block">Determine if the current event is nilled. This will only be called when
- the current event type is StartElement. Return MaybeBoolean.Nope if no
- nil property is set, which implies the element is not nilled. Return
- MaybeBoolean(false) if the nil property is set, but it is set to false.
- Return MaybeBoolean(true) if the nil property is set to true.</div>
+<h4>hasNext</h4>
+<pre>public abstract&nbsp;boolean&nbsp;hasNext()</pre>
+<div class="block">Return true if there are remaining events. False otherwise.</div>
 <dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>hasNext</code>&nbsp;in class&nbsp;<code>org.apache.daffodil.infoset.InfosetInputter</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>(undocumented)</dd>
 </dl>
 </li>
 </ul>
-<a name="hasNext--">
+<a name="isNilled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public abstract&nbsp;boolean&nbsp;hasNext()</pre>
-<div class="block">Return true if there are remaining events. False otherwise.</div>
+<h4>isNilled</h4>
+<pre>public abstract&nbsp;org.apache.daffodil.util.MaybeBoolean&nbsp;isNilled()</pre>
+<div class="block">Determine if the current event is nilled. This will only be called when
+ the current event type is StartElement. Return MaybeBoolean.Nope if no
+ nil property is set, which implies the element is not nilled. Return
+ MaybeBoolean(false) if the nil property is set, but it is set to false.
+ Return MaybeBoolean(true) if the nil property is set to true.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>hasNext</code>&nbsp;in class&nbsp;<code>org.apache.daffodil.infoset.InfosetInputter</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>(undocumented)</dd>
 </dl>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputterProxy.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputterProxy.html
index aa0742a..69ca6bb 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputterProxy.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetInputterProxy.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InfosetInputterProxy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>InfosetInputterProxy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InfosetInputterProxy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InfosetInputterProxy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -248,11 +248,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
@@ -285,13 +299,13 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="infosetInputter--">
+<a name="fini--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>infosetInputter</h4>
-<pre>protected abstract&nbsp;org.apache.daffodil.infoset.InfosetInputter&nbsp;infosetInputter()</pre>
+<h4>fini</h4>
+<pre>public&nbsp;void&nbsp;fini()</pre>
 </li>
 </ul>
 <a name="getEventType--">
@@ -389,6 +403,15 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 </dl>
 </li>
 </ul>
+<a name="infosetInputter--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>infosetInputter</h4>
+<pre>protected abstract&nbsp;org.apache.daffodil.infoset.InfosetInputter&nbsp;infosetInputter()</pre>
+</li>
+</ul>
 <a name="isNilled--">
 <!--   -->
 </a>
@@ -428,7 +451,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <a name="supportsNamespaces--">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>supportsNamespaces</h4>
 <pre>public&nbsp;boolean&nbsp;supportsNamespaces()</pre>
@@ -438,15 +461,6 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 </dl>
 </li>
 </ul>
-<a name="fini--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>fini</h4>
-<pre>public&nbsp;void&nbsp;fini()</pre>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputter.html
index b44277b..503e470 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>InfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -227,7 +227,7 @@ implements org.apache.daffodil.infoset.InfosetOutputter</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
@@ -260,33 +260,44 @@ implements org.apache.daffodil.infoset.InfosetOutputter</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="reset--">
+<a name="endArray-org.apache.daffodil.infoset.DIArray-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>reset</h4>
-<pre>public abstract&nbsp;void&nbsp;reset()</pre>
-<div class="block">Reset the internal state of this InfosetOutputter. This should be called
- inbetween calls to the parse method.</div>
+<h4>endArray</h4>
+<pre>public abstract&nbsp;boolean&nbsp;endArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
+<div class="block">Called by Daffodil internals to signify the end of an array of elements.
+ <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>reset</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>diArray</code> - the array that is ended. Various fields of
+                DIArray can be accessed to determine things like the
+                name, namespace, etc.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true on sucess, false if there was an error and Daffodil should stop all
+         future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="startDocument--">
+<a name="endComplex-org.apache.daffodil.infoset.DIComplex-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startDocument</h4>
-<pre>public abstract&nbsp;boolean&nbsp;startDocument()</pre>
-<div class="block">Called by Daffodil internals to signify the beginning of the infoset.
+<h4>endComplex</h4>
+<pre>public abstract&nbsp;boolean&nbsp;endComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
+<div class="block">Called by Daffodil internals to signify the end of a complex element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startDocument</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>diComplex</code> - the complex element that is ended. Various fields of
+                  DIComplex can be accessed to determine things like the
+                  nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
@@ -311,20 +322,20 @@ implements org.apache.daffodil.infoset.InfosetOutputter</pre>
 </dl>
 </li>
 </ul>
-<a name="startSimple-org.apache.daffodil.infoset.DISimple-">
+<a name="endSimple-org.apache.daffodil.infoset.DISimple-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startSimple</h4>
-<pre>public abstract&nbsp;boolean&nbsp;startSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
-<div class="block">Called by Daffodil internals to signify the beginning of a simple element.
+<h4>endSimple</h4>
+<pre>public abstract&nbsp;boolean&nbsp;endSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
+<div class="block">Called by Daffodil internals to signify the end of a simple element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diSimple</code> - the simple element that is started. Various fields of
+<dd><code>diSimple</code> - the simple element that is ended. Various fields of
                  DISimple can be accessed to determine things like the
                  value, nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -333,64 +344,57 @@ implements org.apache.daffodil.infoset.InfosetOutputter</pre>
 </dl>
 </li>
 </ul>
-<a name="endSimple-org.apache.daffodil.infoset.DISimple-">
+<a name="reset--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>endSimple</h4>
-<pre>public abstract&nbsp;boolean&nbsp;endSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
-<div class="block">Called by Daffodil internals to signify the end of a simple element.
- <p></div>
+<h4>reset</h4>
+<pre>public abstract&nbsp;void&nbsp;reset()</pre>
+<div class="block">Reset the internal state of this InfosetOutputter. This should be called
+ inbetween calls to the parse method.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diSimple</code> - the simple element that is ended. Various fields of
-                 DISimple can be accessed to determine things like the
-                 value, nil, name, namespace, etc.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true on sucess, false if there was an error and Daffodil should stop all
-         future calls to the InfosetOutputter</dd>
+<dd><code>reset</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 </dl>
 </li>
 </ul>
-<a name="startComplex-org.apache.daffodil.infoset.DIComplex-">
+<a name="startArray-org.apache.daffodil.infoset.DIArray-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startComplex</h4>
-<pre>public abstract&nbsp;boolean&nbsp;startComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
-<div class="block">Called by Daffodil internals to signify the beginning of a complex element.
+<h4>startArray</h4>
+<pre>public abstract&nbsp;boolean&nbsp;startArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
+<div class="block">Called by Daffodil internals to signify the beginning of an array of elements.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diComplex</code> - the complex element that is started. Various fields of
-                  DIComplex can be accessed to determine things like the
-                  nil, name, namespace, etc.</dd>
+<dd><code>diArray</code> - the array that is started. Various fields of
+                DIArray can be accessed to determine things like the
+                name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="endComplex-org.apache.daffodil.infoset.DIComplex-">
+<a name="startComplex-org.apache.daffodil.infoset.DIComplex-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>endComplex</h4>
-<pre>public abstract&nbsp;boolean&nbsp;endComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
-<div class="block">Called by Daffodil internals to signify the end of a complex element.
+<h4>startComplex</h4>
+<pre>public abstract&nbsp;boolean&nbsp;startComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
+<div class="block">Called by Daffodil internals to signify the beginning of a complex element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diComplex</code> - the complex element that is ended. Various fields of
+<dd><code>diComplex</code> - the complex element that is started. Various fields of
                   DIComplex can be accessed to determine things like the
                   nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -399,44 +403,40 @@ implements org.apache.daffodil.infoset.InfosetOutputter</pre>
 </dl>
 </li>
 </ul>
-<a name="startArray-org.apache.daffodil.infoset.DIArray-">
+<a name="startDocument--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startArray</h4>
-<pre>public abstract&nbsp;boolean&nbsp;startArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
-<div class="block">Called by Daffodil internals to signify the beginning of an array of elements.
+<h4>startDocument</h4>
+<pre>public abstract&nbsp;boolean&nbsp;startDocument()</pre>
+<div class="block">Called by Daffodil internals to signify the beginning of the infoset.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diArray</code> - the array that is started. Various fields of
-                DIArray can be accessed to determine things like the
-                name, namespace, etc.</dd>
+<dd><code>startDocument</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="endArray-org.apache.daffodil.infoset.DIArray-">
+<a name="startSimple-org.apache.daffodil.infoset.DISimple-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>endArray</h4>
-<pre>public abstract&nbsp;boolean&nbsp;endArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
-<div class="block">Called by Daffodil internals to signify the end of an array of elements.
+<h4>startSimple</h4>
+<pre>public abstract&nbsp;boolean&nbsp;startSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
+<div class="block">Called by Daffodil internals to signify the beginning of a simple element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diArray</code> - the array that is ended. Various fields of
-                DIArray can be accessed to determine things like the
-                name, namespace, etc.</dd>
+<dd><code>diSimple</code> - the simple element that is started. Various fields of
+                 DISimple can be accessed to determine things like the
+                 value, nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html
index 1e88142..5f463ed 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>InfosetOutputterProxy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>InfosetOutputterProxy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InfosetOutputterProxy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InfosetOutputterProxy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -229,7 +229,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
@@ -262,48 +262,50 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="infosetOutputter--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>infosetOutputter</h4>
-<pre>protected abstract&nbsp;org.apache.daffodil.infoset.InfosetOutputter&nbsp;infosetOutputter()</pre>
-</li>
-</ul>
-<a name="reset--">
+<a name="endArray-org.apache.daffodil.infoset.DIArray-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>reset</h4>
-<pre>public&nbsp;void&nbsp;reset()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--">InfosetOutputter</a></code></span></div>
-<div class="block">Reset the internal state of this InfosetOutputter. This should be called
- inbetween calls to the parse method.</div>
+<h4>endArray</h4>
+<pre>public&nbsp;boolean&nbsp;endArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endArray-org.apache.daffodil.infoset.DIArray-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the end of an array of elements.
+ <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>reset</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endArray-org.apache.daffodil.infoset.DIArray-">endArray</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>diArray</code> - the array that is ended. Various fields of
+                DIArray can be accessed to determine things like the
+                name, namespace, etc.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true on sucess, false if there was an error and Daffodil should stop all
+         future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="startDocument--">
+<a name="endComplex-org.apache.daffodil.infoset.DIComplex-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startDocument</h4>
-<pre>public&nbsp;boolean&nbsp;startDocument()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startDocument--">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the beginning of the infoset.
+<h4>endComplex</h4>
+<pre>public&nbsp;boolean&nbsp;endComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endComplex-org.apache.daffodil.infoset.DIComplex-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the end of a complex element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startDocument</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startDocument--">startDocument</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endComplex-org.apache.daffodil.infoset.DIComplex-">endComplex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>diComplex</code> - the complex element that is ended. Various fields of
+                  DIComplex can be accessed to determine things like the
+                  nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
@@ -331,23 +333,23 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 </dl>
 </li>
 </ul>
-<a name="startSimple-org.apache.daffodil.infoset.DISimple-">
+<a name="endSimple-org.apache.daffodil.infoset.DISimple-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startSimple</h4>
-<pre>public&nbsp;boolean&nbsp;startSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startSimple-org.apache.daffodil.infoset.DISimple-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the beginning of a simple element.
+<h4>endSimple</h4>
+<pre>public&nbsp;boolean&nbsp;endSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endSimple-org.apache.daffodil.infoset.DISimple-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the end of a simple element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>endSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startSimple-org.apache.daffodil.infoset.DISimple-">startSimple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endSimple-org.apache.daffodil.infoset.DISimple-">endSimple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diSimple</code> - the simple element that is started. Various fields of
+<dd><code>diSimple</code> - the simple element that is ended. Various fields of
                  DISimple can be accessed to determine things like the
                  value, nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -356,73 +358,75 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 </dl>
 </li>
 </ul>
-<a name="endSimple-org.apache.daffodil.infoset.DISimple-">
+<a name="infosetOutputter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>endSimple</h4>
-<pre>public&nbsp;boolean&nbsp;endSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endSimple-org.apache.daffodil.infoset.DISimple-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the end of a simple element.
- <p></div>
+<h4>infosetOutputter</h4>
+<pre>protected abstract&nbsp;org.apache.daffodil.infoset.InfosetOutputter&nbsp;infosetOutputter()</pre>
+</li>
+</ul>
+<a name="reset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reset</h4>
+<pre>public&nbsp;void&nbsp;reset()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--">InfosetOutputter</a></code></span></div>
+<div class="block">Reset the internal state of this InfosetOutputter. This should be called
+ inbetween calls to the parse method.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>reset</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endSimple-org.apache.daffodil.infoset.DISimple-">endSimple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diSimple</code> - the simple element that is ended. Various fields of
-                 DISimple can be accessed to determine things like the
-                 value, nil, name, namespace, etc.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true on sucess, false if there was an error and Daffodil should stop all
-         future calls to the InfosetOutputter</dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="startComplex-org.apache.daffodil.infoset.DIComplex-">
+<a name="startArray-org.apache.daffodil.infoset.DIArray-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startComplex</h4>
-<pre>public&nbsp;boolean&nbsp;startComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startComplex-org.apache.daffodil.infoset.DIComplex-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the beginning of a complex element.
+<h4>startArray</h4>
+<pre>public&nbsp;boolean&nbsp;startArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startArray-org.apache.daffodil.infoset.DIArray-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the beginning of an array of elements.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startComplex-org.apache.daffodil.infoset.DIComplex-">startComplex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startArray-org.apache.daffodil.infoset.DIArray-">startArray</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diComplex</code> - the complex element that is started. Various fields of
-                  DIComplex can be accessed to determine things like the
-                  nil, name, namespace, etc.</dd>
+<dd><code>diArray</code> - the array that is started. Various fields of
+                DIArray can be accessed to determine things like the
+                name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="endComplex-org.apache.daffodil.infoset.DIComplex-">
+<a name="startComplex-org.apache.daffodil.infoset.DIComplex-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>endComplex</h4>
-<pre>public&nbsp;boolean&nbsp;endComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endComplex-org.apache.daffodil.infoset.DIComplex-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the end of a complex element.
+<h4>startComplex</h4>
+<pre>public&nbsp;boolean&nbsp;startComplex(org.apache.daffodil.infoset.DIComplex&nbsp;diComplex)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startComplex-org.apache.daffodil.infoset.DIComplex-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the beginning of a complex element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startComplex</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endComplex-org.apache.daffodil.infoset.DIComplex-">endComplex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startComplex-org.apache.daffodil.infoset.DIComplex-">startComplex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diComplex</code> - the complex element that is ended. Various fields of
+<dd><code>diComplex</code> - the complex element that is started. Various fields of
                   DIComplex can be accessed to determine things like the
                   nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -431,50 +435,46 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 </dl>
 </li>
 </ul>
-<a name="startArray-org.apache.daffodil.infoset.DIArray-">
+<a name="startDocument--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>startArray</h4>
-<pre>public&nbsp;boolean&nbsp;startArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startArray-org.apache.daffodil.infoset.DIArray-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the beginning of an array of elements.
+<h4>startDocument</h4>
+<pre>public&nbsp;boolean&nbsp;startDocument()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startDocument--">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the beginning of the infoset.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>startArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startDocument</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startArray-org.apache.daffodil.infoset.DIArray-">startArray</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diArray</code> - the array that is started. Various fields of
-                DIArray can be accessed to determine things like the
-                name, namespace, etc.</dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startDocument--">startDocument</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
 </dl>
 </li>
 </ul>
-<a name="endArray-org.apache.daffodil.infoset.DIArray-">
+<a name="startSimple-org.apache.daffodil.infoset.DISimple-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>endArray</h4>
-<pre>public&nbsp;boolean&nbsp;endArray(org.apache.daffodil.infoset.DIArray&nbsp;diArray)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endArray-org.apache.daffodil.infoset.DIArray-">InfosetOutputter</a></code></span></div>
-<div class="block">Called by Daffodil internals to signify the end of an array of elements.
+<h4>startSimple</h4>
+<pre>public&nbsp;boolean&nbsp;startSimple(org.apache.daffodil.infoset.DISimple&nbsp;diSimple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startSimple-org.apache.daffodil.infoset.DISimple-">InfosetOutputter</a></code></span></div>
+<div class="block">Called by Daffodil internals to signify the beginning of a simple element.
  <p></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>endArray</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
+<dd><code>startSimple</code>&nbsp;in interface&nbsp;<code>org.apache.daffodil.infoset.InfosetOutputter</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#endArray-org.apache.daffodil.infoset.DIArray-">endArray</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#startSimple-org.apache.daffodil.infoset.DISimple-">startSimple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>diArray</code> - the array that is ended. Various fields of
-                DIArray can be accessed to determine things like the
-                name, namespace, etc.</dd>
+<dd><code>diSimple</code> - the simple element that is started. Various fields of
+                 DISimple can be accessed to determine things like the
+                 value, nil, name, namespace, etc.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true on sucess, false if there was an error and Daffodil should stop all
          future calls to the InfosetOutputter</dd>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html
index d3d22e0..e88f458 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>JDOMInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>JDOMInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JDOMInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="JDOMInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -209,11 +209,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html
index b220808..678c041 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>JDOMInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>JDOMInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JDOMInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="JDOMInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -188,7 +188,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
@@ -221,26 +221,26 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="infosetOutputter--">
+<a name="getResult--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>infosetOutputter</h4>
-<pre>public&nbsp;org.apache.daffodil.infoset.JDOMInfosetOutputter&nbsp;infosetOutputter()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#infosetOutputter--">infosetOutputter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></code></dd>
-</dl>
+<h4>getResult</h4>
+<pre>public&nbsp;org.jdom2.Document&nbsp;getResult()</pre>
 </li>
 </ul>
-<a name="getResult--">
+<a name="infosetOutputter--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getResult</h4>
-<pre>public&nbsp;org.jdom2.Document&nbsp;getResult()</pre>
+<h4>infosetOutputter</h4>
+<pre>public&nbsp;org.apache.daffodil.infoset.JDOMInfosetOutputter&nbsp;infosetOutputter()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#infosetOutputter--">infosetOutputter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetInputter.html
index aa415ca..eb1fade 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>JsonInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:16 EDT 2018 -->
+<title>JsonInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="JsonInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -209,11 +209,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html
index 6b3bbf8..c734ad3 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>JsonInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>JsonInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="JsonInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -238,7 +238,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/NullInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/NullInfosetOutputter.html
index 1efdfbe..09280dc 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/NullInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/NullInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>NullInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>NullInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NullInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="NullInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -184,7 +184,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html
index 1b6f47d..71608cb 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ScalaXMLInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ScalaXMLInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ScalaXMLInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ScalaXMLInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -209,11 +209,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html
index 6eb111a..aa37f67 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ScalaXMLInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ScalaXMLInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ScalaXMLInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ScalaXMLInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -238,7 +238,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html
index f03850b..5a2bffd 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>W3CDOMInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>W3CDOMInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="W3CDOMInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="W3CDOMInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -214,11 +214,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html
index f9e2352..e449780 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>W3CDOMInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>W3CDOMInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="W3CDOMInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="W3CDOMInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -188,7 +188,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
@@ -221,26 +221,26 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="infosetOutputter--">
+<a name="getResult--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>infosetOutputter</h4>
-<pre>public&nbsp;org.apache.daffodil.infoset.W3CDOMInfosetOutputter&nbsp;infosetOutputter()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#infosetOutputter--">infosetOutputter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></code></dd>
-</dl>
+<h4>getResult</h4>
+<pre>public&nbsp;org.w3c.dom.Document&nbsp;getResult()</pre>
 </li>
 </ul>
-<a name="getResult--">
+<a name="infosetOutputter--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getResult</h4>
-<pre>public&nbsp;org.w3c.dom.Document&nbsp;getResult()</pre>
+<h4>infosetOutputter</h4>
+<pre>public&nbsp;org.apache.daffodil.infoset.W3CDOMInfosetOutputter&nbsp;infosetOutputter()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#infosetOutputter--">infosetOutputter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html
index 479d2e8..6b6bd10 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>XMLTextInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>XMLTextInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLTextInfosetInputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="XMLTextInfosetInputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -209,11 +209,25 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.infoset.InfosetInputterCursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetInputterCursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.Cursor">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.Cursor</h3>
+<code>$init$</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.util.CursorImplMixin">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.util.CursorImplMixin</h3>
-<code>accessor_$eq</code></li>
+<code>$init$</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html
index 80d284d..e2e7a53 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>XMLTextInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>XMLTextInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XMLTextInfosetOutputter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="XMLTextInfosetOutputter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -238,7 +238,7 @@ extends <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputte
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.daffodil.infoset.InfosetOutputter</h3>
-<code>getStatus, isNilled, status</code></li>
+<code>$init$, getStatus, isNilled, status</code></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-frame.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-frame.html
index e8772d3..b7b91cd 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-frame.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-summary.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-summary.html
index 4355f80..d7ffd38 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-summary.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.infoset (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -43,7 +43,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/daffodil/japi/debugger/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/logger/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/daffodil/japi/infoset/package-summary.html" target="_top">Frames</a></li>
@@ -184,7 +184,7 @@
 <h2 title="Package org.apache.daffodil.japi.infoset Description">Package org.apache.daffodil.japi.infoset Description</h2>
 <div class="block">Defines various classes used control the representation of the infoset for
  parse and unparse. Classes that extend <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> are provided to
- the <a href="../../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-"><code>DataProcessor.parse(java.nio.channels.ReadableByteChannel, org.apache.daffodil.japi.infoset.InfosetOutputter, long)</code></a> method to deteremine how to output an infoset.
+ the <code>org.apache.daffodil.japi.DataProcessor#parse(org.apache.daffodil.io.InputSourceDataInputStream, org.apache.daffodil.japi.infoset.InfosetOutputter)</code> method to deteremine how to output an infoset.
  These classes are not guaranteed to be thread-safe. Classes that extend
  <a href="../../../../../org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> are provided to the <a href="../../../../../org/apache/daffodil/japi/DataProcessor.html#unparse-org.apache.daffodil.japi.infoset.InfosetInputter-java.nio.channels.WritableByteChannel-"><code>DataProcessor.unparse(org.apache.daffodil.japi.infoset.InfosetInputter, java.nio.channels.WritableByteChannel)</code></a> method to
  determine how to read in an infoset. A new InfosetOutputter is required for
@@ -211,7 +211,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/daffodil/japi/debugger/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/logger/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/daffodil/japi/infoset/package-summary.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-tree.html
index a8a533e..f83c2a4 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/infoset/package-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.infoset Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.infoset Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.infoset Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.infoset Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -43,7 +43,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/daffodil/japi/debugger/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/logger/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/daffodil/japi/infoset/package-tree.html" target="_top">Frames</a></li>
@@ -136,7 +136,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/daffodil/japi/debugger/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/logger/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/daffodil/japi/infoset/package-tree.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/InputSourceDataInputStream.html
similarity index 60%
copy from content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html
copy to content/docs/latest/javadoc/org/apache/daffodil/japi/io/InputSourceDataInputStream.html
index 7022ff7..8129658 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/InputSourceDataInputStream.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>NullLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>InputSourceDataInputStream (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NullLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="InputSourceDataInputStream (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -48,12 +48,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/logger/NullLogWriter.html" target="_top">Frames</a></li>
-<li><a href="NullLogWriter.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/InputSourceDataInputStream.html" target="_top">Frames</a></li>
+<li><a href="InputSourceDataInputStream.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -91,20 +91,15 @@ var activeTableTab = "activeTableTab";
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.daffodil.japi.logger</div>
-<h2 title="Class NullLogWriter" class="title">Class NullLogWriter</h2>
+<div class="subTitle">org.apache.daffodil.japi.io</div>
+<h2 title="Class InputSourceDataInputStream" class="title">Class InputSourceDataInputStream</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li>java.lang.Object</li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">org.apache.daffodil.japi.logger.LogWriter</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.daffodil.japi.logger.NullLogWriter</li>
-</ul>
-</li>
+<li>org.apache.daffodil.japi.io.InputSourceDataInputStream</li>
 </ul>
 </li>
 </ul>
@@ -113,9 +108,10 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public final class <span class="typeNameLabel">NullLogWriter</span>
-extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></pre>
-<div class="block"><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><code>LogWriter</code></a> that drops all log messages</div>
+<pre>public class <span class="typeNameLabel">InputSourceDataInputStream</span>
+extends java.lang.Object</pre>
+<div class="block">Provides Daffodil with byte data from an InputStream, ByteBuffer, or byte
+ Array.</div>
 </li>
 </ul>
 </div>
@@ -134,7 +130,16 @@ extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html"
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/logger/NullLogWriter.html#NullLogWriter--">NullLogWriter</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-byte:A-">InputSourceDataInputStream</a></span>(byte[]&nbsp;arr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.nio.ByteBuffer-">InputSourceDataInputStream</a></span>(java.nio.ByteBuffer&nbsp;bb)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-org.apache.daffodil.io.InputSourceDataInputStream-">InputSourceDataInputStream</a></span>(org.apache.daffodil.io.InputSourceDataInputStream&nbsp;dis)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.io.InputStream-">InputSourceDataInputStream</a></span>(java.io.InputStream&nbsp;is)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -152,22 +157,11 @@ extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html"
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/logger/NullLogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write</a></span>(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
-     java.lang.String&nbsp;logID,
-     java.lang.String&nbsp;msg)</code>
-<div class="block">Implement this method to determine how the log message is written.</div>
-</td>
+<td class="colFirst"><code>org.apache.daffodil.io.InputSourceDataInputStream</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html#dis--">dis</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.daffodil.japi.logger.LogWriter">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.daffodil.japi.logger.<a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></h3>
-<code><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#log-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-java.util.List-">log</a>, <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#prefix-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-">prefix</a>, <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#suffix-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-">suffix</a></code></li>
-</ul>
-<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -188,13 +182,40 @@ extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html"
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="NullLogWriter--">
+<a name="InputSourceDataInputStream-org.apache.daffodil.io.InputSourceDataInputStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>InputSourceDataInputStream</h4>
+<pre>public&nbsp;InputSourceDataInputStream(org.apache.daffodil.io.InputSourceDataInputStream&nbsp;dis)</pre>
+</li>
+</ul>
+<a name="InputSourceDataInputStream-java.io.InputStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>InputSourceDataInputStream</h4>
+<pre>public&nbsp;InputSourceDataInputStream(java.io.InputStream&nbsp;is)</pre>
+</li>
+</ul>
+<a name="InputSourceDataInputStream-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>InputSourceDataInputStream</h4>
+<pre>public&nbsp;InputSourceDataInputStream(java.nio.ByteBuffer&nbsp;bb)</pre>
+</li>
+</ul>
+<a name="InputSourceDataInputStream-byte:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>NullLogWriter</h4>
-<pre>public&nbsp;NullLogWriter()</pre>
+<h4>InputSourceDataInputStream</h4>
+<pre>public&nbsp;InputSourceDataInputStream(byte[]&nbsp;arr)</pre>
 </li>
 </ul>
 </li>
@@ -205,26 +226,13 @@ extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html"
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">
+<a name="dis--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>write</h4>
-<pre>protected&nbsp;void&nbsp;write(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
-                     java.lang.String&nbsp;logID,
-                     java.lang.String&nbsp;msg)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">LogWriter</a></code></span></div>
-<div class="block">Implement this method to determine how the log message is written.
- <p></div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>level</code> - level of the message</dd>
-<dd><code>logID</code> - identification of class that created the log message</dd>
-<dd><code>msg</code> - log message</dd>
-</dl>
+<h4>dis</h4>
+<pre>public&nbsp;org.apache.daffodil.io.InputSourceDataInputStream&nbsp;dis()</pre>
 </li>
 </ul>
 </li>
@@ -254,12 +262,12 @@ extends <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html"
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/logger/NullLogWriter.html" target="_top">Frames</a></li>
-<li><a href="NullLogWriter.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/InputSourceDataInputStream.html" target="_top">Frames</a></li>
+<li><a href="InputSourceDataInputStream.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-frame.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-frame.html
new file mode 100644
index 0000000..521919f
--- /dev/null
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-frame.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.io (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/daffodil/japi/io/package-summary.html" target="classFrame">org.apache.daffodil.japi.io</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io" target="classFrame">InputSourceDataInputStream</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-summary.html
similarity index 63%
copy from content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
copy to content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-summary.html
index 8150b9a..af6a718 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.io (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.io (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -32,9 +32,9 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Package</li>
 <li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
@@ -42,12 +42,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/logger/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/debugger/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,23 +69,27 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title">Hierarchy For Package org.apache.daffodil.japi.debugger</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
+<h1 title="Package" class="title">Package&nbsp;org.apache.daffodil.japi.io</h1>
 </div>
 <div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.daffodil.japi.debugger.<a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">DebuggerRunner</span></a>
-<ul>
-<li type="circle">org.apache.daffodil.japi.debugger.<a href="../../../../../org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">TraceDebuggerRunner</span></a></li>
-</ul>
-</li>
-</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></td>
+<td class="colLast">
+<div class="block">Provides Daffodil with byte data from an InputStream, ByteBuffer, or byte
+ Array.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </div>
@@ -99,9 +103,9 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Package</li>
 <li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
@@ -109,12 +113,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/logger/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/debugger/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-tree.html
similarity index 76%
copy from content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
copy to content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-tree.html
index 8150b9a..8eee753 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/debugger/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/io/package-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.io Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.debugger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.io Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -42,11 +42,11 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/logger/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/debugger/package-tree.html" target="_top">Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/package-tree.html" target="_top">Frames</a></li>
 <li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
@@ -69,7 +69,7 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title">Hierarchy For Package org.apache.daffodil.japi.debugger</h1>
+<h1 class="title">Hierarchy For Package org.apache.daffodil.japi.io</h1>
 <span class="packageHierarchyLabel">Package Hierarchies:</span>
 <ul class="horizontal">
 <li><a href="../../../../../overview-tree.html">All Packages</a></li>
@@ -80,11 +80,7 @@
 <ul>
 <li type="circle">java.lang.Object
 <ul>
-<li type="circle">org.apache.daffodil.japi.debugger.<a href="../../../../../org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">DebuggerRunner</span></a>
-<ul>
-<li type="circle">org.apache.daffodil.japi.debugger.<a href="../../../../../org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">TraceDebuggerRunner</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.daffodil.japi.io.<a href="../../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io"><span class="typeNameLink">InputSourceDataInputStream</span></a></li>
 </ul>
 </li>
 </ul>
@@ -109,11 +105,11 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/logger/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/daffodil/japi/debugger/package-tree.html" target="_top">Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/daffodil/japi/io/package-tree.html" target="_top">Frames</a></li>
 <li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/ConsoleLogWriter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/ConsoleLogWriter.html
index 8106598..aec30d9 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/ConsoleLogWriter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/ConsoleLogWriter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>ConsoleLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>ConsoleLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConsoleLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="ConsoleLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/FileLogWriter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/FileLogWriter.html
index 359be3d..b41c389 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/FileLogWriter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/FileLogWriter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>FileLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>FileLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="FileLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogLevel.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogLevel.html
index c3822de..cddca45 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogLevel.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogLevel.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>LogLevel (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>LogLevel (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LogLevel (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="LogLevel (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogWriter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogWriter.html
index 4af28c0..945ac0a 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogWriter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/LogWriter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>LogWriter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>LogWriter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LogWriter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="LogWriter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -220,22 +220,31 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">
+<a name="log-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>write</h4>
-<pre>protected abstract&nbsp;void&nbsp;write(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
-                              java.lang.String&nbsp;logID,
-                              java.lang.String&nbsp;msg)</pre>
-<div class="block">Implement this method to determine how the log message is written.
+<h4>log</h4>
+<pre>public&nbsp;void&nbsp;log(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
+                java.lang.String&nbsp;logID,
+                java.lang.String&nbsp;msg,
+                java.util.List&lt;java.lang.Object&gt;&nbsp;args)</pre>
+<div class="block">Generates a log message as a string and calls the write method.
+ <p>
+ The default implementation generates a log message based on the prefix,
+ suffix, message string, and log arguments, and passes the generated log
+ message, level, and logId to <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-"><code>write(org.apache.daffodil.japi.logger.LogLevel, java.lang.String, java.lang.String)</code></a>.
+ <p>
+ Can be overridden if more control is needed over the logging mechanism and/or
+ log arguments are needed as separate entities.
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>level</code> - level of the message</dd>
 <dd><code>logID</code> - identification of class that created the log message</dd>
-<dd><code>msg</code> - log message</dd>
+<dd><code>msg</code> - printf-style format string</dd>
+<dd><code>args</code> - arguments passed to the logger, matching the format string</dd>
 </dl>
 </li>
 </ul>
@@ -281,31 +290,22 @@ extends java.lang.Object</pre>
 </dl>
 </li>
 </ul>
-<a name="log-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-java.util.List-">
+<a name="write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>log</h4>
-<pre>public&nbsp;void&nbsp;log(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
-                java.lang.String&nbsp;logID,
-                java.lang.String&nbsp;msg,
-                java.util.List&lt;java.lang.Object&gt;&nbsp;args)</pre>
-<div class="block">Generates a log message as a string and calls the write method.
- <p>
- The default implementation generates a log message based on the prefix,
- suffix, message string, and log arguments, and passes the generated log
- message, level, and logId to <a href="../../../../../org/apache/daffodil/japi/logger/LogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-"><code>write(org.apache.daffodil.japi.logger.LogLevel, java.lang.String, java.lang.String)</code></a>.
- <p>
- Can be overridden if more control is needed over the logging mechanism and/or
- log arguments are needed as separate entities.
+<h4>write</h4>
+<pre>protected abstract&nbsp;void&nbsp;write(<a href="../../../../../org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a>&nbsp;level,
+                              java.lang.String&nbsp;logID,
+                              java.lang.String&nbsp;msg)</pre>
+<div class="block">Implement this method to determine how the log message is written.
  <p></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>level</code> - level of the message</dd>
 <dd><code>logID</code> - identification of class that created the log message</dd>
-<dd><code>msg</code> - printf-style format string</dd>
-<dd><code>args</code> - arguments passed to the logger, matching the format string</dd>
+<dd><code>msg</code> - log message</dd>
 </dl>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html
index 7022ff7..a75f6ba 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/NullLogWriter.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>NullLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>NullLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NullLogWriter (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="NullLogWriter (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-frame.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-frame.html
index 0219541..3f7fadc 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-frame.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-summary.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-summary.html
index b7d9ff1..3531013 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-summary.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.logger (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -42,7 +42,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-summary.html">Prev&nbsp;Package</a></li>
 <li>Next&nbsp;Package</li>
 </ul>
 <ul class="navList">
@@ -134,7 +134,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.daffodil.japi.logger Description">Package org.apache.daffodil.japi.logger Description</h2>
-<div class="block">Provides the classes necessary to recieve logging messages from Daffodil.
+<div class="block">Provides the classes necessary to receive logging messages from Daffodil.
 
  <h3>Overview</h3>
 
@@ -180,7 +180,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-summary.html">Prev&nbsp;Package</a></li>
 <li>Next&nbsp;Package</li>
 </ul>
 <ul class="navList">
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-tree.html
index 65ddc3a..f0757b9 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/logger/package-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi.logger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi.logger Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi.logger Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi.logger Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -42,7 +42,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-tree.html">Prev</a></li>
 <li>Next</li>
 </ul>
 <ul class="navList">
@@ -123,7 +123,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/daffodil/japi/infoset/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/daffodil/japi/io/package-tree.html">Prev</a></li>
 <li>Next</li>
 </ul>
 <ul class="navList">
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-frame.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-frame.html
index 8d1777e..f6b7b6e 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-frame.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-summary.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-summary.html
index b8f916b..8d3d545 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-summary.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -223,19 +223,20 @@
 
  <h4>Parse</h4>
 
- The <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-"><code>DataProcessor.parse(java.nio.channels.ReadableByteChannel, org.apache.daffodil.japi.infoset.InfosetOutputter, long)</code></a> method accepts input data to parse in the form
- of a <code>ReadableByteChannel</code> and an <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a>
+ The <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-"><code>DataProcessor.parse(org.apache.daffodil.japi.io.InputSourceDataInputStream, org.apache.daffodil.japi.infoset.InfosetOutputter)</code></a> method accepts input data to parse in the form
+ of a <a href="../../../../org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io"><code>InputSourceDataInputStream</code></a> and an <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a>
  to determine the output representation of the infoset (e.g. Scala XML Nodes,
  JDOM2 Documents, etc.):
 
  <pre>
  <code>
  JDOMInfosetOutputter jdomOutputter= new JDOMInfosetOutputter();
- ParseResult pr = dp.parse(data, jdomOutputter);
+ InputSourceDataInputStream is = new InputSourceDataInputStream(data);
+ ParseResult pr = dp.parse(is, jdomOutputter);
  Document doc = jdomOutputter.getResult();
  </code></pre>
 
- The <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-"><code>DataProcessor.parse(java.nio.channels.ReadableByteChannel, org.apache.daffodil.japi.infoset.InfosetOutputter, long)</code></a> method is thread-safe and may be called multiple
+ The <a href="../../../../org/apache/daffodil/japi/DataProcessor.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-"><code>DataProcessor.parse(org.apache.daffodil.japi.io.InputSourceDataInputStream, org.apache.daffodil.japi.infoset.InfosetOutputter)</code></a> method is thread-safe and may be called multiple
  times without the need to create other data processors. However,
  <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a>'s are not thread safe, requiring a unique instance per
  thread. An <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> should call <a href="../../../../org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--"><code>InfosetOutputter.reset()</code></a> before
@@ -246,11 +247,27 @@
  JDOMInfosetOutputter jdomOutputter = new JDOMInfosetOutputter();
  for (File f : inputFiles) {
    jdomOutputter.reset();
-   ParseResult pr = dp.parse(f, jdomOutputter);
+   InputSourceDataInputStream is = new InputSourceDataInputStream(new FileInputStream(f)));
+   ParseResult pr = dp.parse(is, jdomOutputter);
    Document doc = jdomOutputter.getResult();
  }
  </code></pre>
 
+ One can repeat calls to parse() using the same InputSourceDataInputStream to continue parsing where the previous parse ended. For example:
+
+ <pre>
+ <code>
+ InputSourceDataInputStream is = new InputSourceDataInputStream(dataStream);
+ JDOMInfosetOutputter jdomOutputter = new JDOMInfosetOutputter();
+ boolean keepParsing = true;
+ while (keepParsing) {
+   jdomOutputter.reset();
+   ParseResult pr = dp.parse(is, jdomOutputter);
+   ...
+   keepParsing = !pr.location().isAtEnd() &amp;&amp; !pr.isError();
+ }
+ </code></pre>
+
  <h4>Unparse</h4>
 
  The same <a href="../../../../org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> used for parse can be used to unparse an infoset
diff --git a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-tree.html b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-tree.html
index 290b5fa..db4be49 100644
--- a/content/docs/latest/javadoc/org/apache/daffodil/japi/package-tree.html
+++ b/content/docs/latest/javadoc/org/apache/daffodil/japi/package-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>org.apache.daffodil.japi Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>org.apache.daffodil.japi Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.daffodil.japi Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="org.apache.daffodil.japi Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/javadoc/overview-frame.html b/content/docs/latest/javadoc/overview-frame.html
index 926fe42..c46ffb1 100644
--- a/content/docs/latest/javadoc/overview-frame.html
+++ b/content/docs/latest/javadoc/overview-frame.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Overview List (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Overview List (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -16,6 +16,7 @@
 <li><a href="org/apache/daffodil/japi/package-frame.html" target="packageFrame">org.apache.daffodil.japi</a></li>
 <li><a href="org/apache/daffodil/japi/debugger/package-frame.html" target="packageFrame">org.apache.daffodil.japi.debugger</a></li>
 <li><a href="org/apache/daffodil/japi/infoset/package-frame.html" target="packageFrame">org.apache.daffodil.japi.infoset</a></li>
+<li><a href="org/apache/daffodil/japi/io/package-frame.html" target="packageFrame">org.apache.daffodil.japi.io</a></li>
 <li><a href="org/apache/daffodil/japi/logger/package-frame.html" target="packageFrame">org.apache.daffodil.japi.logger</a></li>
 </ul>
 </div>
diff --git a/content/docs/latest/javadoc/overview-summary.html b/content/docs/latest/javadoc/overview-summary.html
index f83b4f3..d6337e6 100644
--- a/content/docs/latest/javadoc/overview-summary.html
+++ b/content/docs/latest/javadoc/overview-summary.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Overview (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Overview (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Overview (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Overview (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -69,7 +69,7 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title"><h1>Apache Daffodil (incubating) 2.1.0 Java API</h1></h1>
+<h1 class="title"><h1>Apache Daffodil (incubating) 2.2.0 Java API</h1></h1>
 </div>
 <div class="contentContainer">
 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
@@ -101,9 +101,13 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="org/apache/daffodil/japi/io/package-summary.html">org.apache.daffodil.japi.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></td>
 <td class="colLast">
-<div class="block">Provides the classes necessary to recieve logging messages from Daffodil.</div>
+<div class="block">Provides the classes necessary to receive logging messages from Daffodil.</div>
 </td>
 </tr>
 </tbody>
diff --git a/content/docs/latest/javadoc/overview-tree.html b/content/docs/latest/javadoc/overview-tree.html
index 41ae56a..a30dc54 100644
--- a/content/docs/latest/javadoc/overview-tree.html
+++ b/content/docs/latest/javadoc/overview-tree.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Class Hierarchy (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Class Hierarchy (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
@@ -75,6 +75,7 @@
 <li><a href="org/apache/daffodil/japi/package-tree.html">org.apache.daffodil.japi</a>, </li>
 <li><a href="org/apache/daffodil/japi/debugger/package-tree.html">org.apache.daffodil.japi.debugger</a>, </li>
 <li><a href="org/apache/daffodil/japi/infoset/package-tree.html">org.apache.daffodil.japi.infoset</a>, </li>
+<li><a href="org/apache/daffodil/japi/io/package-tree.html">org.apache.daffodil.japi.io</a>, </li>
 <li><a href="org/apache/daffodil/japi/logger/package-tree.html">org.apache.daffodil.japi.logger</a></li>
 </ul>
 </div>
@@ -123,6 +124,7 @@
 </li>
 </ul>
 </li>
+<li type="circle">org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io"><span class="typeNameLink">InputSourceDataInputStream</span></a></li>
 <li type="circle">org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/LocationInSchemaFile.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">LocationInSchemaFile</span></a></li>
 <li type="circle">org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">LogWriter</span></a>
 <ul>
@@ -158,8 +160,8 @@
 <ul>
 <li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
 <ul>
-<li type="circle">org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi"><span class="typeNameLink">ValidationMode</span></a></li>
 <li type="circle">org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger"><span class="typeNameLink">LogLevel</span></a></li>
+<li type="circle">org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi"><span class="typeNameLink">ValidationMode</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/javadoc/package-list b/content/docs/latest/javadoc/package-list
index 1d4fbf2..9345f56 100644
--- a/content/docs/latest/javadoc/package-list
+++ b/content/docs/latest/javadoc/package-list
@@ -1,4 +1,5 @@
 org.apache.daffodil.japi
 org.apache.daffodil.japi.debugger
 org.apache.daffodil.japi.infoset
+org.apache.daffodil.japi.io
 org.apache.daffodil.japi.logger
diff --git a/content/docs/latest/javadoc/serialized-form.html b/content/docs/latest/javadoc/serialized-form.html
index 2ba03e8..630fb42 100644
--- a/content/docs/latest/javadoc/serialized-form.html
+++ b/content/docs/latest/javadoc/serialized-form.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_161) on Mon Feb 12 13:45:46 EST 2018 -->
-<title>Serialized Form (Apache Daffodil (incubating) 2.1.0 Java API)</title>
-<meta name="date" content="2018-02-12">
+<!-- Generated by javadoc (1.8.0_181) on Wed Aug 22 15:29:17 EDT 2018 -->
+<title>Serialized Form (Apache Daffodil (incubating) 2.2.0 Java API)</title>
+<meta name="date" content="2018-08-22">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Serialized Form (Apache Daffodil (incubating) 2.1.0 Java API)";
+            parent.document.title="Serialized Form (Apache Daffodil (incubating) 2.2.0 Java API)";
         }
     }
     catch(err) {
diff --git a/content/docs/latest/scaladoc/deprecated-list.html b/content/docs/latest/scaladoc/deprecated-list.html
deleted file mode 100644
index a70a53b..0000000
--- a/content/docs/latest/scaladoc/deprecated-list.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">canProceed</div>
-      <div class="occurrences"><a href="org/apache/daffodil/sapi/WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a> </div>
-    </div><div class="entry">
-      <div class="name">parse</div>
-      <div class="occurrences"><a href="org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">result</div>
-      <div class="occurrences"><a href="org/apache/daffodil/sapi/ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index.html b/content/docs/latest/scaladoc/index.html
index 143f249..a0072a4 100644
--- a/content/docs/latest/scaladoc/index.html
+++ b/content/docs/latest/scaladoc/index.html
@@ -1,68 +1,158 @@
 <!DOCTYPE html >
 <html>
         <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
+          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+          <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+          <title>Apache Daffodil (incubating) 2.2.0 Scala API </title>
+          <meta name="description" content="Apache Daffodil incubating 2.2.0 Scala API " />
+          <meta name="keywords" content="Apache Daffodil incubating 2.2.0 Scala API " />
           <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
           
       <link href="lib/index.css" media="screen" type="text/css" rel="stylesheet" />
+      <link href="lib/template.css" media="screen" type="text/css" rel="stylesheet" />
+      <link href="lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
       <script type="text/javascript" src="lib/jquery.js"></script>
-      <script type="text/javascript" src="lib/jquery-ui.js"></script>
-      <script type="text/javascript" src="lib/jquery.layout.js"></script>
+      <script type="text/javascript" src="lib/jquery.panzoom.min.js"></script>
+      <script type="text/javascript" src="lib/jquery.mousewheel.min.js"></script>
       <script type="text/javascript" src="lib/index.js"></script>
+      <script type="text/javascript" src="index.js"></script>
       <script type="text/javascript" src="lib/scheduler.js"></script>
+      <script type="text/javascript" src="lib/template.js"></script>
+      <script type="text/javascript" src="lib/tools.tooltip.js"></script>
+      
+      <script type="text/javascript">
+        /* this variable can be used by the JS to determine the path to the root document */
+        var toRoot = '';
+      </script>
     
         </head>
         <body>
-      <div id="library">
-        <img class="class icon" alt="class icon" src="lib/class.png" />
-        <img class="trait icon" alt="trait icon" src="lib/trait.png" />
-        <img class="object icon" alt="trait icon" src="lib/object.png" />
-        <img class="package icon" alt="trait icon" src="lib/package.png" />
+      <div id="search">
+        <span id="doc-title">Apache Daffodil (incubating) 2.2.0 Scala API<span id="doc-version"></span></span>
+        <span class="close-results"><span class="left">&lt;</span> Back</span>
+        <div id="textfilter">
+          <span class="input">
+            <input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/" />
+            <i class="clear material-icons"></i>
+            <i id="search-icon" class="material-icons"></i>
+          </span>
+        </div>
+    </div>
+      <div id="search-results">
+        <div id="search-progress">
+          <div id="progress-fill"></div>
+        </div>
+        <div id="results-content">
+          <div id="entity-results"></div>
+          <div id="member-results"></div>
+        </div>
       </div>
-      <div id="browser" class="ui-layout-west">
-      <div class="ui-west-center">
-      <div id="filter">
-          <div id="textfilter"></div>
-          <div id="letters"><span>#</span><a target="template" href="index/index-a.html">A</a><a target="template" href="index/index-b.html">B</a><a target="template" href="index/index-c.html">C</a><a target="template" href="index/index-d.html">D</a><a target="template" href="index/index-e.html">E</a><a target="template" href="index/index-f.html">F</a><a target="template" href="index/index-g.html">G</a><a target="template" href="index/index-h.html">H</a><a target="template" href="index/i [...]
+      <div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;">
+        <div id="content-container" style="-webkit-overflow-scrolling: touch;">
+          <div id="subpackage-spacer">
+            <div id="packages">
+              <h1>Packages</h1>
+              <ul>
+                <li name="_root_.root" visbl="pub" class="indented0 current" data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="_root_"></a><a id="root:_root_"></a>
+      <span class="permalink">
+      <a href="index.html#_root_" title="Permalink">
+        <i class="material-icons">î…—</i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">root</span>
+      </span>
+      
+      <p class="shortcomment cmt"><a href="org/apache/daffodil/sapi/index.html" class="extype" name="org.apache.daffodil.sapi">org.apache.daffodil.sapi</a> - Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics</p><div class="fullcomment"><div class="comment cmt"><h4> Apache Daffodil (incubating) Scala API </h4><h5> Packages </h5><p><a href="org/apache/daffodil/sapi/index.html" class="exty [...]
+    </li><li name="_root_.org" visbl="pub" class="indented1 " data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="org"></a><a id="org:org"></a>
+      <span class="permalink">
+      <a href="index.html#org" title="Permalink">
+        <i class="material-icons">î…—</i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="org/index.html"><span class="name">org</span></a>
+      </span>
+      
+      
+    </li>
+              </ul>
+            </div>
+          </div>
+          <div id="content">
+            <body class="package value">
+      <div id="definition">
+        <div class="big-circle package">p</div>
+        
+        <h1>root package<span class="permalink">
+      <a href="index.html" title="Permalink">
+        <i class="material-icons">î…—</i>
+      </a>
+    </span></h1>
+        
       </div>
-      <div class="pack" id="tpl">
-            
-            <ol class="templates"></ol>
-            <ol class="packages"> <li class="pack" title="org">
-            <a class="tplshow" href="org/package.html" target="template">org</a>
-            <ol class="templates"></ol>
-            <ol class="packages"> <li class="pack" title="org.apache">
-            <a class="tplshow" href="org/apache/package.html" target="template">org.apache</a>
-            <ol class="templates"></ol>
-            <ol class="packages"> <li class="pack" title="org.apache.daffodil">
-            <a class="tplshow" href="org/apache/daffodil/package.html" target="template">org.apache.daffodil</a>
-            <ol class="templates"></ol>
-            <ol class="packages"> <li class="pack" title="org.apache.daffodil.sapi">
-            <a class="tplshow" href="org/apache/daffodil/sapi/package.html" target="template">org.apache.daffodil.sapi</a>
-            <ol class="templates"><li title="org.apache.daffodil.sapi.Compiler"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/Compiler.html" target="template"><span class="class">(class)</span><span class="tplLink">Compiler</span></a></li><li title="org.apache.daffodil.sapi.Daffodil"><a class="tplshow" href="org/apache/daffodil/sapi/Daffodil$.html" target="template"><span class="object">(object)</span><div class="placeholder"></div><span class="tplLink" [...]
-            <ol class="packages"> <li class="pack" title="org.apache.daffodil.sapi.debugger">
-            <a class="tplshow" href="org/apache/daffodil/sapi/debugger/package.html" target="template">org.apache.daffodil.sapi.debugger</a>
-            <ol class="templates"><li title="org.apache.daffodil.sapi.debugger.DebuggerRunner"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/debugger/DebuggerRunner.html" target="template"><span class="class">(class)</span><span class="tplLink">DebuggerRunner</span></a></li><li title="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/debugger/TraceDebuggerRunner.html"  [...]
-            <ol class="packages"> </ol>
-          </li><li class="pack" title="org.apache.daffodil.sapi.infoset">
-            <a class="tplshow" href="org/apache/daffodil/sapi/infoset/package.html" target="template">org.apache.daffodil.sapi.infoset</a>
-            <ol class="templates"><li title="org.apache.daffodil.sapi.infoset.InfosetInputter"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/infoset/InfosetInputter.html" target="template"><span class="class">(class)</span><span class="tplLink">InfosetInputter</span></a></li><li title="org.apache.daffodil.sapi.infoset.InfosetInputterProxy"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" [...]
-            <ol class="packages"> </ol>
-          </li><li class="pack" title="org.apache.daffodil.sapi.logger">
-            <a class="tplshow" href="org/apache/daffodil/sapi/logger/package.html" target="template">org.apache.daffodil.sapi.logger</a>
-            <ol class="templates"><li title="org.apache.daffodil.sapi.logger.ConsoleLogWriter"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/logger/ConsoleLogWriter.html" target="template"><span class="class">(class)</span><span class="tplLink">ConsoleLogWriter</span></a></li><li title="org.apache.daffodil.sapi.logger.FileLogWriter"><div class="placeholder"></div><a class="tplshow" href="org/apache/daffodil/sapi/logger/FileLogWriter.html" target="templa [...]
-            <ol class="packages"> </ol>
-          </li></ol>
-          </li></ol>
-          </li></ol>
-          </li></ol>
-          </li></ol>
-          </div></div><script src="index.js"></script>
-    </div>
-      <div id="content" class="ui-layout-center">
-        <iframe id="template" name="template" src="package.html"></iframe>
+
+      <h4 id="signature" class="signature">
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">root</span>
+      </span>
+      </h4>
+
+      
+          <div id="comment" class="fullcommenttop"><div class="comment cmt"><h4> Apache Daffodil (incubating) Scala API </h4><h5> Packages </h5><p><a href="org/apache/daffodil/sapi/index.html" class="extype" name="org.apache.daffodil.sapi">org.apache.daffodil.sapi</a> - Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics</p><p><a href="org/apache/daffodil/sapi/logger/index.html" class="ex [...]
+        
+
+      
+
+      <div id="template">
+        <div id="allMembers">
+        
+
+        
+
+        
+
+        
+
+        
+
+        
+        </div>
+
+        <div id="inheritedMembers">
+        
+        
+        </div>
+
+        <div id="groupedMembers">
+        <div class="group" name="Ungrouped">
+              <h3>Ungrouped</h3>
+              
+            </div>
+        </div>
+
+      </div>
+
+      <div id="tooltip"></div>
+
+      <div id="footer">  </div>
+    </body>
+          </div>
+        </div>
       </div>
     </body>
       </html>
diff --git a/content/docs/latest/scaladoc/index.js b/content/docs/latest/scaladoc/index.js
index a659d20..ddc562e 100644
--- a/content/docs/latest/scaladoc/index.js
+++ b/content/docs/latest/scaladoc/index.js
@@ -1 +1 @@
-Index.PACKAGES = {"org.apache.daffodil.sapi.logger" : [{"class" : "org\/apache\/daffodil\/sapi\/logger\/ConsoleLogWriter.html", "name" : "org.apache.daffodil.sapi.logger.ConsoleLogWriter"}, {"class" : "org\/apache\/daffodil\/sapi\/logger\/FileLogWriter.html", "name" : "org.apache.daffodil.sapi.logger.FileLogWriter"}, {"object" : "org\/apache\/daffodil\/sapi\/logger\/LogLevel$.html", "name" : "org.apache.daffodil.sapi.logger.LogLevel"}, {"class" : "org\/apache\/daffodil\/sapi\/logger\/Log [...]
\ No newline at end of file
+Index.PACKAGES = {"org.apache.daffodil.sapi.logger" : [{"name" : "org.apache.daffodil.sapi.logger.ConsoleLogWriter", "shortDescription" : "LogWriter that writes log messages to stdout", "members_class" : [{"label" : "write", "tail" : "(level: LogLevel.Value, logID: String, msg: String): Unit", "member" : "org.apache.daffodil.sapi.logger.ConsoleLogWriter.write", "link" : "org\/apache\/daffodil\/sapi\/logger\/ConsoleLogWriter.html#write(level:org.apache.daffodil.sapi.logger.LogLevel.Value, [...]
\ No newline at end of file
diff --git a/content/docs/latest/scaladoc/index/index-a.html b/content/docs/latest/scaladoc/index/index-a.html
deleted file mode 100644
index 7c93d0b..0000000
--- a/content/docs/latest/scaladoc/index/index-a.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">apache</div>
-      <div class="occurrences"><a href="../org/package.html" class="extype" name="org">org</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-b.html b/content/docs/latest/scaladoc/index/index-b.html
deleted file mode 100644
index df1f699..0000000
--- a/content/docs/latest/scaladoc/index/index-b.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">bitPos1b</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataLocation.html" class="extype" name="org.apache.daffodil.sapi.DataLocation">DataLocation</a> </div>
-    </div><div class="entry">
-      <div class="name">bytePos1b</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataLocation.html" class="extype" name="org.apache.daffodil.sapi.DataLocation">DataLocation</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-c.html b/content/docs/latest/scaladoc/index/index-c.html
deleted file mode 100644
index bfd7a77..0000000
--- a/content/docs/latest/scaladoc/index/index-c.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Compile</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">Compiler</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">ConsoleLogWriter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/package.html" class="extype" name="org.apache.daffodil.sapi.logger">logger</a> </div>
-    </div><div class="entry">
-      <div class="name"><strike>canProceed</strike></div>
-      <div class="occurrences"><strike><a href="../org/apache/daffodil/sapi/WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a></strike> </div>
-    </div><div class="entry">
-      <div class="name">compileFile</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">compileSource</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">compiler</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Daffodil$.html" class="extype" name="org.apache.daffodil.sapi.Daffodil">Daffodil</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-d.html b/content/docs/latest/scaladoc/index/index-d.html
deleted file mode 100644
index 554540f..0000000
--- a/content/docs/latest/scaladoc/index/index-d.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Daffodil</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">DataLocation</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">DataProcessor</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">Debug</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">DebuggerRunner</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/package.html" class="extype" name="org.apache.daffodil.sapi.debugger">debugger</a> </div>
-    </div><div class="entry">
-      <div class="name">DelimDebug</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">Diagnostic</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">daffodil</div>
-      <div class="occurrences"><a href="../org/apache/package.html" class="extype" name="org.apache">apache</a> </div>
-    </div><div class="entry">
-      <div class="name">debugger</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-e.html b/content/docs/latest/scaladoc/index/index-e.html
deleted file mode 100644
index 1273266..0000000
--- a/content/docs/latest/scaladoc/index/index-e.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Error</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">endArray</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">endComplex</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">endDocument</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">endSimple</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-f.html b/content/docs/latest/scaladoc/index/index-f.html
deleted file mode 100644
index 38eb981..0000000
--- a/content/docs/latest/scaladoc/index/index-f.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">FileLogWriter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/package.html" class="extype" name="org.apache.daffodil.sapi.logger">logger</a> </div>
-    </div><div class="entry">
-      <div class="name">Full</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ValidationMode$.html" class="extype" name="org.apache.daffodil.sapi.ValidationMode">ValidationMode</a> </div>
-    </div><div class="entry">
-      <div class="name">fini</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a> <a href="../org/apache/daffodil/sapi/debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.Infose [...]
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-g.html b/content/docs/latest/scaladoc/index/index-g.html
deleted file mode 100644
index a60a33d..0000000
--- a/content/docs/latest/scaladoc/index/index-g.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">getCommand</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a> <a href="../org/apache/daffodil/sapi/debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a> </div>
-    </div><div class="entry">
-      <div class="name">getDataLocations</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> </div>
-    </div><div class="entry">
-      <div class="name">getDiagnostics</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a> </div>
-    </div><div class="entry">
-      <div class="name">getEventType</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">getFile</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/FileLogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.FileLogWriter">FileLogWriter</a> </div>
-    </div><div class="entry">
-      <div class="name">getLocalName</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">getLocationsInSchemaFiles</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> </div>
-    </div><div class="entry">
-      <div class="name">getMessage</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> </div>
-    </div><div class="entry">
-      <div class="name">getNamespaceURI</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">getResult</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/JDOMInfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.JDOMInfosetOutputter">JDOMInfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/ScalaXMLInfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.ScalaXMLInfosetOutputter">ScalaXMLInfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/W3CDOMInfosetOutputter.html" class="extype" name="org.apac [...]
-    </div><div class="entry">
-      <div class="name">getSimpleText</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">getSomeCause</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> </div>
-    </div><div class="entry">
-      <div class="name">getSomeMessage</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-h.html b/content/docs/latest/scaladoc/index/index-h.html
deleted file mode 100644
index 501fa26..0000000
--- a/content/docs/latest/scaladoc/index/index-h.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">hasNext</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-i.html b/content/docs/latest/scaladoc/index/index-i.html
deleted file mode 100644
index 78c0fa4..0000000
--- a/content/docs/latest/scaladoc/index/index-i.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Info</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">InfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">InfosetInputterProxy</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">InfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">InfosetOutputterProxy</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">InvalidParserException</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">InvalidUsageException</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">infoset</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">infosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> <a href="../org/apache/daffodil/sapi/infoset/JDOMInfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.JDOMInfosetInputter">JDOMInfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/JsonInfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.i [...]
-    </div><div class="entry">
-      <div class="name">infosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> <a href="../org/apache/daffodil/sapi/infoset/JDOMInfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.JDOMInfosetOutputter">JDOMInfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/JsonInfosetOutputter.html" class="extype" name="org.apache.daffodil [...]
-    </div><div class="entry">
-      <div class="name">init</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a> <a href="../org/apache/daffodil/sapi/debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a> </div>
-    </div><div class="entry">
-      <div class="name">isAtEnd</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataLocation.html" class="extype" name="org.apache.daffodil.sapi.DataLocation">DataLocation</a> </div>
-    </div><div class="entry">
-      <div class="name">isError</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> <a href="../org/apache/daffodil/sapi/WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a> </div>
-    </div><div class="entry">
-      <div class="name">isNilled</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">isProcessingError</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> </div>
-    </div><div class="entry">
-      <div class="name">isValidationError</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-j.html b/content/docs/latest/scaladoc/index/index-j.html
deleted file mode 100644
index 2baa173..0000000
--- a/content/docs/latest/scaladoc/index/index-j.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">JDOMInfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">JDOMInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">JsonInfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">JsonInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-l.html b/content/docs/latest/scaladoc/index/index-l.html
deleted file mode 100644
index a983252..0000000
--- a/content/docs/latest/scaladoc/index/index-l.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Limited</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ValidationMode$.html" class="extype" name="org.apache.daffodil.sapi.ValidationMode">ValidationMode</a> </div>
-    </div><div class="entry">
-      <div class="name">LocationInSchemaFile</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">LogLevel</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/package.html" class="extype" name="org.apache.daffodil.sapi.logger">logger</a> <a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">LogWriter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/package.html" class="extype" name="org.apache.daffodil.sapi.logger">logger</a> </div>
-    </div><div class="entry">
-      <div class="name">lineOutput</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a> <a href="../org/apache/daffodil/sapi/debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a> </div>
-    </div><div class="entry">
-      <div class="name">location</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> </div>
-    </div><div class="entry">
-      <div class="name">log</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.LogWriter">LogWriter</a> </div>
-    </div><div class="entry">
-      <div class="name">logger</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-n.html b/content/docs/latest/scaladoc/index/index-n.html
deleted file mode 100644
index bd21eb8..0000000
--- a/content/docs/latest/scaladoc/index/index-n.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">NullInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">NullLogWriter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/package.html" class="extype" name="org.apache.daffodil.sapi.logger">logger</a> </div>
-    </div><div class="entry">
-      <div class="name">next</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-o.html b/content/docs/latest/scaladoc/index/index-o.html
deleted file mode 100644
index 44c0e84..0000000
--- a/content/docs/latest/scaladoc/index/index-o.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">OOLAGDebug</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">Off</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ValidationMode$.html" class="extype" name="org.apache.daffodil.sapi.ValidationMode">ValidationMode</a> </div>
-    </div><div class="entry">
-      <div class="name">onPath</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a> </div>
-    </div><div class="entry">
-      <div class="name">org</div>
-      <div class="occurrences"><a href="../package.html" class="extype" name="_root_">root</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-p.html b/content/docs/latest/scaladoc/index/index-p.html
deleted file mode 100644
index 5271538..0000000
--- a/content/docs/latest/scaladoc/index/index-p.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">ParseResult</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">ProcessorFactory</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name"><strike>parse</strike></div>
-      <div class="occurrences"><strike><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></strike> </div>
-    </div><div class="entry">
-      <div class="name">prefix</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.LogWriter">LogWriter</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-r.html b/content/docs/latest/scaladoc/index/index-r.html
deleted file mode 100644
index 59160e1..0000000
--- a/content/docs/latest/scaladoc/index/index-r.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">Resolver</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">reload</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">reset</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name"><strike>result</strike></div>
-      <div class="occurrences"><strike><a href="../org/apache/daffodil/sapi/ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></strike> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-s.html b/content/docs/latest/scaladoc/index/index-s.html
deleted file mode 100644
index 0063883..0000000
--- a/content/docs/latest/scaladoc/index/index-s.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">ScalaXMLInfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">ScalaXMLInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">sapi</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/package.html" class="extype" name="org.apache.daffodil">daffodil</a> </div>
-    </div><div class="entry">
-      <div class="name">save</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">setDebugger</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">setDebugging</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">setDistinguishedRootNode</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> <a href="../org/apache/daffodil/sapi/ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a> </div>
-    </div><div class="entry">
-      <div class="name">setExternalDFDLVariable</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">setExternalDFDLVariables</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">setExternalVariables</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">setLogWriter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Daffodil$.html" class="extype" name="org.apache.daffodil.sapi.Daffodil">Daffodil</a> </div>
-    </div><div class="entry">
-      <div class="name">setLoggingLevel</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Daffodil$.html" class="extype" name="org.apache.daffodil.sapi.Daffodil">Daffodil</a> </div>
-    </div><div class="entry">
-      <div class="name">setTunable</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">setTunables</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">setValidateDFDLSchemas</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> </div>
-    </div><div class="entry">
-      <div class="name">setValidationMode</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div><div class="entry">
-      <div class="name">startArray</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">startComplex</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">startDocument</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">startSimple</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> <a href="../org/apache/daffodil/sapi/infoset/InfosetOutputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputterProxy">InfosetOutputterProxy</a> </div>
-    </div><div class="entry">
-      <div class="name">suffix</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.LogWriter">LogWriter</a> </div>
-    </div><div class="entry">
-      <div class="name">supportsNamespaces</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-t.html b/content/docs/latest/scaladoc/index/index-t.html
deleted file mode 100644
index 2d79a57..0000000
--- a/content/docs/latest/scaladoc/index/index-t.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">TraceDebuggerRunner</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/debugger/package.html" class="extype" name="org.apache.daffodil.sapi.debugger">debugger</a> </div>
-    </div><div class="entry">
-      <div class="name">toString</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataLocation.html" class="extype" name="org.apache.daffodil.sapi.DataLocation">DataLocation</a> <a href="../org/apache/daffodil/sapi/Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a> <a href="../org/apache/daffodil/sapi/LocationInSchemaFile.html" class="extype" name="org.apache.daffodil.sapi.LocationInSchemaFile">LocationInSchemaFile</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-u.html b/content/docs/latest/scaladoc/index/index-u.html
deleted file mode 100644
index c9ec753..0000000
--- a/content/docs/latest/scaladoc/index/index-u.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">UnparseResult</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">unparse</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-v.html b/content/docs/latest/scaladoc/index/index-v.html
deleted file mode 100644
index 3bec31f..0000000
--- a/content/docs/latest/scaladoc/index/index-v.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">ValidationMode</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> <a href="../org/apache/daffodil/sapi/ValidationMode$.html" class="extype" name="org.apache.daffodil.sapi.ValidationMode">ValidationMode</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-w.html b/content/docs/latest/scaladoc/index/index-w.html
deleted file mode 100644
index 1f33b83..0000000
--- a/content/docs/latest/scaladoc/index/index-w.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">W3CDOMInfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">W3CDOMInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">Warning</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/LogLevel$.html" class="extype" name="org.apache.daffodil.sapi.logger.LogLevel">LogLevel</a> </div>
-    </div><div class="entry">
-      <div class="name">WithDiagnostics</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/package.html" class="extype" name="org.apache.daffodil.sapi">sapi</a> </div>
-    </div><div class="entry">
-      <div class="name">write</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/logger/ConsoleLogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.ConsoleLogWriter">ConsoleLogWriter</a> <a href="../org/apache/daffodil/sapi/logger/FileLogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.FileLogWriter">FileLogWriter</a> <a href="../org/apache/daffodil/sapi/logger/LogWriter.html" class="extype" name="org.apache.daffodil.sapi.logger.LogWriter">LogWriter</a> <a href="../or [...]
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/index/index-x.html b/content/docs/latest/scaladoc/index/index-x.html
deleted file mode 100644
index da3ad7a..0000000
--- a/content/docs/latest/scaladoc/index/index-x.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html >
-<html>
-        <head>
-          <title>Apache Daffodil (incubating) 2.1.0 Scala API</title>
-          <meta name="description" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta name="keywords" content="Apache Daffodil incubating 2.1.0 Scala API" />
-          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-          
-      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
-      <script type="text/javascript" src="../lib/jquery.js"></script>
-    
-        </head>
-        <body><div class="entry">
-      <div class="name">XMLTextInfosetInputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div><div class="entry">
-      <div class="name">XMLTextInfosetOutputter</div>
-      <div class="occurrences"><a href="../org/apache/daffodil/sapi/infoset/package.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a> </div>
-    </div></body>
-      </html>
diff --git a/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.eot b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.eot
new file mode 100644
index 0000000..bf67d48
Binary files /dev/null and b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.eot differ
diff --git a/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.ttf b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.ttf
new file mode 100644
index 0000000..683dcd0
Binary files /dev/null and b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.ttf differ
diff --git a/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.woff b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.woff
new file mode 100644
index 0000000..ddd6be3
Binary files /dev/null and b/content/docs/latest/scaladoc/lib/MaterialIcons-Regular.woff differ
diff --git a/content/docs/latest/scaladoc/lib/abstract_type.svg b/content/docs/latest/scaladoc/lib/abstract_type.svg
new file mode 100644
index 0000000..8a82052
--- /dev/null
+++ b/content/docs/latest/scaladoc/lib/abstract_type.svg
@@ -0,0 +1,54 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="72px" height="72px" viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#6C7A89" filter="url(#filter-1)" xlink:href="#path-2"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <text id="a" mask="url(#mask-6)" font-family="Open Sans, Helvetica Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="21" y="43">
+              a
+            </tspan>
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/content/docs/latest/scaladoc/lib/arrow-down.png b/content/docs/latest/scaladoc/lib/arrow-down.png
deleted file mode 100644
index 7229603..0000000
Binary files a/content/docs/latest/scaladoc/lib/arrow-down.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/arrow-right.png b/content/docs/latest/scaladoc/lib/arrow-right.png
deleted file mode 100644
index b2f2935..0000000
Binary files a/content/docs/latest/scaladoc/lib/arrow-right.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/class.png b/content/docs/latest/scaladoc/lib/class.png
deleted file mode 100644
index 97edbd4..0000000
Binary files a/content/docs/latest/scaladoc/lib/class.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/class.svg b/content/docs/latest/scaladoc/lib/class.svg
new file mode 100644
index 0000000..128f74d
--- /dev/null
+++ b/content/docs/latest/scaladoc/lib/class.svg
@@ -0,0 +1,54 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="72px" height="72px" viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#44AD7D" filter="url(#filter-1)" xlink:href="#path-2"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <text id="C" mask="url(#mask-6)" font-family="Open Sans, Helvetica Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="17" y="47">
+              C
+            </tspan>
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/content/docs/latest/scaladoc/lib/class_big.png b/content/docs/latest/scaladoc/lib/class_big.png
deleted file mode 100644
index cb1f638..0000000
Binary files a/content/docs/latest/scaladoc/lib/class_big.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/class_comp.svg b/content/docs/latest/scaladoc/lib/class_comp.svg
new file mode 100644
index 0000000..b457207
--- /dev/null
+++ b/content/docs/latest/scaladoc/lib/class_comp.svg
@@ -0,0 +1,57 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="72px" height="72px" viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#2C6C8D" filter="url(#filter-1)" xlink:href="#path-2"/>
+          <rect id="Rectangle-2" opacity="0.3" fill="#000000" mask="url(#mask-3)" x="-8" y="33" width="80" height="31"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <use id="Mask" fill="#44AD7D" filter="url(#filter-4)" xlink:href="#path-5"/>
+          <text id="C" mask="url(#mask-6)" font-family="Open Sans, Helvetica Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="17" y="47">
+              C
+            </tspan>
+          </text>
+          <rect id="Rectangle-2" opacity="0.190065299" fill="#000000" mask="url(#mask-6)" x="-8" y="2" width="80" height="31"/>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/content/docs/latest/scaladoc/lib/class_to_object_big.png b/content/docs/latest/scaladoc/lib/class_to_object_big.png
deleted file mode 100644
index 5dd6e38..0000000
Binary files a/content/docs/latest/scaladoc/lib/class_to_object_big.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/constructorsbg.gif b/content/docs/latest/scaladoc/lib/constructorsbg.gif
deleted file mode 100644
index 2e3f5ea..0000000
Binary files a/content/docs/latest/scaladoc/lib/constructorsbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/conversionbg.gif b/content/docs/latest/scaladoc/lib/conversionbg.gif
deleted file mode 100644
index 4be145d..0000000
Binary files a/content/docs/latest/scaladoc/lib/conversionbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/defbg-blue.gif b/content/docs/latest/scaladoc/lib/defbg-blue.gif
deleted file mode 100644
index 6903833..0000000
Binary files a/content/docs/latest/scaladoc/lib/defbg-blue.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/defbg-green.gif b/content/docs/latest/scaladoc/lib/defbg-green.gif
deleted file mode 100644
index 36c43be..0000000
Binary files a/content/docs/latest/scaladoc/lib/defbg-green.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/diagrams.css b/content/docs/latest/scaladoc/lib/diagrams.css
index 5fe33f7..08add0e 100644
--- a/content/docs/latest/scaladoc/lib/diagrams.css
+++ b/content/docs/latest/scaladoc/lib/diagrams.css
@@ -1,143 +1,203 @@
-.diagram-container
-{
-	display: none;
+@font-face {
+  font-family: 'Material Icons';
+  font-style: normal;
+  font-weight: 400;
+  src: url(MaterialIcons-Regular.eot);
+  src: local('Material Icons'),
+  local('MaterialIcons-Regular'),
+  url(MaterialIcons-Regular.woff) format('woff'),
+  url(MaterialIcons-Regular.ttf) format('truetype');
 }
 
-.diagram
-{
-	overflow: hidden;
-	padding-top:15px;
+.material-icons {
+  font-family: 'Material Icons';
+  font-weight: normal;
+  font-style: normal;
+  font-size: 24px;
+  display: inline-block;
+  width: 1em;
+  height: 1em;
+  line-height: 1;
+  text-transform: none;
+  letter-spacing: normal;
+  word-wrap: normal;
+  white-space: nowrap;
+  direction: ltr;
+  -webkit-font-smoothing: antialiased;
+  text-rendering: optimizeLegibility;
+  -moz-osx-font-smoothing: grayscale;
+  font-feature-settings: 'liga';
 }
 
-.diagram svg
-{
-	display: block;
-	position: absolute;
-	visibility: hidden;
-	margin: auto;
+.diagram-container {
+  display: none;
 }
 
-.diagram-help
-{
-	float:right;
-	display:none;
+.diagram-container > span.toggle {
+  z-index: 9;
 }
 
-.magnifying
-{
-	cursor: -webkit-zoom-in ! important;
-	cursor: -moz-zoom-in ! important;
-	cursor: pointer;
+.diagram {
+  overflow: hidden;
+  padding-top:15px;
 }
 
-#close-link
-{
-	position: absolute;
-	z-index: 100;
-	font-family: Arial, sans-serif;
-	font-size: 10pt;
-	text-decoration: underline;
-	color: #315479;
+.diagram svg {
+  display: block;
+  position: absolute;
+  visibility: hidden;
+  margin: auto;
 }
 
-#close:hover
-{
-	text-decoration: none;
+.diagram-help {
+  float:right;
+  display:none;
 }
 
-svg a
-{
-	cursor:pointer;
+.magnifying {
+  cursor: -webkit-zoom-in ! important;
+  cursor: -moz-zoom-in ! important;
+  cursor: pointer;
 }
 
-svg text
-{
-	font-size: 10px;
+#close-link {
+  position: absolute;
+  z-index: 100;
+  font-family: Arial, sans-serif;
+  font-size: 10pt;
+  text-decoration: underline;
+  color: #315479;
 }
 
-/* try to move the node text 1px in order to be vertically
-   centered (does not work in all browsers) */
-svg .node text
-{
-	transform: translate(0px,1px);
-	-ms-transform: translate(0px,1px);
-	-webkit-transform: translate(0px,1px);
-	-o-transform: translate(0px,1px);
-	-moz-transform: translate(0px,1px);
+#close:hover {
+  text-decoration: none;
 }
 
-/* hover effect for edges */
+#inheritance-diagram-container > span.toggle {
+  z-index: 2;
+}
 
-svg .edge.over text,
-svg .edge.implicit-incoming.over polygon,
-svg .edge.implicit-outgoing.over polygon
-{
-	fill: #202020;
+.diagram-container.full-screen {
+  position: fixed !important;
+  margin: 0;
+  border-radius: 0;
+  top: 0em;
+  bottom: 3em;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 10000;
 }
 
-svg .edge.over path,
-svg .edge.over polygon
-{
-	stroke: #202020;
+.diagram-container.full-screen > span.toggle {
+  display: none;
+}
+
+.diagram-container.full-screen > div.diagram {
+  position: absolute;
+  top: 0; right: 0; bottom: 0; left: 0;
+  margin: auto;
+}
+
+#diagram-controls {
+  z-index: 2;
+  position: absolute;
+  bottom: 1em;
+  right: 1em;
+}
+
+#diagram-controls > button.diagram-btn {
+  border-radius: 1.25em;
+  height: 2.5em;
+  width: 2.5em;
+  background-color: #c2c2c2;
+  color: #fff;
+  border: 0;
+  float: left;
+  margin: 0 0.1em;
+  cursor: pointer;
+  line-height: 0.9;
+  outline: none;
+}
+
+#diagram-controls > button.diagram-btn:hover {
+  background-color: #e2e2e2;
 }
 
-/* hover effect for nodes in class diagrams */
+#diagram-controls > button.diagram-btn > i.material-icons {
+  font-size: 1.5em;
+}
 
-svg.class-diagram .node
-{
-	opacity: 0.75;
+svg a {
+  cursor:pointer;
 }
 
-svg.class-diagram .node.this
-{
-	opacity: 1.0;
+svg text {
+  font-size: 8.5px;
 }
 
-svg.class-diagram .node.over
-{
-	opacity: 1.0;
+/* try to move the node text 1px in order to be vertically
+ * centered (does not work in all browsers)
+ */
+svg .node text {
+  transform: translate(0px,1px);
+  -ms-transform: translate(0px,1px);
+  -webkit-transform: translate(0px,1px);
+  -o-transform: translate(0px,1px);
+  -moz-transform: translate(0px,1px);
 }
 
-svg .node.over polygon
-{
-	stroke: #202020;
+/* hover effect for edges */
+
+svg .edge.over text,
+svg .edge.implicit-incoming.over polygon,
+svg .edge.implicit-outgoing.over polygon {
+  fill: #103A51;
+}
+
+svg .edge.over path,
+svg .edge.over polygon {
+  stroke: #103A51;
+}
+
+/* for hover effect on nodes in diagrams, edit the following */
+svg.class-diagram .node {}
+svg.class-diagram .node.this {}
+svg.class-diagram .node.over {}
+
+svg .node.over polygon {
+  stroke: #202020;
 }
 
 /* hover effect for nodes in package diagrams */
 
 svg.package-diagram .node.class.over polygon,
-svg.class-diagram .node.this.class.over polygon
-{
-	fill: #098552;
-	fill: #04663e;
+svg.class-diagram .node.this.class.over polygon {
+  fill: #098552;
+  fill: #04663e;
 }
 
 svg.package-diagram .node.trait.over polygon,
-svg.class-diagram .node.this.trait.over polygon
-{
-	fill: #3c7b9b;
-	fill: #235d7b;
+svg.class-diagram .node.this.trait.over polygon {
+  fill: #3c7b9b;
+  fill: #235d7b;
 }
 
 svg.package-diagram .node.type.over polygon,
-svg.class-diagram .node.this.type.over polygon
-{
-	fill: #098552;
-	fill: #04663e;
+svg.class-diagram .node.this.type.over polygon {
+  fill: #098552;
+  fill: #04663e;
 }
 
 
-svg.package-diagram .node.object.over polygon
-{
-	fill: #183377;
+svg.package-diagram .node.object.over polygon {
+  fill: #183377;
 }
 
-svg.package-diagram .node.outside.over polygon
-{
-	fill: #d4d4d4;
+svg.package-diagram .node.outside.over polygon {
+  fill: #d4d4d4;
 }
 
-svg.package-diagram .node.default.over polygon
-{
-	fill: #d4d4d4;
+svg.package-diagram .node.default.over polygon {
+  fill: #d4d4d4;
 }
diff --git a/content/docs/latest/scaladoc/lib/diagrams.js b/content/docs/latest/scaladoc/lib/diagrams.js
index 680ead7..b137327 100644
--- a/content/docs/latest/scaladoc/lib/diagrams.js
+++ b/content/docs/latest/scaladoc/lib/diagrams.js
@@ -1,6 +1,6 @@
 /**
  * JavaScript functions enhancing the SVG diagrams.
- * 
+ *
  * @author Damien Obrist
  */
 
@@ -15,10 +15,6 @@ $(document).ready(function()
 	if(Modernizr && !Modernizr.inlinesvg)
 		return;
 
-	// only execute this in the main window
-	if(diagrams.isPopup)
-		return;
-
 	if($("#content-diagram").length)
 		$("#inheritance-diagram").css("padding-bottom", "20px");
 
@@ -31,7 +27,7 @@ $(document).ready(function()
 		// store unscaled clone of SVG element
 		$(this).data("svg", $(this).get(0).childNodes[0].cloneNode(true));
 	});
-	
+
 	// make diagram visible, hide container
 	$(".diagram").css("display", "none");
 	$(".diagram svg").css({
@@ -62,41 +58,16 @@ $(document).ready(function()
 	});
 
 	diagrams.initHighlighting();
-});
 
-/**
- * Initializes the diagrams in the popup.
- */
-diagrams.initPopup = function(id)
-{
-	// copy diagram from main window
-	if(!jQuery.browser.msie)
-		$("body").append(opener.$("#" + id).data("svg"));
+    $("button#diagram-fs").click(function() {
+        $(".diagram-container").toggleClass("full-screen");
+        $(".diagram-container > div.diagram").css({
+            height: $("svg").height() + "pt"
+        });
 
-	// positioning
-	$("svg").css("position", "absolute");
-	$(window).resize(function()
-	{
-		var svg_w = $("svg").css("width").replace("px", "");
-		var svg_h = $("svg").css("height").replace("px", "");
-		var x = $(window).width() / 2 - svg_w / 2;
-		if(x < 0) x = 0;
-		var y = $(window).height() / 2 - svg_h / 2;
-		if(y < 0) y = 0;
-		$("svg").css("left", x + "px");
-		$("svg").css("top", y + "px");
-	});
-	$(window).resize();
-
-	diagrams.initHighlighting();
-	$("svg a").click(function(e) {
-		opener.diagrams.redirectFromPopup(this.href.baseVal);
-		window.close();
-	});
-	$(document).keyup(function(e) {
-		if (e.keyCode == 27) window.close();
-	});
-}
+        $panzoom.panzoom("reset", { animate: false, contain: false });
+    });
+});
 
 /**
  * Initializes highlighting for nodes and edges.
@@ -159,7 +130,7 @@ diagrams.initHighlighting = function()
 			toggleClass($(this));
 		});
 	});
-	
+
 	// implicit outgoing nodes
 
 	hover($("svg .node.implicit-outgoing"), function(evt){
@@ -182,39 +153,29 @@ diagrams.initHighlighting = function()
 /**
  * Resizes the diagrams according to the available width.
  */
-diagrams.resize = function()
-{
-	// available width
-	var availableWidth = $("body").width() - 20;
-
-	$(".diagram-container").each(function() {
-		// unregister click event on whole div
-		$(".diagram", this).unbind("click");
-		var diagramWidth = $(".diagram", this).data("width");
-		var diagramHeight = $(".diagram", this).data("height");
-
-		if(diagramWidth > availableWidth)
-		{
-			// resize diagram
-			var height = diagramHeight / diagramWidth * availableWidth;
-			$(".diagram svg", this).width(availableWidth);
-			$(".diagram svg", this).height(height);
-
-			// register click event on whole div
-			$(".diagram", this).click(function() {
-				diagrams.popup($(this));
-			});
-			$(".diagram", this).addClass("magnifying");
-		}
-		else
-		{
-			// restore full size of diagram
-			$(".diagram svg", this).width(diagramWidth);
-			$(".diagram svg", this).height(diagramHeight);
-			// don't show custom cursor any more
-			$(".diagram", this).removeClass("magnifying");
-		}
-	});
+diagrams.resize = function() {
+    // available width
+    var availableWidth = $(".diagram-container").width();
+
+    $(".diagram-container").each(function() {
+        // unregister click event on whole div
+        $(".diagram", this).unbind("click");
+        var diagramWidth = $(".diagram", this).data("width");
+        var diagramHeight = $(".diagram", this).data("height");
+
+        if (diagramWidth > availableWidth) {
+            // resize diagram
+            var height = diagramHeight / diagramWidth * availableWidth;
+            $(".diagram svg", this).width(availableWidth);
+            $(".diagram svg", this).height(height);
+        } else {
+            // restore full size of diagram
+            $(".diagram svg", this).width(diagramWidth);
+            $(".diagram svg", this).height(diagramHeight);
+            // don't show custom cursor any more
+            $(".diagram", this).removeClass("magnifying");
+        }
+    });
 };
 
 /**
@@ -222,82 +183,38 @@ diagrams.resize = function()
  */
 diagrams.toggle = function(container, dontAnimate)
 {
-	// change class of link
-	$(".diagram-link", container).toggleClass("open");
-	// get element to show / hide
-	var div = $(".diagram", container);
-	if (div.is(':visible'))
-	{
-		$(".diagram-help", container).hide();
-		div.unbind("click");
-		div.removeClass("magnifying");
-		div.slideUp(100);
-	}
-	else
-	{
-		diagrams.resize();
-		if(dontAnimate)
-			div.show();
-		else
-			div.slideDown(100);
-		$(".diagram-help", container).show();
-	}
-};
-
-/**
- * Opens a popup containing a copy of a diagram.
- */
-diagrams.windows = {};
-diagrams.popup = function(diagram)
-{
-	var id = diagram.attr("id");
-	if(!diagrams.windows[id] || diagrams.windows[id].closed) {
-		var title = $(".symbol .name", $("#signature")).text();
-		// cloning from parent window to popup somehow doesn't work in IE
-		// therefore include the SVG as a string into the HTML
-		var svgIE = jQuery.browser.msie ? $("<div />").append(diagram.data("svg")).html() : "";
-		var html = '' +
-		'<?xml version="1.0" encoding="UTF-8"?>\n' +
-		'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n' + 
-		'<html>\n' +
-		'	<head>\n' +
-		'		<title>' + title + '</title>\n' +
-		'		<link href="' + $("#diagrams-css").attr("href") + '" media="screen" type="text/css" rel="stylesheet" />\n' +
-		'		<script type="text/javascript" src="' + $("#jquery-js").attr("src") + '"></script>\n' +
-		'		<script type="text/javascript" src="' + $("#diagrams-js").attr("src") + '"></script>\n' +
-		'		<script type="text/javascript">\n' +
-		'			diagrams.isPopup = true;\n' +
-		'		</script>\n' +
-		'	</head>\n' +
-		'	<body onload="diagrams.initPopup(\'' + id + '\');">\n' +
-		'		<a href="#" onclick="window.close();" id="close-link">Close this window</a>\n' +
-		'		' + svgIE + '\n' +
-		'	</body>\n' +
-		'</html>';
-
-		var padding = 30;
-		var screenHeight = screen.availHeight;
-		var screenWidth = screen.availWidth;
-		var w = Math.min(screenWidth, diagram.data("width") + 2 * padding);
-		var h = Math.min(screenHeight, diagram.data("height") + 2 * padding);
-		var left = (screenWidth - w) / 2;
-		var top = (screenHeight - h) / 2;
-		var parameters = "height=" + h + ", width=" + w + ", left=" + left + ", top=" + top + ", scrollbars=yes, location=no, resizable=yes";
-		var win = window.open("about:blank", "_blank", parameters);
-		win.document.open();
-		win.document.write(html);
-		win.document.close();
-		diagrams.windows[id] = win;
-	}
-	win.focus();
-};
-
-/**
- * This method is called from within the popup when a node is clicked.
- */
-diagrams.redirectFromPopup = function(url)
-{
-	window.location = url;
+    // change class of link
+    $(".diagram-link", container).toggleClass("open");
+    // get element to show / hide
+    var div = $(".diagram", container);
+    if (div.is(':visible')) {
+        $(".diagram-help", container).hide();
+        div.unbind("click");
+        div.slideUp(100);
+
+        $("#diagram-controls", container).hide();
+        $("#inheritance-diagram-container").unbind('mousewheel.focal');
+    } else {
+        diagrams.resize();
+        if(dontAnimate)
+            div.show();
+        else
+            div.slideDown(100);
+        $(".diagram-help", container).show();
+
+        $("#diagram-controls", container).show();
+
+        $(".diagram-container").on('mousewheel.focal', function(e) {
+            e.preventDefault();
+            var delta = e.delta || e.originalEvent.wheelDelta;
+            var zoomOut = delta ? delta < 0 : e.originalEvent.deltaY > 0;
+            $panzoom.panzoom('zoom', zoomOut, {
+                increment: 0.1,
+                animate: true,
+                focal: e
+            });
+        });
+    }
 };
 
 /**
@@ -321,4 +238,3 @@ diagrams.removeClass = function(svgElem, oldClass) {
 	classes = $.grep(classes.split(/\s+/), function(n, i) { return n != oldClass; }).join(' ');
 	svgElem.attr("class", classes);
 };
-
diff --git a/content/docs/latest/scaladoc/lib/filter_box_left.png b/content/docs/latest/scaladoc/lib/filter_box_left.png
deleted file mode 100644
index 0e8c893..0000000
Binary files a/content/docs/latest/scaladoc/lib/filter_box_left.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filter_box_left2.gif b/content/docs/latest/scaladoc/lib/filter_box_left2.gif
deleted file mode 100644
index b9b4907..0000000
Binary files a/content/docs/latest/scaladoc/lib/filter_box_left2.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filter_box_right.png b/content/docs/latest/scaladoc/lib/filter_box_right.png
deleted file mode 100644
index f127e35..0000000
Binary files a/content/docs/latest/scaladoc/lib/filter_box_right.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filterbg.gif b/content/docs/latest/scaladoc/lib/filterbg.gif
deleted file mode 100644
index 542ba4a..0000000
Binary files a/content/docs/latest/scaladoc/lib/filterbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filterboxbarbg.gif b/content/docs/latest/scaladoc/lib/filterboxbarbg.gif
deleted file mode 100644
index b5075c1..0000000
Binary files a/content/docs/latest/scaladoc/lib/filterboxbarbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filterboxbarbg.png b/content/docs/latest/scaladoc/lib/filterboxbarbg.png
deleted file mode 100644
index d613cf5..0000000
Binary files a/content/docs/latest/scaladoc/lib/filterboxbarbg.png and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/filterboxbg.gif b/content/docs/latest/scaladoc/lib/filterboxbg.gif
deleted file mode 100644
index ae2f858..0000000
Binary files a/content/docs/latest/scaladoc/lib/filterboxbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/fullcommenttopbg.gif b/content/docs/latest/scaladoc/lib/fullcommenttopbg.gif
deleted file mode 100644
index a0d93f4..0000000
Binary files a/content/docs/latest/scaladoc/lib/fullcommenttopbg.gif and /dev/null differ
diff --git a/content/docs/latest/scaladoc/lib/index.css b/content/docs/latest/scaladoc/lib/index.css
index 3e352a9..bbff0c9 100644
--- a/content/docs/latest/scaladoc/lib/index.css
+++ b/content/docs/latest/scaladoc/lib/index.css
@@ -1,78 +1,252 @@
+/* Fonts */
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 100;
+  src: url('lato-v11-latin-regular.eot');
+  src: local('Lato'), local('Lato'),
+  url('lato-v11-latin-100.eot?#iefix') format('embedded-opentype'),
+  url('lato-v11-latin-100.woff') format('woff'),
+  url('lato-v11-latin-100.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 400;
+  src: url('lato-v11-latin-regular.eot');
+  src: local('Lato'), local('Lato'),
+  url('lato-v11-latin-regular.eot?#iefix') format('embedded-opentype'),
+  url('lato-v11-latin-regular.woff') format('woff'),
+  url('lato-v11-latin-regular.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-regular.eot');
+  src: local('Open Sans'), local('OpenSans'),
+  url('open-sans-v13-latin-regular.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-regular.woff') format('woff'),
+  url('open-sans-v13-latin-regular.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-400i.eot');
+  src: local('Open Sans Italic'), local('OpenSans-Italic'),
+  url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-400i.woff') format('woff'),
+  url('open-sans-v13-latin-400i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: oblique;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-400i.eot');
+  src: local('Open Sans Italic'), local('OpenSans-Italic'),
+  url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-400i.woff') format('woff'),
+  url('open-sans-v13-latin-400i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700.eot');
+  src: local('Open Sans Bold'), local('OpenSans-Bold'),
+  url('open-sans-v13-latin-700.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700.woff') format('woff'),
+  url('open-sans-v13-latin-700.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700i.eot');
+  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+  url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700i.woff') format('woff'),
+  url('open-sans-v13-latin-700i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: oblique;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700i.eot');
+  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+  url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700i.woff') format('woff'),
+  url('open-sans-v13-latin-700i.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 400;
+  src: url('source-code-pro-v6-latin-regular.eot');
+  src: local('Source Code Pro'), local('SourceCodePro-Regular'),
+  url('source-code-pro-v6-latin-regular.eot?#iefix') format('embedded-opentype'),
+  url('source-code-pro-v6-latin-regular.woff') format('woff'),
+  url('source-code-pro-v6-latin-regular.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 700;
+  src: url('source-code-pro-v6-latin-700.eot');
+  src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'),
+  url('source-code-pro-v6-latin-700.eot?#iefix') format('embedded-opentype'),
+  url('source-code-pro-v6-latin-700.woff') format('woff'),
+  url('source-code-pro-v6-latin-700.ttf') format('truetype');
+}
+
 * {
   color: inherit;
-  font-size: 10pt;
   text-decoration: none;
-        font-family: Arial, sans-serif;
+  font-family: "Lato", Arial, sans-serif;
   border-width: 0px;
-  padding: 0px;
   margin: 0px;
 }
 
 a {
   cursor: pointer;
+  text-decoration: none;
 }
 
 a:hover {
   text-decoration: underline;
 }
 
-h1 {
-  display: none;
+span.entity > a {
+  padding: 0.1em 0.5em;
+  margin-left: 0.2em;
 }
 
-.selected {
-  -moz-box-shadow: inset 0px 5px 10px rgba(58, 88, 97, .36);
-  -webkit-box-shadow: inset 0px 5px 10px rgba(58, 88, 97, .36);
-  border-top: solid 1px rgba(119, 138, 153, 0.8);
-  border-bottom: solid 1px rgba(151, 173, 191, 0.4);
-  background-color: #ced2d9;
-  margin: -1px 0px;
+span.entity > a.selected {
+  background-color: #C2D2DC;
+  border-radius: 0.2em;
 }
 
-/*.letters {
-  font-family: monospace;
-  font-size: 2pt;
-  padding: 5px;
-  background-color: #DADADA;
-  text-shadow: #ffffff 0 1px 0;
-}*/
+html {
+  background-color: #f0f3f6;
+  box-sizing: border-box;
+}
+*, *:before, *:after {
+  box-sizing: inherit;
+}
+
+textarea, input { outline: none; }
 
 #library {
     display: none;
 }
 
 #browser {
+  width: 17.5em;
   top: 0px;
-  left: 0px;
+  left: 0;
   bottom: 0px;
-  width: 100%;
   display: block;
   position: fixed;
+  background-color: #f0f3f6;
 }
 
-#filter {
-  position: absolute;
-  display: block;
-/*  padding: 5px;*/
+#browser.full-screen {
+  left: -17.5em;
+}
+
+#search {
+  background-color: #103a51; /* typesafe blue */
+  min-height: 5.5em;
+  position: fixed;
+  top: 0;
+  left: 0;
   right: 0;
+  height: 3em;
+  min-height: initial;
+  z-index: 103;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.18), 0 4px 8px rgba(0, 0, 0, 0.28);
+}
+
+#search > h1 {
+  font-size: 2em;
+  position: absolute;
+  left: 0.25em;
+  top: 0.5em;
+}
+
+#search > h2 {
+  position: absolute;
+  left: 3.8em;
+  top: 3em;
+}
+
+#search > img.scala-logo {
+  width: 3em;
+  height: auto;
+  position: absolute;
+  left: 5.8em;
+  top: 0.43em;
+}
+
+#search > span.toggle-sidebar {
+  position: absolute;
+  top: 0.8em;
+  left: 0.2em;
+  color: #fff;
+  z-index: 99;
+  width: 1.5em;
+  height: 1.5em;
+}
+
+#search > span#doc-title {
+  color: #fff;
+  position: absolute;
+  top: 0.8em;
   left: 0;
-  top: 0;
-  background-image:url('filterbg.gif');
-  background-repeat:repeat-x;
-  background-color: #ededee; /* light gray */
-  /*background-color: #DADADA;*/
-  border:1px solid #bbbbbb;
-  border-top:0;
-  border-left:0;
-  border-right:0;
+  width: 18em;
+  text-align: center;
+  cursor: pointer;
+  z-index: 2;
 }
 
-#textfilter {
-  position: relative;
+#search > span#doc-title > span#doc-version {
+  color: #c2c2c2;
+  font-weight: 100;
+  font-size: 0.72em;
+  display: inline-block;
+  width: 12ex;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+#search > span#doc-title > span#doc-version:hover {
+  overflow: visible;
+}
+
+#search > span.toggle-sidebar:hover {
+  cursor: pointer;
+}
+
+/* Pseudo element replacing UTF8-symbol "Trigram From Heaven" */
+#search > span.toggle-sidebar:before {
+  position: absolute;
+  top: -0.45em;
+  left: 0.45em;
+  content: "";
   display: block;
-  height: 20px;
-  margin-top: 5px;
-  margin-bottom: 5px;
+  width: 0.7em;
+  -webkit-box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff;
+  box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff;
+}
+
+#search > span.toggle-sidebar:hover:before {
+  -webkit-box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2;
+  box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2;
 }
 
 #textfilter > .pre {
@@ -82,258 +256,669 @@ h1 {
   left: 0;
   height: 23px;
   width: 21px;
-  background: url("filter_box_left.png");
+}
+
+#textfilter {
+  position: absolute;
+  top: 0.5em;
+  bottom: 0.8em;
+  left: 0;
+  right: 0;
+  display: block;
+  height: 2em;
 }
 
 #textfilter > .input {
+  position: relative;
   display: block;
+  padding: 0.2em;
+  max-width: 48.5em;
+  margin: 0 auto;
+}
+
+#textfilter > .input > i#search-icon {
+  color: rgba(255,255,255, 0.4);
   position: absolute;
-  top: 0;
-  right: 20px;
-  left: 20px;
+  left: 0.34em;
+  top: 0.3em;
+  font-size: 1.3rem;
+}
+
+#textfilter > span.toggle {
+  cursor: pointer;
+  padding-left: 15px;
+  position: absolute;
+  left: -0.55em;
+  top: 3em;
+  z-index: 99;
+  color: #fff;
+  font-size: 0.8em;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+#textfilter > span.toggle:hover {
+  color: #c2c2c2;
+}
+
+#textfilter > span.toggle:hover {
+  cursor: pointer;
+}
+
+#textfilter > .hide:hover {
+  cursor: pointer;
+  color: #a2a2a2;
 }
 
 #textfilter > .input > input {
-  height: 20px;
-  padding: 1px;
-  font-weight: bold;
-  color: #000000;
-  background: #ffffff url("filterboxbarbg.png") repeat-x bottom left;
+  font-family: "Open Sans";
+  font-size: 0.85em;
+  height: 2em;
+  padding: 0 0 0 2.1em;
+  color: #fff;
   width: 100%;
+  border-radius: 0.2em;
+  background: rgba(255, 255, 255, 0.2);
 }
 
-#textfilter > .post {
-  display: block;
-  position: absolute;
-  top: 0;
-  right: 0;
-  height: 23px;
-  width: 21px;
-  background: url("filter_box_right.png");
+
+#textfilter > .input > input::-webkit-input-placeholder {
+  color: rgba(255, 255, 255, 0.4);
 }
 
-/*#textfilter {
-  position: relative;
-  display: block;
-    height: 20px;
-  margin-bottom: 5px;
+#textfilter > .input > input::-moz-placeholder {
+  color: rgba(255, 255, 255, 0.4);
 }
 
-#textfilter > .pre {
-    display: block;
-    position: absolute;
-    top: 0;
-    left: 0;
-    height: 20px;
-    width: 20px;
-    background: url("filter_box_left.png");
+#textfilter > .input > input:-ms-input-placeholder {
+  color: rgba(255, 255, 255, 0.4);
 }
 
-#textfilter > .input {
-  display: block;
-    position: absolute;
-    top: 0;
-    right: 20px;
-    left: 20px;
+#textfilter > .input > input:-moz-placeholder {
+  color: rgba(255, 255, 255, 0.4);
 }
 
-#textfilter > .input > input {
-  height: 16px;
-  padding: 2px;
-  font-weight: bold;
-  color: darkblue;
-  background-color: white;
-    width: 100%;
+#focusfilter > .focusremove:hover {
+  text-decoration: none;
+}
+
+#textfilter > .input > .clear {
+  display: none;
+  position: absolute;
+  font-size: 0.9em;
+  top: 0.7em;
+  right: 0.1em;
+  height: 23px;
+  width: 21px;
+  color: rgba(255, 255, 255, 0.4);
 }
 
-#textfilter > .post {
-    display: block;
-    position: absolute;
-    top: 0;
-    right: 0;
-    height: 20px;
-    width: 20px;
-    background: url("filter_box_right.png");
-}*/
+#textfilter > .input > .clear:hover {
+  cursor: pointer;
+  color: #fff;
+}
 
 #focusfilter {
+  font-size: 0.9em;
   position: relative;
   text-align: center;
-  display: block;
-  padding: 5px;
-  background-color: #fffebd; /* light yellow*/
-  text-shadow: #ffffff 0 1px 0;
+  display: none;
+  padding: 0.6em;
+  background-color: #f16665;
+  color: #fff;
+  margin: 3.9em 0.55em 0 0.35em;
+  border-radius: 0.2em;
+  z-index: 1;
 }
 
-#focusfilter .focuscoll {
-  font-weight: bold;
-  text-shadow: #ffffff 0 1px 0;
+div#search-progress {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 0.25em;
 }
 
-#focusfilter img {
-  bottom: -2px;
-  position: relative;
+div#search-progress > div#progress-fill {
+  width: 0%;
+  background-color: #f16665;
+  transition: 0.1s;
 }
 
-#kindfilter {
-  position: relative;
-  display: block;
-  padding: 5px;
-/*  background-color: #999;*/
-  text-align: center;
+#focusfilter .focuscoll {
+  font-weight: bold;
 }
 
-#kindfilter > a {
- color: black; 
-/* text-decoration: underline;*/
- text-shadow: #ffffff 0 1px 0;
+#focusfilter a.focusremove {
+  margin-left: 0.2em;
+  font-size: 0.9em;
+}
 
+#kindfilter-container {
+  position: fixed;
+  display: block;
+  z-index: 99;
+  bottom: 0.5em;
+  left: 0;
+  width: 17.25em;
 }
 
-#kindfilter > a:hover {
-  color: #4C4C4C; 
-  text-decoration: none;
-  text-shadow: #ffffff 0 1px 0;
+#kindfilter {
+  float: right;
+  text-align: center;
+  padding: 0.3em 1em;
+  border-radius: 0.8em;
+  background: #f16665;
+  border-bottom: 2px solid #d64546;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #fff;
+  font-size: 0.8em;
+}
+
+#kindfilter:hover {
+  cursor: pointer;
+  background-color: rgb(226, 87, 88);
 }
 
 #letters {
   position: relative;
   text-align: center;
-  padding-bottom: 5px;
-  border:1px solid #bbbbbb;
-  border-top:0;
-  border-left:0;
-  border-right:0;
+  border: 0;
+  margin-top: 0em;
+  color: #fff;
 }
 
 #letters > a, #letters > span {
-/*  font-family: monospace;*/
-  color: #858484;
-  font-weight: bold;
-  font-size: 8pt;
-  text-shadow: #ffffff 0 1px 0;
+  color: #fff;
+  font-size: 0.67em;
   padding-right: 2px;
 }
 
+#letters > a:hover {
+  text-decoration: none;
+  color: #c2c2c2;
+}
+
 #letters > span {
   color: #bbb;
 }
-  
-#tpl {
-  display: block;
-  position: fixed;
-  overflow: auto;
+
+div#content-scroll-container {
+  position: absolute;
+  top: 0;
   right: 0;
-  left: 0;
   bottom: 0;
-  top: 5px;
-  position: absolute;
-  display: block;
+  left: 0;
+  z-index: 100;
+  overflow-x: hidden;
+  overflow-y: auto;
 }
 
-#tpl .packhide {
-  display: block;
-  float: right;
-  font-weight: normal;
-  color: white;
+div#content-container {
+  max-width: 1140px;
+  margin: 0 auto;
 }
 
-#tpl .packfocus {
+div#content-container > div#content {
+  -webkit-overflow-scrolling: touch;
   display: block;
+  overflow-y: hidden;
+  max-width: 1140px;
+  margin: 4em auto 0;
+}
+
+div#content-container > div#subpackage-spacer {
   float: right;
+  height: 100%;
+  margin: 1.1rem 0.5rem 0 0.5em;
+  font-size: 0.8em;
+  min-width: 8rem;
+  max-width: 16rem;
+}
+
+div#packages > h1 {
+  color: #103a51;
+}
+
+div#packages > ul {
+  list-style-type: none;
+}
+
+div#packages > ul > li {
+  position: relative;
+  margin: 0.5rem 0;
+  width: 100%;
+  border-radius: 0.2em;
+  min-height: 1.5em;
+  padding-left: 2em;
+}
+
+div#packages > ul > li.current-entities {
+  margin: 0.3rem 0;
+}
+
+div#packages > ul > li.current:hover {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  cursor: pointer;
+}
+
+div#packages > ul > li.current-entities > *:nth-child(1),
+div#packages > ul > li.current-entities > *:nth-child(2) {
+  float: left;
+  display: inline;
+  height: 1rem;
+  width: 1rem;
+  margin: 1px 0 0 0;
+  cursor: pointer;
+}
+
+div#packages > ul > li > a.class {
+  background: url("class.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.trait {
+  background: url("trait.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.object {
+  background: url("object.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.abstract.type {
+  background: url("abstract_type.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a {
+  text-decoration: none !important;
+  margin-left: 1px;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
+  font-size: 0.9em;
+}
+
+/* Indentation levels for packages */
+div#packages > ul > li.indented0  { padding-left: 0em; }
+div#packages > ul > li.indented1  { padding-left: 1em; }
+div#packages > ul > li.indented2  { padding-left: 2em; }
+div#packages > ul > li.indented3  { padding-left: 3em; }
+div#packages > ul > li.indented4  { padding-left: 4em; }
+div#packages > ul > li.indented5  { padding-left: 5em; }
+div#packages > ul > li.indented6  { padding-left: 6em; }
+div#packages > ul > li.indented7  { padding-left: 7em; }
+div#packages > ul > li.indented8  { padding-left: 8em; }
+div#packages > ul > li.indented9  { padding-left: 9em; }
+div#packages > ul > li.indented10 { padding-left: 10em; }
+div#packages > ul > li.current.indented0  { padding-left: -0.5em }
+div#packages > ul > li.current.indented1  { padding-left: 0.5em }
+div#packages > ul > li.current.indented2  { padding-left: 1.5em }
+div#packages > ul > li.current.indented3  { padding-left: 2.5em }
+div#packages > ul > li.current.indented4  { padding-left: 3.5em }
+div#packages > ul > li.current.indented5  { padding-left: 4.5em }
+div#packages > ul > li.current.indented6  { padding-left: 5.5em }
+div#packages > ul > li.current.indented7  { padding-left: 6.5em }
+div#packages > ul > li.current.indented8  { padding-left: 7.5em }
+div#packages > ul > li.current.indented9  { padding-left: 8.5em }
+div#packages > ul > li.current.indented10 { padding-left: 9.5em }
+
+div#packages > ul > li.current > span.symbol {
+  border-left: 0.25em solid #72D0EB;
+  padding-left: 0.25em;
+}
+
+div#packages > ul > li > span.symbol > a {
+  text-decoration: none;
+}
+
+div#packages > ul > li > span.symbol > span.name {
   font-weight: normal;
-  color: white;
 }
 
-#tpl .packages > ol {
-  background-color: #dadfe6;
-  /*margin-bottom: 5px;*/
+div#packages > ul > li .fullcomment,
+div#packages > ul > li .modifier_kind,
+div#packages > ul > li .permalink,
+div#packages > ul > li .shortcomment {
+  display: none;
 }
 
-/*#tpl .packages > ol > li {
-  margin-bottom: 1px;
-}*/
+div#search-results {
+  color: #103a51;
+  position: absolute;
+  left: 0;
+  top: 3em;
+  right: 0;
+  bottom: 0;
+  background-color: rgb(240, 243, 246);
+  z-index: 101;
+  overflow-x: hidden;
+  display: none;
+  padding: 1em;
+  -webkit-overflow-scrolling: touch;
+}
 
-#tpl .packages > li > a {
-  padding: 0px 5px;
+div#search > span.close-results {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  position: fixed;
+  top: 0.8em;
+  left: 1em;
+  color: #fff;
+  display: none;
+  z-index: 1;
 }
 
-#tpl .packages > li > a.tplshow {
-  display: block;
-  color: white;
-  font-weight: bold;
-  display: block;
-  text-shadow: #000000 0 1px 0;
+div#search > span.close-results:hover {
+  cursor: pointer;
 }
 
-#tpl ol > li.pack {
-  padding: 3px 5px;
-  background: url("packagesbg.gif");
-  background-repeat:repeat-x;
-  min-height: 14px;
-  background-color: #6e808e;
+div#results-content {
+  max-width: 1140px;
+  margin: 0 auto;
 }
 
-#tpl ol > li {
-  display: block;
+div#results-content > span.search-text {
+  margin-left: 1em;
+  font-size: 1.2em;
+  float: left;
+  width: 100%;
+}
+
+div#results-content > span.search-text > span.query-str {
+  font-weight: 900;
+}
+
+div#results-content > div > h1.result-type {
+  font-size: 1.5em;
+  margin: 1em 0 0.3em;
+  font-family: "Open Sans";
+  font-weight: 300;
+  border-bottom: 1px solid #103a51;
+}
+
+div#results-content > div#entity-results {
+  float: left;
+  width: 50%;
+  padding: 1em;
+  display: inline;
 }
 
-#tpl .templates > li {
-  padding-left: 5px;
-  min-height: 18px;
+div#results-content > div#member-results {
+  float: left;
+  width: 50%;
+  padding: 1em;
+  display: inline;
 }
 
-#tpl ol > li .icon {
-  padding-right: 5px;
-  bottom: -2px;
+div#results-content > div#member-results > a.package,
+div#results-content > div#entity-results > a.package {
+  font-size: 1em;
+  margin: 0 0 1em 0;
+  color: #f16665;
+  cursor: pointer;
+}
+
+div#results-content > div#member-results > ul.entities,
+div#results-content > div#entity-results > ul.entities {
+  list-style-type: none;
+  padding-left: 0;
+}
+
+div#results-content > div#member-results > ul.entities > li,
+div#results-content > div#entity-results > ul.entities > li {
+  margin: 0.5em 0;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon,
+div#results-content > div#entity-results > ul.entities > li > .icon {
+  float: left;
+  display: inline;
+  height: 1em;
+  width: 1em;
+  margin: 0.23em 0 0;
+  cursor: pointer;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.class,
+div#results-content > div#entity-results > ul.entities > li > .icon.class {
+  background: url("class.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.trait,
+div#results-content > div#entity-results > ul.entities > li > .icon.trait {
+  background: url("trait.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.object,
+div#results-content > div#entity-results > ul.entities > li > .icon.object {
+  background: url("object.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > span.entity,
+div#results-content > div#entity-results > ul.entities > li > span.entity {
+  font-size: 1.1em;
+  font-weight: 900;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members,
+div#results-content > div#entity-results > ul.entities > li > ul.members {
+  margin-top: 0.5em;
+  list-style-type: none;
+  font-size: 0.85em;
+  margin-left: 0.2em;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li {
+  margin: 0.5em 0;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind,
+div#results-content > div#member-results > ul.entities > li > ul.members > li > span.tail,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.kind,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.tail {
+  margin-right: 0.6em;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind {
+  font-weight: 600;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li > a.label,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li > a.label {
+  color: #2C3D9B;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
+}
+
+/** Scrollpane settings needed for jquery.scrollpane.min.js */
+.jspContainer {
+  overflow: hidden;
   position: relative;
 }
 
-#tpl .templates div.placeholder {
-  padding-right: 5px;
-  width: 13px;
-  display: inline-block;
+.jspPane {
+  position: absolute;
 }
 
-#tpl .templates span.tplLink {
-  padding-left: 5px;
+.jspVerticalBar {
+  position: absolute;
+  top: 0;
+  right: 0;
+  width: 0.6em;
+  height: 100%;
+  background: transparent;
 }
 
-#content {
-  border-left-width: 1px;
-  border-left-color: black;
-  border-left-style: white;
-  right: 0px;
-  left: 0px;
-  bottom: 0px;
-  top: 0px;
-  position: fixed;
-  margin-left: 300px;
+.jspHorizontalBar {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 16px;
+  background: red;
+}
+
+.jspCap {
+  display: none;
+}
+
+.jspHorizontalBar .jspCap {
+  float: left;
+}
+
+.jspTrack {
+  background: #f0f3f6;
+  position: relative;
+}
+
+.jspDrag {
+  display: none;
+  background: rgba(0, 0, 0, 0.35);
+  position: relative;
+  top: 0;
+  left: 0;
+  cursor: pointer;
+}
+
+#tpl:hover .jspDrag {
   display: block;
-  -webkit-overflow-scrolling: touch;
 }
 
-#content > iframe {
+.jspHorizontalBar .jspTrack,
+.jspHorizontalBar .jspDrag {
+  float: left;
+  height: 100%;
+}
+
+.jspArrow {
+  background: #50506d;
+  text-indent: -20000px;
   display: block;
+  cursor: pointer;
+  padding: 0;
+  margin: 0;
+}
+
+.jspArrow.jspDisabled {
+  cursor: default;
+  background: #80808d;
+}
+
+.jspVerticalBar .jspArrow {
+  height: 16px;
+}
+
+.jspHorizontalBar .jspArrow {
+  width: 16px;
+  float: left;
   height: 100%;
-  width: 100%;
 }
 
-.ui-layout-pane {
-  background: #FFF;
-  overflow: auto;
+.jspVerticalBar .jspArrow:focus {
+  outline: none;
+}
+
+.jspCorner {
+  background: #eeeef4;
+  float: left;
+  height: 100%;
 }
 
-.ui-layout-resizer {
-  background-image:url('filterbg.gif');
-  background-repeat:repeat-x;
-  background-color: #ededee; /* light gray */
-  border:1px solid #bbbbbb;
-  border-top:0;
-  border-bottom:0;
-  border-left: 0;
+/* CSS Hack for IE6 3 pixel bug */
+* html .jspCorner {
+  margin: 0 -3px 0 0;
 }
 
-.ui-layout-toggler {
-    background: #AAA;
-}
\ No newline at end of file
+/* Media query rules for smaller viewport */
+@media only screen /* Large screen with a small window */
+and (max-width: 1300px)
+{
+  #textfilter {
+    left: 17.8em;
+    right: 0.35em;
+  }
+
+  #textfilter .input {
+    max-width: none;
+    margin: 0;
+  }
+}
+
+@media only screen /* Large screen with a smaller window */
+and (max-width: 800px)
+{
+  div#results-content > div#entity-results {
+    width: 100%;
+    padding: 0em;
+  }
+
+  div#results-content > div#member-results {
+    width: 100%;
+    padding: 0em;
+  }
+}
+
+/* Media query rules specifically for mobile devices */
+@media
+screen /* HiDPI device like Nexus 5 */
+and (max-device-width: 360px)
+and (max-device-height: 640px)
+and (-webkit-device-pixel-ratio: 3)
+,
+screen /* Most mobile devices  */
+and (max-device-width: 480px)
+and (orientation: portrait)
+,
+only screen /* iPhone 6 */
+and (max-device-width: 667px)
+and (-webkit-device-pixel-ratio: 2)
+{
+  div#content-container > div#subpackage-spacer {
+      display: none;
+  }
+
+  div#content-container > div#content {
+    margin: 3.3em auto 0;
+  }
+
+  #search > span#doc-title {
+    width: 100%;
+    text-align: left;
+    padding-left: 0.7em;
+    top: 0.95em;
+    z-index: 1;
+  }
+
+  #search > div#textfilter {
+    z-index: 2;
+  }
+
+  #search > span#doc-title > span#doc-version {
+    display: none;
+  }
+
+  #textfilter {
+    left: 12.2em;
+  }
+}
diff --git a/content/docs/latest/scaladoc/lib/index.js b/content/docs/latest/scaladoc/lib/index.js
index cf81f7f..087c975 100644
--- a/content/docs/latest/scaladoc/lib/index.js
+++ b/content/docs/latest/scaladoc/lib/index.js
@@ -1,359 +1,221 @@
 // © 2009–2010 EPFL/LAMP
-// code by Gilles Dubochet with contributions by Johannes Rudolph, "spiros" and Marcin Kubala
-
-var topLevelTemplates = undefined;
-var topLevelPackages = undefined;
+// code by Gilles Dubochet with contributions by Johannes Rudolph, "spiros", Marcin Kubala and Felix Mulder
 
 var scheduler = undefined;
 
-var kindFilterState = undefined;
-var focusFilterState = undefined;
-
 var title = $(document).attr('title');
 
 var lastFragment = "";
 
-$(document).ready(function() {
-    $('body').layout({
-        west__size: '20%',
-        center__maskContents: true
-    });
-    $('#browser').layout({
-        center__paneSelector: ".ui-west-center"
-        //,center__initClosed:true
-        ,north__paneSelector: ".ui-west-north"
-    });
-    $('iframe').bind("load", function(){
-        try {
-            var subtitle = $(this).contents().find('title').text();
-            $(document).attr('title', (title ? title + " - " : "") + subtitle);
-        } catch (e) {
-            // Chrome doesn't allow reading the iframe's contents when
-            // used on the local file system.
-        }
-        setUrlFragmentFromFrameSrc();
-    });
-
-    // workaround for IE's iframe sizing lack of smartness
-    if($.browser.msie) {
-        function fixIFrame() {
-            $('iframe').height($(window).height() )
-        }
-        $('iframe').bind("load",fixIFrame)
-        $('iframe').bind("resize",fixIFrame)
-    }
-
-    scheduler = new Scheduler();
-    scheduler.addLabel("init", 1);
-    scheduler.addLabel("focus", 2);
-    scheduler.addLabel("filter", 4);
-
-    prepareEntityList();
-
-    configureTextFilter();
-    configureKindFilter();
-    configureEntityList();
-
-    setFrameSrcFromUrlFragment();
-
-    // If the url fragment changes, adjust the src of iframe "template".
-    $(window).bind('hashchange', function() {
-      if(lastFragment != window.location.hash) {
-        lastFragment = window.location.hash;
-        setFrameSrcFromUrlFragment();
-      }
-    });
-});
-
-// Set the iframe's src according to the fragment of the current url.
-// fragment = "#scala.Either" => iframe url = "scala/Either.html"
-// fragment = "#scala.Either@isRight:Boolean" => iframe url = "scala/Either.html#isRight:Boolean"
-// fragment = "#scalaz.iteratee.package@>@>[E,A]=scalaz.iteratee.package.Iteratee[E,A]" => iframe url = "scalaz/iteratee/package.html#>@>[E,A]=scalaz.iteratee.package.Iteratee[E,A]"
-function setFrameSrcFromUrlFragment() {
-
-    function extractLoc(fragment) {
-        var loc = fragment.split('@')[0].replace(/\./g, "/");
-        if (loc.indexOf(".html") < 0) {
-            loc += ".html";
-        }
-        return loc;
-    }
-
-    function extractMemberSig(fragment) {
-        var splitIdx = fragment.indexOf('@');
-        if (splitIdx < 0) {
-            return;
-        }
-        return fragment.substr(splitIdx + 1);
-    }
-
-    var fragment = location.hash.slice(1);
-    if (fragment) {
-        var locWithMemeberSig = extractLoc(fragment);
-        var memberSig = extractMemberSig(fragment);
-        if (memberSig) {
-            locWithMemeberSig += "#" + memberSig;
-        }
-        frames["template"].location.replace(location.protocol + locWithMemeberSig);
-    } else {
-        console.log("empty fragment detected");
-        frames["template"].location.replace("package.html");
-    }
-}
-
-// Set the url fragment according to the src of the iframe "template".
-// iframe url = "scala/Either.html"  =>  url fragment = "#scala.Either"
-// iframe url = "scala/Either.html#isRight:Boolean"  =>  url fragment = "#scala.Either@isRight:Boolean"
-// iframe url = "scalaz/iteratee/package.html#>@>[E,A]=scalaz.iteratee.package.Iteratee[E,A]" => fragment = "#scalaz.iteratee.package@>@>[E,A]=scalaz.iteratee.package.Iteratee[E,A]"
-function setUrlFragmentFromFrameSrc() {
-  try {
-    var commonLength = location.pathname.lastIndexOf("/");
-    var frameLocation = frames["template"].location;
-    var relativePath = frameLocation.pathname.slice(commonLength + 1);
-
-    if(!relativePath || frameLocation.pathname.indexOf("/") < 0)
-      return;
-
-    // Add #, remove ".html" and replace "/" with "."
-    fragment = "#" + relativePath.replace(/\.html$/, "").replace(/\//g, ".");
-
-    // Add the frame's hash after an @
-    if(frameLocation.hash) fragment += ("@" + frameLocation.hash.slice(1));
-
-    // Use replace to not add history items
-    lastFragment = fragment;
-    location.replace(fragment);
-  }
-  catch(e) {
-    // Chrome doesn't allow reading the iframe's location when
-    // used on the local file system.
-  }
-}
-
 var Index = {};
-
 (function (ns) {
-    function openLink(t, type) {
-        var href;
-        if (type == 'object') {
-            href = t['object'];
-        } else {
-            href = t['class'] || t['trait'] || t['case class'] || t['type'];
-        }
-        return [
-            '<a class="tplshow" target="template" href="',
-            href,
-            '"><img width="13" height="13" class="',
-            type,
-            ' icon" src="lib/',
-            type,
-            '.png" />'
-        ].join('');
-    }
-
-    function createPackageHeader(pack) {
-        return [
-            '<li class="pack">',
-            '<a class="packfocus">focus</a><a class="packhide">hide</a>',
-            '<a class="tplshow" target="template" href="',
-            pack.replace(/\./g, '/'),
-            '/package.html">',
-            pack,
-            '</a></li>'
-        ].join('');
-    };
-
-    function createListItem(template) {
-        var inner = '';
-
-
-        if (template.object) {
-            inner += openLink(template, 'object');
-        }
-
-        if (template['class'] || template['trait'] || template['case class'] || template['type']) {
-            inner += (inner == '') ?
-                '<div class="placeholder" />' : '</a>';
-            inner += openLink(template, template['trait'] ? 'trait' : template['type'] ? 'type' : 'class');
-        } else {
-            inner += '<div class="placeholder"/>';
-        }
-
-        return [
-            '<li>',
-            inner,
-            '<span class="tplLink">',
-            template.name.replace(/^.*\./, ''),
-            '</span></a></li>'
-        ].join('');
-    }
-
-
-    ns.createPackageTree = function (pack, matched, focused) {
-        var html = $.map(matched, function (child, i) {
-            return createListItem(child);
-        }).join('');
-
-        var header;
-        if (focused && pack == focused) {
-            header = '';
-        } else {
-            header = createPackageHeader(pack);
-        }
-
-        return [
-            '<ol class="packages">',
-            header,
-            '<ol class="templates">',
-            html,
-            '</ol></ol>'
-        ].join('');
-    }
-
+    ns.keyLength = 0;
     ns.keys = function (obj) {
         var result = [];
         var key;
         for (key in obj) {
             result.push(key);
+            ns.keyLength++;
         }
         return result;
     }
+})(Index);
 
-    var hiddenPackages = {};
-
-    function subPackages(pack) {
-        return $.grep($('#tpl ol.packages'), function (element, index) {
-            var pack = $('li.pack > .tplshow', element).text();
-            return pack.indexOf(pack + '.') == 0;
+/** Find query string from URL */
+var QueryString = function(key) {
+    if (QueryString.map === undefined) { // only calc once
+        QueryString.map = {};
+        var keyVals = window.location.search.split("?").pop().split("&");
+        keyVals.forEach(function(elem) {
+            var pair = elem.split("=");
+            if (pair.length == 2) QueryString.map[pair[0]] = pair[1];
         });
     }
 
-    ns.hidePackage = function (ol) {
-        var selected = $('li.pack > .tplshow', ol).text();
-        hiddenPackages[selected] = true;
+    return QueryString.map[key];
+};
 
-        $('ol.templates', ol).hide();
+$(document).ready(function() {
+    // Clicking #doc-title returns the user to the root package
+    $("#doc-title").click(function() { document.location = toRoot + "index.html" });
 
-        $.each(subPackages(selected), function (index, element) {
-            $(element).hide();
-        });
+    scheduler = new Scheduler();
+    scheduler.addLabel("init", 1);
+    scheduler.addLabel("focus", 2);
+    scheduler.addLabel("filter", 4);
+    scheduler.addLabel("search", 5);
+
+    configureTextFilter();
+
+    $("#index-input").on("input", function(e) {
+        if($(this).val().length > 0)
+            $("#textfilter > .input > .clear").show();
+        else
+            $("#textfilter > .input > .clear").hide();
+    });
+
+    if (QueryString("search") !== undefined) {
+        $("#index-input").val(QueryString("search"));
+        searchAll();
     }
+});
 
-    ns.showPackage = function (ol, state) {
-        var selected = $('li.pack > .tplshow', ol).text();
-        hiddenPackages[selected] = false;
+/* Handles all key presses while scrolling around with keyboard shortcuts in search results */
+function handleKeyNavigation() {
+    /** Iterates both back and forth among selected elements */
+    var EntityIterator = function (litems, ritems) {
+        var it = this;
+        this.index = -1;
+
+        this.items = litems;
+        this.litems = litems;
+        this.ritems = ritems;
+
+        if (litems.length == 0)
+            this.items = ritems;
+
+        /** Returns the next entry - if trying to select past last element, it
+         * returns the last element
+         */
+        it.next = function() {
+            it.index = Math.min(it.items.length - 1, it.index + 1);
+            return $(it.items[it.index]);
+        };
 
-        $('ol.templates', ol).show();
+        /** Returns the previous entry - will return `undefined` instead if
+         * selecting up from first element
+         */
+        it.prev = function() {
+            it.index = Math.max(-1, it.index - 1);
+            return it.index == -1 ? undefined : $(it.items[it.index]);
+        };
 
-        $.each(subPackages(selected), function (index, element) {
-            $(element).show();
+        it.right = function() {
+            if (it.ritems.length != 0) {
+                it.items = it.ritems;
+                it.index = Math.min(it.index, it.items.length - 1);
+            }
+            return $(it.items[it.index]);
+        };
 
-            // When the filter is in "packs" state,
-            // we don't want to show the `.templates`
-            var key = $('li.pack > .tplshow', element).text();
-            if (hiddenPackages[key] || state == 'packs') {
-                $('ol.templates', element).hide();
+        it.left = function() {
+            if (it.litems.length != 0) {
+                it.items = it.litems;
+                it.index = Math.min(it.index, it.items.length - 1);
             }
-        });
-    }
+            return $(it.items[it.index]);
+        };
+    };
 
-})(Index);
+    /** Scroll helper, ensures that the selected elem is inside the viewport */
+    var Scroller = function ($container) {
+        scroller = this;
+        scroller.container = $container;
+
+        scroller.scrollDown = function($elem) {
+            var offset = $elem.offset(); // offset relative to viewport
+            if (offset !== undefined) {
+                var yPos = offset.top;
+                if ($container.height() < yPos || (yPos - $("#search").height()) < 0) {
+                    $container.animate({
+                        scrollTop: $container.scrollTop() + yPos - $("#search").height() - 10
+                    }, 200);
+                }
+            }
+        };
 
-function configureEntityList() {
-    kindFilterSync();
-    configureHideFilter();
-    configureFocusFilter();
-    textFilter();
-}
+        scroller.scrollUp = function ($elem) {
+            var offset = $elem.offset(); // offset relative to viewport
+            if (offset !== undefined) {
+                var yPos = offset.top;
+                if (yPos < $("#search").height()) {
+                    $container.animate({
+                        scrollTop: $container.scrollTop() + yPos - $("#search").height() - 10
+                    }, 200);
+                }
+            }
+        };
 
-/* Updates the list of entities (i.e. the content of the #tpl element) from the raw form generated by Scaladoc to a
-   form suitable for display. In particular, it adds class and object etc. icons, and it configures links to open in
-   the right frame. Furthermore, it sets the two reference top-level entities lists (topLevelTemplates and
-   topLevelPackages) to serve as reference for resetting the list when needed.
-   Be advised: this function should only be called once, on page load. */
-function prepareEntityList() {
-    var classIcon = $("#library > img.class");
-    var traitIcon = $("#library > img.trait");
-    var typeIcon = $("#library > img.type");
-    var objectIcon = $("#library > img.object");
-    var packageIcon = $("#library > img.package");
-
-    $('#tpl li.pack > a.tplshow').attr("target", "template");
-    $('#tpl li.pack').each(function () {
-        $("span.class", this).each(function() { $(this).replaceWith(classIcon.clone()); });
-        $("span.trait", this).each(function() { $(this).replaceWith(traitIcon.clone()); });
-        $("span.type", this).each(function() { $(this).replaceWith(typeIcon.clone()); });
-        $("span.object", this).each(function() { $(this).replaceWith(objectIcon.clone()); });
-        $("span.package", this).each(function() { $(this).replaceWith(packageIcon.clone()); });
-    });
-    $('#tpl li.pack')
-        .prepend("<a class='packhide'>hide</a>")
-        .prepend("<a class='packfocus'>focus</a>");
-}
+        scroller.scrollTop = function() {
+            $container.animate({
+                scrollTop: 0
+            }, 200);
+        }
+    };
 
-/* Handles all key presses while scrolling around with keyboard shortcuts in left panel */
-function keyboardScrolldownLeftPane() {
     scheduler.add("init", function() {
         $("#textfilter input").blur();
-        var $items = $("#tpl li");
-        $items.first().addClass('selected');
+        var items = new EntityIterator(
+            $("div#results-content > div#entity-results > ul.entities span.entity > a").toArray(),
+            $("div#results-content > div#member-results > ul.entities span.entity > a").toArray()
+        );
 
-        $(window).bind("keydown", function(e) {
-            var $old = $items.filter('.selected'),
-                $new;
+        var scroller = new Scroller($("#search-results"));
 
-            switch ( e.keyCode ) {
+        var $old = items.next();
+        $old.addClass("selected");
+        scroller.scrollDown($old);
 
+        $(window).bind("keydown", function(e) {
+            switch ( e.keyCode ) {
             case 9: // tab
-                $old.removeClass('selected');
+                $old.removeClass("selected");
                 break;
 
             case 13: // enter
-                $old.removeClass('selected');
-                var $url = $old.children().filter('a:last').attr('href');
-                $("#template").attr("src",$url);
+                var href = $old.attr("href");
+                location.replace(href);
+                $old.click();
+                $("#textfilter input").attr("value", "");
                 break;
 
             case 27: // escape
-                $old.removeClass('selected');
-                $(window).unbind(e);
-                $("#textfilter input").focus();
+                $("#textfilter input").attr("value", "");
+                $("div#search-results").hide();
+                $("#search > span.close-results").hide();
+                $("#search > span#doc-title").show();
+                break;
 
+            case 37: // left
+                var oldTop = $old.offset().top;
+                $old.removeClass("selected");
+                $old = items.left();
+                $old.addClass("selected");
+
+                (oldTop - $old.offset().top < 0 ? scroller.scrollDown : scroller.scrollUp)($old);
                 break;
 
             case 38: // up
-                $new = $old.prev();
-
-                if (!$new.length) {
-                    $new = $old.parent().prev();
+                $old.removeClass('selected');
+                $old = items.prev();
+
+                if ($old === undefined) { // scroll past top
+                    $(window).unbind("keydown");
+                    $("#textfilter input").focus();
+                    scroller.scrollTop();
+                    return false;
+                } else {
+                    $old.addClass("selected");
+                    scroller.scrollUp($old);
                 }
+                break;
 
-                if ($new.is('ol') && $new.children(':last').is('ol')) {
-                    $new = $new.children().children(':last');
-                } else if ($new.is('ol')) {
-                    $new = $new.children(':last');
-                }
+            case 39: // right
+                var oldTop = $old.offset().top;
+                $old.removeClass("selected");
+                $old = items.right();
+                $old.addClass("selected");
 
+                (oldTop - $old.offset().top < 0 ? scroller.scrollDown : scroller.scrollUp)($old);
                 break;
 
             case 40: // down
-                $new = $old.next();
-                if (!$new.length) {
-                    $new = $old.parent().parent().next();
-                }
-                if ($new.is('ol')) {
-                    $new = $new.children(':first');
-                }
+                $old.removeClass("selected");
+                $old = items.next();
+                $old.addClass("selected");
+                scroller.scrollDown($old);
                 break;
             }
-
-            if ($new.is('li')) {
-                $old.removeClass('selected');
-                $new.addClass('selected');
-            } else if (e.keyCode == 38) {
-                $(window).unbind(e);
-                $("#textfilter input").focus();
-            }
         });
     });
 }
@@ -361,34 +223,45 @@ function keyboardScrolldownLeftPane() {
 /* Configures the text filter  */
 function configureTextFilter() {
     scheduler.add("init", function() {
-        $("#textfilter").append("<span class='pre'/><span class='input'><input id='index-input' type='text' accesskey='/'/></span><span class='post'/>");
         var input = $("#textfilter input");
-        resizeFilterBlock();
         input.bind('keyup', function(event) {
-            if (event.keyCode == 27) { // escape
-                input.attr("value", "");
+            switch ( event.keyCode ) {
+                case 27: // escape
+                    input.attr("value", "");
+                    $("div#search-results").hide();
+                    $("#search > span.close-results").hide();
+                    $("#search > span#doc-title").show();
+                    break;
+
+                case 38: // up arrow
+                    return false;
+
+                case 40: // down arrow
+                    $(window).unbind("keydown");
+                    handleKeyNavigation();
+                    return false;
             }
-            if (event.keyCode == 40) { // down arrow
-                $(window).unbind("keydown");
-                keyboardScrolldownLeftPane();
-                return false;
-            }
-            textFilter();
+
+            searchAll();
         });
-        input.bind('keydown', function(event) {
-            if (event.keyCode == 9) { // tab
-                $("#template").contents().find("#mbrsel-input").focus();
-                input.attr("value", "");
-                return false;
-            }
-            textFilter();
+    });
+    scheduler.add("init", function() {
+        $("#textfilter > .input > .clear").click(function() {
+            $("#textfilter input").attr("value", "");
+            $("div#search-results").hide();
+            $("#search > span.close-results").hide();
+            $("#search > span#doc-title").show();
+
+            $(this).hide();
         });
-        input.focus(function(event) { input.select(); });
     });
+
     scheduler.add("init", function() {
-        $("#textfilter > .post").click(function(){
+        $("div#search > span.close-results").click(function() {
+            $("div#search-results").hide();
+            $("#search > span.close-results").hide();
+            $("#search > span#doc-title").show();
             $("#textfilter input").attr("value", "");
-            textFilter();
         });
     });
 }
@@ -406,172 +279,332 @@ function compilePattern(query) {
     }
 }
 
-// Filters all focused templates and packages. This function should be made less-blocking.
-//   @param query The string of the query
-function textFilter() {
-    var query = $("#textfilter input").attr("value") || '';
-    var queryRegExp = compilePattern(query);
-
-    // if we are filtering on types, then we have to display types
-    // ("display packages only" is not possible when filtering)
-    if (query !== "") {
-        kindFilter("all");
-    }
+/** Searches packages for entites matching the search query using a regex
+ *
+ * @param {[Object]} pack: package being searched
+ * @param {RegExp} regExp: a regular expression for finding matching entities
+ */
+function searchPackage(pack, regExp) {
+    scheduler.add("search", function() {
+        var entities = Index.PACKAGES[pack];
+        var matched = [];
+        var notMatching = [];
+
+        scheduler.add("search", function() {
+            searchMembers(entities, regExp, pack);
+        });
 
-    // Three things trigger a reload of the left pane list:
-    // typeof textFilter.lastQuery === "undefined" <-- first load, there is nothing yet in the left pane
-    // textFilter.lastQuery !== query              <-- the filter text has changed
-    // focusFilterState != null                    <-- a package has been "focused"
-    if ((typeof textFilter.lastQuery === "undefined") || (textFilter.lastQuery !== query) || (focusFilterState != null)) {
+        entities.forEach(function (elem) {
+            regExp.test(elem.name) ? matched.push(elem) : notMatching.push(elem);
+        });
 
-        textFilter.lastQuery = query;
+        var results = {
+            "matched": matched,
+            "package": pack
+        };
 
-        scheduler.clear("filter");
+        scheduler.add("search", function() {
+            handleSearchedPackage(results, regExp);
+            setProgress();
+        });
+    });
+}
 
-        $('#tpl').html('');
+function searchMembers(entities, regExp, pack) {
+    var memDiv = document.getElementById("member-results");
+    var packLink = document.createElement("a");
+    packLink.className = "package";
+    packLink.appendChild(document.createTextNode(pack));
+    packLink.style.display = "none";
+    packLink.title = pack;
+    packLink.href = toRoot + urlFriendlyEntity(pack).replace(new RegExp("\\.", "g"), "/") + "/index.html";
+    memDiv.appendChild(packLink);
+
+    var entityUl = document.createElement("ul");
+    entityUl.className = "entities";
+    memDiv.appendChild(entityUl);
+
+    entities.forEach(function(entity) {
+        var entityLi = document.createElement("li");
+        var name = entity.name.split('.').pop()
+
+        var iconElem = document.createElement("a");
+        iconElem.className = "icon " + entity.kind;
+        iconElem.title = name + " " + entity.kind;
+        iconElem.href = toRoot + entity[entity.kind];
+        entityLi.appendChild(iconElem);
+
+        if (entity.kind != "object" && entity.object) {
+            var companion = document.createElement("a");
+            companion.className = "icon object";
+            companion.title = name + " companion object";
+            companion.href = toRoot + entity.object;
+            entityLi.insertBefore(companion, iconElem);
+        } else {
+            var spacer = document.createElement("div");
+            spacer.className = "icon spacer";
+            entityLi.insertBefore(spacer, iconElem);
+        }
 
-        var index = 0;
+        var nameElem = document.createElement("span");
+        nameElem.className = "entity";
 
-        var searchLoop = function () {
-            var packages = Index.keys(Index.PACKAGES).sort();
+        var entityUrl = document.createElement("a");
+        entityUrl.title = entity.shortDescription ? entity.shortDescription : name;
+        entityUrl.href = toRoot + entity[entity.kind];
+        entityUrl.appendChild(document.createTextNode(name));
 
-            while (packages[index]) {
-                var pack = packages[index];
-                var children = Index.PACKAGES[pack];
-                index++;
+        nameElem.appendChild(entityUrl);
+        entityLi.appendChild(nameElem);
 
-                if (focusFilterState) {
-                    if (pack == focusFilterState ||
-                        pack.indexOf(focusFilterState + '.') == 0) {
-                        ;
-                    } else {
-                        continue;
-                    }
-                }
+        var membersUl = document.createElement("ul");
+        membersUl.className = "members";
+        entityLi.appendChild(membersUl);
 
-                var matched = $.grep(children, function (child, i) {
-                    return queryRegExp.test(child.name);
-                });
 
-                if (matched.length > 0) {
-                    $('#tpl').append(Index.createPackageTree(pack, matched,
-                                                             focusFilterState));
-                    scheduler.add('filter', searchLoop);
-                    return;
+        searchEntity(entity, membersUl, regExp)
+            .then(function(res) {
+                if (res.length > 0) {
+                    packLink.style.display = "block";
+                    entityUl.appendChild(entityLi);
                 }
-            }
-
-            $('#tpl a.packfocus').click(function () {
-                focusFilter($(this).parent().parent());
             });
-            configureHideFilter();
-        };
-
-        scheduler.add('filter', searchLoop);
-    }
+    });
 }
 
-/* Configures the hide tool by adding the hide link to all packages. */
-function configureHideFilter() {
-    $('#tpl li.pack a.packhide').click(function () {
-        var packhide = $(this)
-        var action = packhide.text();
+/** This function inserts `li` into the `ul` ordered by the li's id
+ *
+ * @param {Node} ul: the list in which to insert `li`
+ * @param {Node} li: item to insert
+ */
+function insertSorted(ul, li) {
+    var lis = ul.childNodes;
+    var beforeLi = null;
+
+    for (var i = 0; i < lis.length; i++) {
+        if (lis[i].id > li.id)
+            beforeLi = lis[i];
+    }
 
-        var ol = $(this).parent().parent();
+    // if beforeLi == null, it will be inserted last
+    ul.insertBefore(li, beforeLi);
+}
 
-        if (action == "hide") {
-            Index.hidePackage(ol);
-            packhide.text("show");
-        }
-        else {
-            Index.showPackage(ol, kindFilterState);
-            packhide.text("hide");
-        }
-        return false;
-    });
+/** Defines the callback when a package has been searched and searches its
+ * members
+ *
+ * It will search all entities which matched the regExp.
+ *
+ * @param {Object} res: this is the searched package. It will contain the map
+ * from the `searchPackage`function.
+ * @param {RegExp} regExp
+ */
+function handleSearchedPackage(res, regExp) {
+    $("div#search-results").show();
+    $("#search > span.close-results").show();
+    $("#search > span#doc-title").hide();
+
+    var searchRes = document.getElementById("results-content");
+    var entityDiv = document.getElementById("entity-results");
+
+    var packLink = document.createElement("a");
+    packLink.className = "package";
+    packLink.title = res.package;
+    packLink.href = toRoot + urlFriendlyEntity(res.package).replace(new RegExp("\\.", "g"), "/") + "/index.html";
+    packLink.appendChild(document.createTextNode(res.package));
+
+    if (res.matched.length == 0)
+        packLink.style.display = "none";
+
+    entityDiv.appendChild(packLink);
+
+    var ul = document.createElement("ul")
+    ul.className = "entities";
+
+    // Generate html list items from results
+    res.matched
+       .map(function(entity) { return listItem(entity, regExp); })
+       .forEach(function(li) { ul.appendChild(li); });
+
+    entityDiv.appendChild(ul);
 }
 
-/* Configures the focus tool by adding the focus bar in the filter box (initially hidden), and by adding the focus
-   link to all packages. */
-function configureFocusFilter() {
-    scheduler.add("init", function() {
-        focusFilterState = null;
-        if ($("#focusfilter").length == 0) {
-            $("#filter").append("<div id='focusfilter'>focused on <span class='focuscoll'></span> <a class='focusremove'><img class='icon' src='lib/remove.png'/></a></div>");
-            $("#focusfilter > .focusremove").click(function(event) {
-                textFilter();
-
-                $("#focusfilter").hide();
-                $("#kindfilter").show();
-                resizeFilterBlock();
-                focusFilterState = null;
-            });
-            $("#focusfilter").hide();
-            resizeFilterBlock();
-        }
-    });
-    scheduler.add("init", function() {
-        $('#tpl li.pack a.packfocus').click(function () {
-            focusFilter($(this).parent());
-            return false;
+/** Searches an entity asynchronously for regExp matches in an entity's members
+ *
+ * @param {Object} entity: the entity to be searched
+ * @param {Node} ul: the list in which to insert the list item created
+ * @param {RegExp} regExp
+ */
+function searchEntity(entity, ul, regExp) {
+    return new Promise(function(resolve, reject) {
+        var allMembers =
+            (entity.members_trait  || [])
+            .concat(entity.members_class || [])
+            .concat(entity.members_object || [])
+
+        var matchingMembers = $.grep(allMembers, function(member, i) {
+            return regExp.test(member.label);
         });
+
+        resolve(matchingMembers);
+    })
+    .then(function(res) {
+        res.forEach(function(elem) {
+            var kind = document.createElement("span");
+            kind.className = "kind";
+            kind.appendChild(document.createTextNode(elem.kind));
+
+            var label = document.createElement("a");
+            label.title = elem.label;
+            label.href = toRoot + elem.link;
+            label.className = "label";
+            label.appendChild(document.createTextNode(elem.label));
+
+            var tail = document.createElement("span");
+            tail.className = "tail";
+            tail.appendChild(document.createTextNode(elem.tail));
+
+            var li = document.createElement("li");
+            li.appendChild(kind);
+            li.appendChild(label);
+            li.appendChild(tail);
+
+            ul.appendChild(li);
+        });
+        return res;
     });
 }
 
-/* Focuses the entity index on a specific package. To do so, it will copy the sub-templates and sub-packages of the
-   focuses package into the top-level templates and packages position of the index. The original top-level
-     @param package The <li> element that corresponds to the package in the entity index */
-function focusFilter(package) {
-    scheduler.clear("filter");
+/** Creates a list item representing an entity
+ *
+ * @param {Object} entity, the searched entity to be displayed
+ * @param {RegExp} regExp
+ * @return {Node} list item containing entity
+ */
+function listItem(entity, regExp) {
+    var name = entity.name.split('.').pop()
+    var nameElem = document.createElement("span");
+    nameElem.className = "entity";
+
+    var entityUrl = document.createElement("a");
+    entityUrl.title = entity.shortDescription ? entity.shortDescription : name;
+    entityUrl.href = toRoot + entity[entity.kind];
+
+    entityUrl.appendChild(document.createTextNode(name));
+    nameElem.appendChild(entityUrl);
+
+    var iconElem = document.createElement("a");
+    iconElem.className = "icon " + entity.kind;
+    iconElem.title = name + " " + entity.kind;
+    iconElem.href = toRoot + entity[entity.kind];
+
+    var li = document.createElement("li");
+    li.id = entity.name.replace(new RegExp("\\.", "g"),"-");
+    li.appendChild(iconElem);
+    li.appendChild(nameElem);
+
+    if (entity.kind != "object" && entity.object) {
+        var companion = document.createElement("a");
+        companion.title = name + " companion object";
+        companion.href = toRoot + entity.object;
+        companion.className = "icon object";
+        li.insertBefore(companion, iconElem);
+    } else {
+        var spacer = document.createElement("div");
+        spacer.className = "icon spacer";
+        li.insertBefore(spacer, iconElem);
+    }
 
-    var currentFocus = $('li.pack > .tplshow', package).text();
-    $("#focusfilter > .focuscoll").empty();
-    $("#focusfilter > .focuscoll").append(currentFocus);
+    var ul = document.createElement("ul");
+    ul.className = "members";
 
-    $("#focusfilter").show();
-    $("#kindfilter").hide();
-    resizeFilterBlock();
-    focusFilterState = currentFocus;
-    kindFilterSync();
+    li.appendChild(ul);
 
-    textFilter();
+    return li;
 }
 
-function configureKindFilter() {
-    scheduler.add("init", function() {
-        kindFilterState = "all";
-        $("#filter").append("<div id='kindfilter'><a>display packages only</a></div>");
-        $("#kindfilter > a").click(function(event) { kindFilter("packs"); });
-        resizeFilterBlock();
-    });
+/** Searches all packages and entities for the current search string in
+ *  the input field "#textfilter"
+ *
+ * Then shows the results in div#search-results
+ */
+function searchAll() {
+    scheduler.clear("search"); // clear previous search
+    maxJobs = 1; // clear previous max
+    var searchStr = $("#textfilter input").attr("value").trim() || '';
+
+    if (searchStr === '') {
+        $("div#search-results").hide();
+        $("#search > span.close-results").hide();
+        $("#search > span#doc-title").show();
+        return;
+    }
+
+    // Replace ?search=X with current search string if not hosted locally on Chrome
+    try {
+        window.history.replaceState({}, "", "?search=" + searchStr);
+    } catch(e) {}
+
+    $("div#results-content > span.search-text").remove();
+
+    var memberResults = document.getElementById("member-results");
+    memberResults.innerHTML = "";
+    var memberH1 = document.createElement("h1");
+    memberH1.className = "result-type";
+    memberH1.innerHTML = "Member results";
+    memberResults.appendChild(memberH1);
+
+    var entityResults = document.getElementById("entity-results");
+    entityResults.innerHTML = "";
+    var entityH1 = document.createElement("h1");
+    entityH1.className = "result-type";
+    entityH1.innerHTML = "Entity results";
+    entityResults.appendChild(entityH1);
+
+    $("div#results-content")
+        .prepend("<span class='search-text'>"
+                +"  Showing results for <span class='query-str'>\"" + searchStr + "\"</span>"
+                +"</span>");
+
+    var regExp = compilePattern(searchStr);
+
+    // Search for all entities matching query
+    Index
+        .keys(Index.PACKAGES)
+        .sort()
+        .forEach(function(elem) { searchPackage(elem, regExp); })
 }
 
-function kindFilter(kind) {
-    if (kind == "packs") {
-        kindFilterState = "packs";
-        kindFilterSync();
-        $("#kindfilter > a").replaceWith("<a>display all entities</a>");
-        $("#kindfilter > a").click(function(event) { kindFilter("all"); });
-    }
-    else {
-        kindFilterState = "all";
-        kindFilterSync();
-        $("#kindfilter > a").replaceWith("<a>display packages only</a>");
-        $("#kindfilter > a").click(function(event) { kindFilter("packs"); });
-    }
+/** Check if user agent is associated with a known mobile browser */
+function isMobile() {
+    return /Android|webOS|Mobi|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
 }
 
-/* Applies the kind filter. */
-function kindFilterSync() {
-    if (kindFilterState == "all" || focusFilterState != null) {
-        $("#tpl a.packhide").text('hide');
-        $("#tpl ol.templates").show();
-    } else {
-        $("#tpl a.packhide").text('show');
-        $("#tpl ol.templates").hide();
-    }
+function urlFriendlyEntity(entity) {
+    var corr = {
+        '\\+': '$plus',
+        ':': '$colon'
+    };
+
+    for (k in corr)
+        entity = entity.replace(new RegExp(k, 'g'), corr[k]);
+
+    return entity;
 }
 
-function resizeFilterBlock() {
-    $("#tpl").css("top", $("#filter").outerHeight(true));
+var maxJobs = 1;
+function setProgress() {
+    var running = scheduler.numberOfJobs("search");
+    maxJobs = Math.max(maxJobs, running);
+
+    var percent = 100 - (running / maxJobs * 100);
+    var bar = document.getElementById("progress-fill");
+    bar.style.height = "100%";
+    bar.style.width = percent + "%";
+
+    if (percent == 100) {
+        setTimeout(function() {
+            bar.style.height = 0;
+        }, 500);
+    }
 }
diff --git a/content/docs/latest/scaladoc/lib/jquery-ui.js b/content/docs/latest/scaladoc/lib/jquery-ui.js
deleted file mode 100644
index faab0cf..0000000
--- a/content/docs/latest/scaladoc/lib/jquery-ui.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*! jQuery UI - v1.9.0 - 2012-10-05
-* http://jqueryui.com
-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highl [...]
-* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */
-
-(function(e,t){function i(t,n){var r,i,o,u=t.nodeName.toLowerCase();return"area"===u?(r=t.parentNode,i=r.name,!t.href||!i||r.nodeName.toLowerCase()!=="map"?!1:(o=e("img[usemap=#"+i+"]")[0],!!o&&s(o))):(/input|select|textarea|button|object/.test(u)?!t.disabled:"a"===u?t.href||n:n)&&s(t)}function s(t){return!e(t).parents().andSelf().filter(function(){return e.css(this,"visibility")==="hidden"||e.expr.filters.hidden(this)}).length}var n=0,r=/^ui-id-\d+$/;e.ui=e.ui||{};if(e.ui.version)return [...]
\ No newline at end of file
diff --git a/content/docs/latest/scaladoc/lib/jquery.layout.js b/content/docs/latest/scaladoc/lib/jquery.layout.js
deleted file mode 100644
index d5e008d..0000000
--- a/content/docs/latest/scaladoc/lib/jquery.layout.js
+++ /dev/null
@@ -1,5486 +0,0 @@
-/**
- * @preserve jquery.layout 1.3.0 - Release Candidate 30.62
- * $Date: 2012-08-04 08:00:00 (Thu, 23 Aug 2012) $
- * $Rev: 303006 $
- *
- * Copyright (c) 2012 
- *   Fabrizio Balliano (http://www.fabrizioballiano.net)
- *   Kevin Dalman (http://allpro.net)
- *
- * Dual licensed under the GPL (http://www.gnu.org/licenses/gpl.html)
- * and MIT (http://www.opensource.org/licenses/mit-license.php) licenses.
- *
- * Changelog: http://layout.jquery-dev.net/changelog.cfm#1.3.0.rc30.62
- * NOTE: This is a short-term release to patch a couple of bugs.
- * These bugs are listed as officially fixed in RC30.7, which will be released shortly.
- *
- * Docs: http://layout.jquery-dev.net/documentation.html
- * Tips: http://layout.jquery-dev.net/tips.html
- * Help: http://groups.google.com/group/jquery-ui-layout
- */
-
-/* JavaDoc Info: http://code.google.com/closure/compiler/docs/js-for-compiler.html
- * {!Object}	non-nullable type (never NULL)
- * {?string}	nullable type (sometimes NULL) - default for {Object}
- * {number=}	optional parameter
- * {*}			ALL types
- */
-
-// NOTE: For best readability, view with a fixed-width font and tabs equal to 4-chars
-
-;(function ($) {
-
-// alias Math methods - used a lot!
-var	min		= Math.min
-,	max		= Math.max
-,	round	= Math.floor
-
-,	isStr	=  function (v) { return $.type(v) === "string"; }
-
-,	runPluginCallbacks = function (Instance, a_fn) {
-		if ($.isArray(a_fn))
-			for (var i=0, c=a_fn.length; i<c; i++) {
-				var fn = a_fn[i];
-				try {
-					if (isStr(fn)) // 'name' of a function
-						fn = eval(fn);
-					if ($.isFunction(fn))
-						fn( Instance );
-				} catch (ex) {}
-			}
-	}
-
-;
-
-
-/*
- *	GENERIC $.layout METHODS - used by all layouts
- */
-$.layout = {
-
-	version:	"1.3.rc30.62"
-,	revision:	0.033006 // 1.3.0 final = 1.0300 - major(n+).minor(nn)+patch(nn+)
-
-	// can update code here if $.browser is phased out
-,	browser: {
-		mozilla:	!!$.browser.mozilla
-	,	webkit:		!!$.browser.webkit || !!$.browser.safari // webkit = jQ 1.4
-	,	msie:		!!$.browser.msie
-	,	isIE6:		$.browser.msie && $.browser.version == 6
-	,	boxModel:	$.support.boxModel !== false || !$.browser.msie // ONLY IE reverts to old box-model - update for older jQ onReady
-	,	version:	$.browser.version // not used in Layout core, but may be used by plugins
-	}
-
-	// *PREDEFINED* EFFECTS & DEFAULTS 
-	// MUST list effect here - OR MUST set an fxSettings option (can be an empty hash: {})
-,	effects: {
-
-	//	Pane Open/Close Animations
-		slide: {
-			all:	{ duration:  "fast"	} // eg: duration: 1000, easing: "easeOutBounce"
-		,	north:	{ direction: "up"	}
-		,	south:	{ direction: "down"	}
-		,	east:	{ direction: "right"}
-		,	west:	{ direction: "left"	}
-		}
-	,	drop: {
-			all:	{ duration:  "slow"	}
-		,	north:	{ direction: "up"	}
-		,	south:	{ direction: "down"	}
-		,	east:	{ direction: "right"}
-		,	west:	{ direction: "left"	}
-		}
-	,	scale: {
-			all:	{ duration:	"fast"	}
-		}
-	//	these are not recommended, but can be used
-	,	blind:		{}
-	,	clip:		{}
-	,	explode:	{}
-	,	fade:		{}
-	,	fold:		{}
-	,	puff:		{}
-
-	//	Pane Resize Animations
-	,	size: {
-			all:	{ easing:	"swing"	}
-		}
-	}
-
-	// INTERNAL CONFIG DATA - DO NOT CHANGE THIS!
-,	config: {
-		optionRootKeys:	"effects,panes,north,south,west,east,center".split(",")
-	,	allPanes:		"north,south,west,east,center".split(",")
-	,	borderPanes:	"north,south,west,east".split(",")
-	,	oppositeEdge: {
-			north:	"south"
-		,	south:	"north"
-		,	east: 	"west"
-		,	west: 	"east"
-		}
-	//	offscreen data
-	,	offscreenCSS:	{ left: "-99999px", right: "auto" } // used by hide/close if useOffscreenClose=true
-	,	offscreenReset:	"offscreenReset" // key used for data
-	//	CSS used in multiple places
-	,	hidden:		{ visibility: "hidden" }
-	,	visible:	{ visibility: "visible" }
-	//	layout element settings
-	,	resizers: {
-			cssReq: {
-				position: 	"absolute"
-			,	padding: 	0
-			,	margin: 	0
-			,	fontSize:	"1px"
-			,	textAlign:	"left"	// to counter-act "center" alignment!
-			,	overflow: 	"hidden" // prevent toggler-button from overflowing
-			//	SEE $.layout.defaults.zIndexes.resizer_normal
-			}
-		,	cssDemo: { // DEMO CSS - applied if: options.PANE.applyDemoStyles=true
-				background: "#DDD"
-			,	border:		"none"
-			}
-		}
-	,	togglers: {
-			cssReq: {
-				position: 	"absolute"
-			,	display: 	"block"
-			,	padding: 	0
-			,	margin: 	0
-			,	overflow:	"hidden"
-			,	textAlign:	"center"
-			,	fontSize:	"1px"
-			,	cursor: 	"pointer"
-			,	zIndex: 	1
-			}
-		,	cssDemo: { // DEMO CSS - applied if: options.PANE.applyDemoStyles=true
-				background: "#AAA"
-			}
-		}
-	,	content: {
-			cssReq: {
-				position:	"relative" /* contain floated or positioned elements */
-			}
-		,	cssDemo: { // DEMO CSS - applied if: options.PANE.applyDemoStyles=true
-				overflow:	"auto"
-			,	padding:	"10px"
-			}
-		,	cssDemoPane: { // DEMO CSS - REMOVE scrolling from 'pane' when it has a content-div
-				overflow:	"hidden"
-			,	padding:	0
-			}
-		}
-	,	panes: { // defaults for ALL panes - overridden by 'per-pane settings' below
-			cssReq: {
-				position: 	"absolute"
-			,	margin:		0
-			//	$.layout.defaults.zIndexes.pane_normal
-			}
-		,	cssDemo: { // DEMO CSS - applied if: options.PANE.applyDemoStyles=true
-				padding:	"10px"
-			,	background:	"#FFF"
-			,	border:		"1px solid #BBB"
-			,	overflow:	"auto"
-			}
-		}
-	,	north: {
-			side:			"Top"
-		,	sizeType:		"Height"
-		,	dir:			"horz"
-		,	cssReq: {
-				top: 		0
-			,	bottom: 	"auto"
-			,	left: 		0
-			,	right: 		0
-			,	width: 		"auto"
-			//	height: 	DYNAMIC
-			}
-		}
-	,	south: {
-			side:			"Bottom"
-		,	sizeType:		"Height"
-		,	dir:			"horz"
-		,	cssReq: {
-				top: 		"auto"
-			,	bottom: 	0
-			,	left: 		0
-			,	right: 		0
-			,	width: 		"auto"
-			//	height: 	DYNAMIC
-			}
-		}
-	,	east: {
-			side:			"Right"
-		,	sizeType:		"Width"
-		,	dir:			"vert"
-		,	cssReq: {
-				left: 		"auto"
-			,	right: 		0
-			,	top: 		"auto" // DYNAMIC
-			,	bottom: 	"auto" // DYNAMIC
-			,	height: 	"auto"
-			//	width: 		DYNAMIC
-			}
-		}
-	,	west: {
-			side:			"Left"
-		,	sizeType:		"Width"
-		,	dir:			"vert"
-		,	cssReq: {
-				left: 		0
-			,	right: 		"auto"
-			,	top: 		"auto" // DYNAMIC
-			,	bottom: 	"auto" // DYNAMIC
-			,	height: 	"auto"
-			//	width: 		DYNAMIC
-			}
-		}
-	,	center: {
-			dir:			"center"
-		,	cssReq: {
-				left: 		"auto" // DYNAMIC
-			,	right: 		"auto" // DYNAMIC
-			,	top: 		"auto" // DYNAMIC
-			,	bottom: 	"auto" // DYNAMIC
-			,	height: 	"auto"
-			,	width: 		"auto"
-			}
-		}
-	}
-
-	// CALLBACK FUNCTION NAMESPACE - used to store reusable callback functions
-,	callbacks: {}
-
-,	getParentPaneElem: function (el) {
-		// must pass either a container or pane element
-		var $el = $(el)
-		,	layout = $el.data("layout") || $el.data("parentLayout");
-		if (layout) {
-			var $cont = layout.container;
-			// see if this container is directly-nested inside an outer-pane
-			if ($cont.data("layoutPane")) return $cont;
-			var $pane = $cont.closest("."+ $.layout.defaults.panes.paneClass);
-			// if a pane was found, return it
-			if ($pane.data("layoutPane")) return $pane;
-		}
-		return null;
-	}
-
-,	getParentPaneInstance: function (el) {
-		// must pass either a container or pane element
-		var $pane = $.layout.getParentPaneElem(el);
-		return $pane ? $pane.data("layoutPane") : null;
-	}
-
-,	getParentLayoutInstance: function (el) {
-		// must pass either a container or pane element
-		var $pane = $.layout.getParentPaneElem(el);
-		return $pane ? $pane.data("parentLayout") : null;
-	}
-
-,	getEventObject: function (evt) {
-		return typeof evt === "object" && evt.stopPropagation ? evt : null;
-	}
-,	parsePaneName: function (evt_or_pane) {
-		// getEventObject() automatically calls .stopPropagation(), WHICH MUST BE DONE!
-		var evt = $.layout.getEventObject( evt_or_pane );
-		if (evt) {
-			// ALWAYS stop propagation of events triggered in Layout!
-			evt.stopPropagation();
-			return $(this).data("layoutEdge");
-		}
-		else
-			return evt_or_pane;
-	}
-
-
-	// LAYOUT-PLUGIN REGISTRATION
-	// more plugins can added beyond this default list
-,	plugins: {
-		draggable:		!!$.fn.draggable // resizing
-	,	effects: {
-			core:		!!$.effects		// animimations (specific effects tested by initOptions)
-		,	slide:		$.effects && $.effects.slide // default effect
-		}
-	}
-
-//	arrays of plugin or other methods to be triggered for events in *each layout* - will be passed 'Instance'
-,	onCreate:	[]	// runs when layout is just starting to be created - right after options are set
-,	onLoad:		[]	// runs after layout container and global events init, but before initPanes is called
-,	onReady:	[]	// runs after initialization *completes* - ie, after initPanes completes successfully
-,	onDestroy:	[]	// runs after layout is destroyed
-,	onUnload:	[]	// runs after layout is destroyed OR when page unloads
-,	afterOpen:	[]	// runs after setAsOpen() completes
-,	afterClose:	[]	// runs after setAsClosed() completes
-
-	/*
-	*	GENERIC UTILITY METHODS
-	*/
-
-	// calculate and return the scrollbar width, as an integer
-,	scrollbarWidth:		function () { return window.scrollbarWidth  || $.layout.getScrollbarSize('width'); }
-,	scrollbarHeight:	function () { return window.scrollbarHeight || $.layout.getScrollbarSize('height'); }
-,	getScrollbarSize:	function (dim) {
-		var $c	= $('<div style="position: absolute; top: -10000px; left: -10000px; width: 100px; height: 100px; overflow: scroll;"></div>').appendTo("body");
-		var d	= { width: $c.width() - $c[0].clientWidth, height: $c.height() - $c[0].clientHeight };
-		$c.remove();
-		window.scrollbarWidth	= d.width;
-		window.scrollbarHeight	= d.height;
-		return dim.match(/^(width|height)$/) ? d[dim] : d;
-	}
-
-
-	/**
-	* Returns hash container 'display' and 'visibility'
-	*
-	* @see	$.swap() - swaps CSS, runs callback, resets CSS
-	*/
-,	showInvisibly: function ($E, force) {
-		if ($E && $E.length && (force || $E.css('display') === "none")) { // only if not *already hidden*
-			var s = $E[0].style
-				// save ONLY the 'style' props because that is what we must restore
-			,	CSS = { display: s.display || '', visibility: s.visibility || '' };
-			// show element 'invisibly' so can be measured
-			$E.css({ display: "block", visibility: "hidden" });
-			return CSS;
-		}
-		return {};
-	}
-
-	/**
-	* Returns data for setting size of an element (container or a pane).
-	*
-	* @see  _create(), onWindowResize() for container, plus others for pane
-	* @return JSON  Returns a hash of all dimensions: top, bottom, left, right, outerWidth, innerHeight, etc
-	*/
-,	getElementDimensions: function ($E) {
-		var
-			d	= {}			// dimensions hash
-		,	x	= d.css = {}	// CSS hash
-		,	i	= {}			// TEMP insets
-		,	b, p				// TEMP border, padding
-		,	N	= $.layout.cssNum
-		,	off = $E.offset()
-		;
-		d.offsetLeft = off.left;
-		d.offsetTop  = off.top;
-
-		$.each("Left,Right,Top,Bottom".split(","), function (idx, e) { // e = edge
-			b = x["border" + e] = $.layout.borderWidth($E, e);
-			p = x["padding"+ e] = $.layout.cssNum($E, "padding"+e);
-			i[e] = b + p; // total offset of content from outer side
-			d["inset"+ e] = p;	// eg: insetLeft = paddingLeft
-		});
-
-		d.offsetWidth	= $E.innerWidth();	// offsetWidth is used in calc when doing manual resize
-		d.offsetHeight	= $E.innerHeight();	// ditto
-		d.outerWidth	= $E.outerWidth();
-		d.outerHeight	= $E.outerHeight();
-		d.innerWidth	= max(0, d.outerWidth  - i.Left - i.Right);
-		d.innerHeight	= max(0, d.outerHeight - i.Top  - i.Bottom);
-
-		x.width		= $E.width();
-		x.height	= $E.height();
-		x.top		= N($E,"top",true);
-		x.bottom	= N($E,"bottom",true);
-		x.left		= N($E,"left",true);
-		x.right		= N($E,"right",true);
-
-		//d.visible	= $E.is(":visible");// && x.width > 0 && x.height > 0;
-
-		return d;
-	}
-
-,	getElementCSS: function ($E, list) {
-		var
-			CSS	= {}
-		,	style	= $E[0].style
-		,	props	= list.split(",")
-		,	sides	= "Top,Bottom,Left,Right".split(",")
-		,	attrs	= "Color,Style,Width".split(",")
-		,	p, s, a, i, j, k
-		;
-		for (i=0; i < props.length; i++) {
-			p = props[i];
-			if (p.match(/(border|padding|margin)$/))
-				for (j=0; j < 4; j++) {
-					s = sides[j];
-					if (p === "border")
-						for (k=0; k < 3; k++) {
-							a = attrs[k];
-							CSS[p+s+a] = style[p+s+a];
-						}
-					else
-						CSS[p+s] = style[p+s];
-				}
-			else
-				CSS[p] = style[p];
-		};
-		return CSS
-	}
-
-	/**
-	* Return the innerWidth for the current browser/doctype
-	*
-	* @see  initPanes(), sizeMidPanes(), initHandles(), sizeHandles()
-	* @param  {Array.<Object>}	$E  Must pass a jQuery object - first element is processed
-	* @param  {number=}			outerWidth (optional) Can pass a width, allowing calculations BEFORE element is resized
-	* @return {number}			Returns the innerWidth of the elem by subtracting padding and borders
-	*/
-,	cssWidth: function ($E, outerWidth) {
-		// a 'calculated' outerHeight can be passed so borders and/or padding are removed if needed
-		if (outerWidth <= 0) return 0;
-
-		if (!$.layout.browser.boxModel) return outerWidth;
-
-		// strip border and padding from outerWidth to get CSS Width
-		var b = $.layout.borderWidth
-		,	n = $.layout.cssNum
-		,	W = outerWidth
-				- b($E, "Left")
-				- b($E, "Right")
-				- n($E, "paddingLeft")		
-				- n($E, "paddingRight");
-
-		return max(0,W);
-	}
-
-	/**
-	* Return the innerHeight for the current browser/doctype
-	*
-	* @see  initPanes(), sizeMidPanes(), initHandles(), sizeHandles()
-	* @param  {Array.<Object>}	$E  Must pass a jQuery object - first element is processed
-	* @param  {number=}			outerHeight  (optional) Can pass a width, allowing calculations BEFORE element is resized
-	* @return {number}			Returns the innerHeight of the elem by subtracting padding and borders
-	*/
-,	cssHeight: function ($E, outerHeight) {
-		// a 'calculated' outerHeight can be passed so borders and/or padding are removed if needed
-		if (outerHeight <= 0) return 0;
-
-		if (!$.layout.browser.boxModel) return outerHeight;
-
-		// strip border and padding from outerHeight to get CSS Height
-		var b = $.layout.borderWidth
-		,	n = $.layout.cssNum
-		,	H = outerHeight
-			- b($E, "Top")
-			- b($E, "Bottom")
-			- n($E, "paddingTop")
-			- n($E, "paddingBottom");
-
-		return max(0,H);
-	}
-
-	/**
-	* Returns the 'current CSS numeric value' for a CSS property - 0 if property does not exist
-	*
-	* @see  Called by many methods
-	* @param {Array.<Object>}	$E					Must pass a jQuery object - first element is processed
-	* @param {string}			prop				The name of the CSS property, eg: top, width, etc.
-	* @param {boolean=}			[allowAuto=false]	true = return 'auto' if that is value; false = return 0
-	* @return {(string|number)}						Usually used to get an integer value for position (top, left) or size (height, width)
-	*/
-,	cssNum: function ($E, prop, allowAuto) {
-		if (!$E.jquery) $E = $($E);
-		var CSS = $.layout.showInvisibly($E)
-		,	p	= $.css($E[0], prop, true)
-		,	v	= allowAuto && p=="auto" ? p : (parseInt(p, 10) || 0);
-		$E.css( CSS ); // RESET
-		return v;
-	}
-
-,	borderWidth: function (el, side) {
-		if (el.jquery) el = el[0];
-		var b = "border"+ side.substr(0,1).toUpperCase() + side.substr(1); // left => Left
-		return $.css(el, b+"Style", true) === "none" ? 0 : (parseInt($.css(el, b+"Width", true), 10) || 0);
-	}
-
-	/**
-	* Mouse-tracking utility - FUTURE REFERENCE
-	*
-	* init: if (!window.mouse) {
-	*			window.mouse = { x: 0, y: 0 };
-	*			$(document).mousemove( $.layout.trackMouse );
-	*		}
-	*
-	* @param {Object}		evt
-	*
-,	trackMouse: function (evt) {
-		window.mouse = { x: evt.clientX, y: evt.clientY };
-	}
-	*/
-
-	/**
-	* SUBROUTINE for preventPrematureSlideClose option
-	*
-	* @param {Object}		evt
-	* @param {Object=}		el
-	*/
-,	isMouseOverElem: function (evt, el) {
-		var
-			$E	= $(el || this)
-		,	d	= $E.offset()
-		,	T	= d.top
-		,	L	= d.left
-		,	R	= L + $E.outerWidth()
-		,	B	= T + $E.outerHeight()
-		,	x	= evt.pageX	// evt.clientX ?
-		,	y	= evt.pageY	// evt.clientY ?
-		;
-		// if X & Y are < 0, probably means is over an open SELECT
-		return ($.layout.browser.msie && x < 0 && y < 0) || ((x >= L && x <= R) && (y >= T && y <= B));
-	}
-
-	/**
-	* Message/Logging Utility
-	*
-	* @example $.layout.msg("My message");				// log text
-	* @example $.layout.msg("My message", true);		// alert text
-	* @example $.layout.msg({ foo: "bar" }, "Title");	// log hash-data, with custom title
-	* @example $.layout.msg({ foo: "bar" }, true, "Title", { sort: false }); -OR-
-	* @example $.layout.msg({ foo: "bar" }, "Title", { sort: false, display: true }); // alert hash-data
-	*
-	* @param {(Object|string)}			info			String message OR Hash/Array
-	* @param {(Boolean|string|Object)=}	[popup=false]	True means alert-box - can be skipped
-	* @param {(Object|string)=}			[debugTitle=""]	Title for Hash data - can be skipped
-	* @param {Object=}					[debugOpts]		Extra options for debug output
-	*/
-,	msg: function (info, popup, debugTitle, debugOpts) {
-		if ($.isPlainObject(info) && window.debugData) {
-			if (typeof popup === "string") {
-				debugOpts	= debugTitle;
-				debugTitle	= popup;
-			}
-			else if (typeof debugTitle === "object") {
-				debugOpts	= debugTitle;
-				debugTitle	= null;
-			}
-			var t = debugTitle || "log( <object> )"
-			,	o = $.extend({ sort: false, returnHTML: false, display: false }, debugOpts);
-			if (popup === true || o.display)
-				debugData( info, t, o );
-			else if (window.console)
-				console.log(debugData( info, t, o ));
-		}
-		else if (popup)
-			alert(info);
-		else if (window.console)
-			console.log(info);
-		else {
-			var id	= "#layoutLogger"
-			,	$l = $(id);
-			if (!$l.length)
-				$l = createLog();
-			$l.children("ul").append('<li style="padding: 4px 10px; margin: 0; border-top: 1px solid #CCC;">'+ info.replace(/\</g,"&lt;").replace(/\>/g,"&gt;") +'</li>');
-		}
-
-		function createLog () {
-			var pos = $.support.fixedPosition ? 'fixed' : 'absolute'
-			,	$e = $('<div id="layoutLogger" style="position: '+ pos +'; top: 5px; z-index: 999999; max-width: 25%; overflow: hidden; border: 1px solid #000; border-radius: 5px; background: #FBFBFB; box-shadow: 0 2px 10px rgba(0,0,0,0.3);">'
-				+	'<div style="font-size: 13px; font-weight: bold; padding: 5px 10px; background: #F6F6F6; border-radius: 5px 5px 0 0; cursor: move;">'
-				+	'<span style="float: right; padding-left: 7px; cursor: pointer;" title="Remove Console" onclick="$(this).closest(\'#layoutLogger\').remove()">X</span>Layout console.log</div>'
-				+	'<ul style="font-size: 13px; font-weight: none; list-style: none; margin: 0; padding: 0 0 2px;"></ul>'
-				+ '</div>'
-				).appendTo("body");
-			$e.css('left', $(window).width() - $e.outerWidth() - 5)
-			if ($.ui.draggable) $e.draggable({ handle: ':first-child' });
-			return $e;
-		};
-	}
-
-};
-
-// DEFAULT OPTIONS
-$.layout.defaults = {
-/*
- *	LAYOUT & LAYOUT-CONTAINER OPTIONS
- *	- none of these options are applicable to individual panes
- */
-	name:						""			// Not required, but useful for buttons and used for the state-cookie
-,	containerSelector:			""			// ONLY used when specifying a childOptions - to find container-element that is NOT directly-nested
-,	containerClass:				"ui-layout-container" // layout-container element
-,	scrollToBookmarkOnLoad:		true		// after creating a layout, scroll to bookmark in URL (.../page.htm#myBookmark)
-,	resizeWithWindow:			true		// bind thisLayout.resizeAll() to the window.resize event
-,	resizeWithWindowDelay:		200			// delay calling resizeAll because makes window resizing very jerky
-,	resizeWithWindowMaxDelay:	0			// 0 = none - force resize every XX ms while window is being resized
-,	onresizeall_start:			null		// CALLBACK when resizeAll() STARTS	- NOT pane-specific
-,	onresizeall_end:			null		// CALLBACK when resizeAll() ENDS	- NOT pane-specific
-,	onload_start:				null		// CALLBACK when Layout inits - after options initialized, but before elements
-,	onload_end:					null		// CALLBACK when Layout inits - after EVERYTHING has been initialized
-,	onunload_start:				null		// CALLBACK when Layout is destroyed OR onWindowUnload
-,	onunload_end:				null		// CALLBACK when Layout is destroyed OR onWindowUnload
-,	initPanes:					true		// false = DO NOT initialize the panes onLoad - will init later
-,	showErrorMessages:			true		// enables fatal error messages to warn developers of common errors
-,	showDebugMessages:			false		// display console-and-alert debug msgs - IF this Layout version _has_ debugging code!
-//	Changing this zIndex value will cause other zIndex values to automatically change
-,	zIndex:						null		// the PANE zIndex - resizers and masks will be +1
-//	DO NOT CHANGE the zIndex values below unless you clearly understand their relationships
-,	zIndexes: {								// set _default_ z-index values here...
-		pane_normal:			0			// normal z-index for panes
-	,	content_mask:			1			// applied to overlays used to mask content INSIDE panes during resizing
-	,	resizer_normal:			2			// normal z-index for resizer-bars
-	,	pane_sliding:			100			// applied to *BOTH* the pane and its resizer when a pane is 'slid open'
-	,	pane_animate:			1000		// applied to the pane when being animated - not applied to the resizer
-	,	resizer_drag:			10000		// applied to the CLONED resizer-bar when being 'dragged'
-	}
-,	errors: {
-		pane:					"pane"		// description of "layout pane element" - used only in error messages
-	,	selector:				"selector"	// description of "jQuery-selector" - used only in error messages
-	,	addButtonError:			"Error Adding Button \n\nInvalid "
-	,	containerMissing:		"UI Layout Initialization Error\n\nThe specified layout-container does not exist."
-	,	centerPaneMissing:		"UI Layout Initialization Error\n\nThe center-pane element does not exist.\n\nThe center-pane is a required element."
-	,	noContainerHeight:		"UI Layout Initialization Warning\n\nThe layout-container \"CONTAINER\" has no height.\n\nTherefore the layout is 0-height and hence 'invisible'!"
-	,	callbackError:			"UI Layout Callback Error\n\nThe EVENT callback is not a valid function."
-	}
-/*
- *	PANE DEFAULT SETTINGS
- *	- settings under the 'panes' key become the default settings for *all panes*
- *	- ALL pane-options can also be set specifically for each panes, which will override these 'default values'
- */
-,	panes: { // default options for 'all panes' - will be overridden by 'per-pane settings'
-		applyDemoStyles: 		false		// NOTE: renamed from applyDefaultStyles for clarity
-	,	closable:				true		// pane can open & close
-	,	resizable:				true		// when open, pane can be resized 
-	,	slidable:				true		// when closed, pane can 'slide open' over other panes - closes on mouse-out
-	,	initClosed:				false		// true = init pane as 'closed'
-	,	initHidden: 			false 		// true = init pane as 'hidden' - no resizer-bar/spacing
-	//	SELECTORS
-	//,	paneSelector:			""			// MUST be pane-specific - jQuery selector for pane
-	,	contentSelector:		".ui-layout-content" // INNER div/element to auto-size so only it scrolls, not the entire pane!
-	,	contentIgnoreSelector:	".ui-layout-ignore"	// element(s) to 'ignore' when measuring 'content'
-	,	findNestedContent:		false		// true = $P.find(contentSelector), false = $P.children(contentSelector)
-	//	GENERIC ROOT-CLASSES - for auto-generated classNames
-	,	paneClass:				"ui-layout-pane"	// Layout Pane
-	,	resizerClass:			"ui-layout-resizer"	// Resizer Bar
-	,	togglerClass:			"ui-layout-toggler"	// Toggler Button
-	,	buttonClass:			"ui-layout-button"	// CUSTOM Buttons	- eg: '[ui-layout-button]-toggle/-open/-close/-pin'
-	//	ELEMENT SIZE & SPACING
-	//,	size:					100			// MUST be pane-specific -initial size of pane
-	,	minSize:				0			// when manually resizing a pane
-	,	maxSize:				0			// ditto, 0 = no limit
-	,	spacing_open:			6			// space between pane and adjacent panes - when pane is 'open'
-	,	spacing_closed:			6			// ditto - when pane is 'closed'
-	,	togglerLength_open:		50			// Length = WIDTH of toggler button on north/south sides - HEIGHT on east/west sides
-	,	togglerLength_closed: 	50			// 100% OR -1 means 'full height/width of resizer bar' - 0 means 'hidden'
-	,	togglerAlign_open:		"center"	// top/left, bottom/right, center, OR...
-	,	togglerAlign_closed:	"center"	// 1 => nn = offset from top/left, -1 => -nn == offset from bottom/right
-	,	togglerContent_open:	""			// text or HTML to put INSIDE the toggler
-	,	togglerContent_closed:	""			// ditto
-	//	RESIZING OPTIONS
-	,	resizerDblClickToggle:	true		// 
-	,	autoResize:				true		// IF size is 'auto' or a percentage, then recalc 'pixel size' whenever the layout resizes
-	,	autoReopen:				true		// IF a pane was auto-closed due to noRoom, reopen it when there is room? False = leave it closed
-	,	resizerDragOpacity:		1			// option for ui.draggable
-	//,	resizerCursor:			""			// MUST be pane-specific - cursor when over resizer-bar
-	,	maskContents:			false		// true = add DIV-mask over-or-inside this pane so can 'drag' over IFRAMES
-	,	maskObjects:			false		// true = add IFRAME-mask over-or-inside this pane to cover objects/applets - content-mask will overlay this mask
-	,	maskZindex:				null		// will override zIndexes.content_mask if specified - not applicable to iframe-panes
-	,	resizingGrid:			false		// grid size that the resizers will snap-to during resizing, eg: [20,20]
-	,	livePaneResizing:		false		// true = LIVE Resizing as resizer is dragged
-	,	liveContentResizing:	false		// true = re-measure header/footer heights as resizer is dragged
-	,	liveResizingTolerance:	1			// how many px change before pane resizes, to control performance
-	//	SLIDING OPTIONS
-	,	sliderCursor:			"pointer"	// cursor when resizer-bar will trigger 'sliding'
-	,	slideTrigger_open:		"click"		// click, dblclick, mouseenter
-	,	slideTrigger_close:		"mouseleave"// click, mouseleave
-	,	slideDelay_open:		300			// applies only for mouseenter event - 0 = instant open
-	,	slideDelay_close:		300			// applies only for mouseleave event (300ms is the minimum!)
-	,	hideTogglerOnSlide:		false		// when pane is slid-open, should the toggler show?
-	,	preventQuickSlideClose:	$.layout.browser.webkit // Chrome triggers slideClosed as it is opening
-	,	preventPrematureSlideClose: false	// handle incorrect mouseleave trigger, like when over a SELECT-list in IE
-	//	PANE-SPECIFIC TIPS & MESSAGES
-	,	tips: {
-			Open:				"Open"		// eg: "Open Pane"
-		,	Close:				"Close"
-		,	Resize:				"Resize"
-		,	Slide:				"Slide Open"
-		,	Pin:				"Pin"
-		,	Unpin:				"Un-Pin"
-		,	noRoomToOpen:		"Not enough room to show this panel."	// alert if user tries to open a pane that cannot
-		,	minSizeWarning:		"Panel has reached its minimum size"	// displays in browser statusbar
-		,	maxSizeWarning:		"Panel has reached its maximum size"	// ditto
-		}
-	//	HOT-KEYS & MISC
-	,	showOverflowOnHover:	false		// will bind allowOverflow() utility to pane.onMouseOver
-	,	enableCursorHotkey:		true		// enabled 'cursor' hotkeys
-	//,	customHotkey:			""			// MUST be pane-specific - EITHER a charCode OR a character
-	,	customHotkeyModifier:	"SHIFT"		// either 'SHIFT', 'CTRL' or 'CTRL+SHIFT' - NOT 'ALT'
-	//	PANE ANIMATION
-	//	NOTE: fxSss_open, fxSss_close & fxSss_size options (eg: fxName_open) are auto-generated if not passed
-	,	fxName:					"slide" 	// ('none' or blank), slide, drop, scale -- only relevant to 'open' & 'close', NOT 'size'
-	,	fxSpeed:				null		// slow, normal, fast, 200, nnn - if passed, will OVERRIDE fxSettings.duration
-	,	fxSettings:				{}			// can be passed, eg: { easing: "easeOutBounce", duration: 1500 }
-	,	fxOpacityFix:			true		// tries to fix opacity in IE to restore anti-aliasing after animation
-	,	animatePaneSizing:		false		// true = animate resizing after dragging resizer-bar OR sizePane() is called
-	/*  NOTE: Action-specific FX options are auto-generated from the options above if not specifically set:
-		fxName_open:			"slide"		// 'Open' pane animation
-		fnName_close:			"slide"		// 'Close' pane animation
-		fxName_size:			"slide"		// 'Size' pane animation - when animatePaneSizing = true
-		fxSpeed_open:			null
-		fxSpeed_close:			null
-		fxSpeed_size:			null
-		fxSettings_open:		{}
-		fxSettings_close:		{}
-		fxSettings_size:		{}
-	*/
-	//	CHILD/NESTED LAYOUTS
-	,	childOptions:			null		// Layout-options for nested/child layout - even {} is valid as options
-	,	initChildLayout:		true		// true = child layout will be created as soon as _this_ layout completes initialization
-	,	destroyChildLayout:		true		// true = destroy child-layout if this pane is destroyed
-	,	resizeChildLayout:		true		// true = trigger child-layout.resizeAll() when this pane is resized
-	//	EVENT TRIGGERING
-	,	triggerEventsOnLoad:	false		// true = trigger onopen OR onclose callbacks when layout initializes
-	,	triggerEventsDuringLiveResize: true	// true = trigger onresize callback REPEATEDLY if livePaneResizing==true
-	//	PANE CALLBACKS
-	,	onshow_start:			null		// CALLBACK when pane STARTS to Show	- BEFORE onopen/onhide_start
-	,	onshow_end:				null		// CALLBACK when pane ENDS being Shown	- AFTER  onopen/onhide_end
-	,	onhide_start:			null		// CALLBACK when pane STARTS to Close	- BEFORE onclose_start
-	,	onhide_end:				null		// CALLBACK when pane ENDS being Closed	- AFTER  onclose_end
-	,	onopen_start:			null		// CALLBACK when pane STARTS to Open
-	,	onopen_end:				null		// CALLBACK when pane ENDS being Opened
-	,	onclose_start:			null		// CALLBACK when pane STARTS to Close
-	,	onclose_end:			null		// CALLBACK when pane ENDS being Closed
-	,	onresize_start:			null		// CALLBACK when pane STARTS being Resized ***FOR ANY REASON***
-	,	onresize_end:			null		// CALLBACK when pane ENDS being Resized ***FOR ANY REASON***
-	,	onsizecontent_start:	null		// CALLBACK when sizing of content-element STARTS
-	,	onsizecontent_end:		null		// CALLBACK when sizing of content-element ENDS
-	,	onswap_start:			null		// CALLBACK when pane STARTS to Swap
-	,	onswap_end:				null		// CALLBACK when pane ENDS being Swapped
-	,	ondrag_start:			null		// CALLBACK when pane STARTS being ***MANUALLY*** Resized
-	,	ondrag_end:				null		// CALLBACK when pane ENDS being ***MANUALLY*** Resized
-	}
-/*
- *	PANE-SPECIFIC SETTINGS
- *	- options listed below MUST be specified per-pane - they CANNOT be set under 'panes'
- *	- all options under the 'panes' key can also be set specifically for any pane
- *	- most options under the 'panes' key apply only to 'border-panes' - NOT the center-pane
- */
-,	north: {
-		paneSelector:			".ui-layout-north"
-	,	size:					"auto"		// eg: "auto", "30%", .30, 200
-	,	resizerCursor:			"n-resize"	// custom = url(myCursor.cur)
-	,	customHotkey:			""			// EITHER a charCode (43) OR a character ("o")
-	}
-,	south: {
-		paneSelector:			".ui-layout-south"
-	,	size:					"auto"
-	,	resizerCursor:			"s-resize"
-	,	customHotkey:			""
-	}
-,	east: {
-		paneSelector:			".ui-layout-east"
-	,	size:					200
-	,	resizerCursor:			"e-resize"
-	,	customHotkey:			""
-	}
-,	west: {
-		paneSelector:			".ui-layout-west"
-	,	size:					200
-	,	resizerCursor:			"w-resize"
-	,	customHotkey:			""
-	}
-,	center: {
-		paneSelector:			".ui-layout-center"
-	,	minWidth:				0
-	,	minHeight:				0
-	}
-};
-
-$.layout.optionsMap = {
-	// layout/global options - NOT pane-options
-	layout: ("stateManagement,effects,zIndexes,errors,"
-	+	"name,zIndex,scrollToBookmarkOnLoad,showErrorMessages,"
-	+	"resizeWithWindow,resizeWithWindowDelay,resizeWithWindowMaxDelay,"
-	+	"onresizeall,onresizeall_start,onresizeall_end,onload,onunload").split(",")
-//	borderPanes: [ ALL options that are NOT specified as 'layout' ]
-	// default.panes options that apply to the center-pane (most options apply _only_ to border-panes)
-,	center: ("paneClass,contentSelector,contentIgnoreSelector,findNestedContent,applyDemoStyles,triggerEventsOnLoad,"
-	+	"showOverflowOnHover,maskContents,maskObjects,liveContentResizing,"
-	+	"childOptions,initChildLayout,resizeChildLayout,destroyChildLayout,"
-	+	"onresize,onresize_start,onresize_end,onsizecontent,onsizecontent_start,onsizecontent_end").split(",")
-	// options that MUST be specifically set 'per-pane' - CANNOT set in the panes (defaults) key
-,	noDefault: ("paneSelector,resizerCursor,customHotkey").split(",")
-};
-
-/**
- * Processes options passed in converts flat-format data into subkey (JSON) format
- * In flat-format, subkeys are _currently_ separated with 2 underscores, like north__optName
- * Plugins may also call this method so they can transform their own data
- *
- * @param  {!Object}	hash	Data/options passed by user - may be a single level or nested levels
- * @return {Object}				Returns hash of minWidth & minHeight
- */
-$.layout.transformData = function (hash) {
-	var	json = { panes: {}, center: {} } // init return object
-	,	data, branch, optKey, keys, key, val, i, c;
-
-	if (typeof hash !== "object") return json; // no options passed
-
-	// convert all 'flat-keys' to 'sub-key' format
-	for (optKey in hash) {
-		branch	= json;
-		data	= $.layout.optionsMap.layout;
-		val		= hash[ optKey ];
-		keys	= optKey.split("__"); // eg: west__size or north__fxSettings__duration
-		c		= keys.length - 1;
-		// convert underscore-delimited to subkeys
-		for (i=0; i <= c; i++) {
-			key = keys[i];
-			if (i === c)
-				branch[key] = val;
-			else if (!branch[key])
-				branch[key] = {}; // create the subkey
-			// recurse to sub-key for next loop - if not done
-			branch = branch[key];
-		}
-	}
-
-	return json;
-};
-
-// INTERNAL CONFIG DATA - DO NOT CHANGE THIS!
-$.layout.backwardCompatibility = {
-	// data used by renameOldOptions()
-	map: {
-	//	OLD Option Name:			NEW Option Name
-		applyDefaultStyles:			"applyDemoStyles"
-	,	resizeNestedLayout:			"resizeChildLayout"
-	,	resizeWhileDragging:		"livePaneResizing"
-	,	resizeContentWhileDragging:	"liveContentResizing"
-	,	triggerEventsWhileDragging:	"triggerEventsDuringLiveResize"
-	,	maskIframesOnResize:		"maskContents"
-	,	useStateCookie:				"stateManagement.enabled"
-	,	"cookie.autoLoad":			"stateManagement.autoLoad"
-	,	"cookie.autoSave":			"stateManagement.autoSave"
-	,	"cookie.keys":				"stateManagement.stateKeys"
-	,	"cookie.name":				"stateManagement.cookie.name"
-	,	"cookie.domain":			"stateManagement.cookie.domain"
-	,	"cookie.path":				"stateManagement.cookie.path"
-	,	"cookie.expires":			"stateManagement.cookie.expires"
-	,	"cookie.secure":			"stateManagement.cookie.secure"
-	//	OLD Language options
-	,	noRoomToOpenTip:			"tips.noRoomToOpen"
-	,	togglerTip_open:			"tips.Close"	// open   = Close
-	,	togglerTip_closed:			"tips.Open"		// closed = Open
-	,	resizerTip:					"tips.Resize"
-	,	sliderTip:					"tips.Slide"
-	}
-
-/**
-* @param {Object}	opts
-*/
-,	renameOptions: function (opts) {
-		var map = $.layout.backwardCompatibility.map
-		,	oldData, newData, value
-		;
-		for (var itemPath in map) {
-			oldData	= getBranch( itemPath );
-			value	= oldData.branch[ oldData.key ];
-			if (value !== undefined) {
-				newData = getBranch( map[itemPath], true );
-				newData.branch[ newData.key ] = value;
-				delete oldData.branch[ oldData.key ];
-			}
-		}
-
-		/**
-		* @param {string}	path
-		* @param {boolean=}	[create=false]	Create path if does not exist
-		*/
-		function getBranch (path, create) {
-			var a = path.split(".") // split keys into array
-			,	c = a.length - 1
-			,	D = { branch: opts, key: a[c] } // init branch at top & set key (last item)
-			,	i = 0, k, undef;
-			for (; i<c; i++) { // skip the last key (data)
-				k = a[i];
-				if (D.branch[ k ] == undefined) { // child-key does not exist
-					if (create) {
-						D.branch = D.branch[ k ] = {}; // create child-branch
-					}
-					else // can't go any farther
-						D.branch = {}; // branch is undefined
-				}
-				else
-					D.branch = D.branch[ k ]; // get child-branch
-			}
-			return D;
-		};
-	}
-
-/**
-* @param {Object}	opts
-*/
-,	renameAllOptions: function (opts) {
-		var ren = $.layout.backwardCompatibility.renameOptions;
-		// rename root (layout) options
-		ren( opts );
-		// rename 'defaults' to 'panes'
-		if (opts.defaults) {
-			if (typeof opts.panes !== "object")
-				opts.panes = {};
-			$.extend(true, opts.panes, opts.defaults);
-			delete opts.defaults;
-		}
-		// rename options in the options.panes key
-		if (opts.panes) ren( opts.panes );
-		// rename options inside *each pane key*, eg: options.west
-		$.each($.layout.config.allPanes, function (i, pane) {
-			if (opts[pane]) ren( opts[pane] );
-		});	
-		return opts;
-	}
-};
-
-
-
-
-/*	============================================================
- *	BEGIN WIDGET: $( selector ).layout( {options} );
- *	============================================================
- */
-$.fn.layout = function (opts) {
-	var
-
-	// local aliases to global data
-	browser	= $.layout.browser
-,	_c		= $.layout.config
-
-	// local aliases to utlity methods
-,	cssW	= $.layout.cssWidth
-,	cssH	= $.layout.cssHeight
-,	elDims	= $.layout.getElementDimensions
-,	elCSS	= $.layout.getElementCSS
-,	evtObj	= $.layout.getEventObject
-,	evtPane	= $.layout.parsePaneName
-
-/**
- * options - populated by initOptions()
- */
-,	options = $.extend(true, {}, $.layout.defaults)
-,	effects	= options.effects = $.extend(true, {}, $.layout.effects)
-
-/**
- * layout-state object
- */
-,	state = {
-		// generate unique ID to use for event.namespace so can unbind only events added by 'this layout'
-		id:			"layout"+ $.now()	// code uses alias: sID
-	,	initialized: false
-	,	container:	{} // init all keys
-	,	north:		{}
-	,	south:		{}
-	,	east:		{}
-	,	west:		{}
-	,	center:		{}
-	}
-
-/**
- * parent/child-layout pointers
- */
-//,	hasParentLayout	= false	- exists ONLY inside Instance so can be set externally
-,	children = {
-		north:		null
-	,	south:		null
-	,	east:		null
-	,	west:		null
-	,	center:		null
-	}
-
-/*
- * ###########################
- *  INTERNAL HELPER FUNCTIONS
- * ###########################
- */
-
-	/**
-	* Manages all internal timers
-	*/
-,	timer = {
-		data:	{}
-	,	set:	function (s, fn, ms) { timer.clear(s); timer.data[s] = setTimeout(fn, ms); }
-	,	clear:	function (s) { var t=timer.data; if (t[s]) {clearTimeout(t[s]); delete t[s];} }
-	}
-
-	/**
-	* Alert or console.log a message - IF option is enabled.
-	*
-	* @param {(string|!Object)}	msg		Message (or debug-data) to display
-	* @param {?boolean}			popup	True by default, means 'alert', false means use console.log
-	* @param {?boolean}			debug	True means is a widget debugging message
-	*/
-,	_log = function (msg, popup, debug) {
-		var o = options;
-		if ((o.showErrorMessages && !debug) || (debug && o.showDebugMessages))
-			$.layout.msg( o.name +' / '+ msg, (popup !== false) );
-		return false;
-	}
-
-	/**
-	* Executes a Callback function after a trigger event, like resize, open or close
-	*
-	* @param {string}			evtName			Name of the layout callback, eg "onresize_start"
-	* @param {?string}			pane			This is passed only so we can pass the 'pane object' to the callback
-	* @param {?string|?boolean}	skipBoundEvents	True = do not run events bound to the elements - only the callbacks set in options
-	*/
-,	_runCallbacks = function (evtName, pane, skipBoundEvents) {
-		var	paneCB	= pane && isStr(pane)
-		,	s		= paneCB ? state[pane] : state
-		,	o		= paneCB ? options[pane] : options
-		,	lName	= options.name
-			// names like onopen and onopen_end separate are interchangeable in options...
-		,	lng		= evtName + (evtName.match(/_/) ? "" : "_end")
-		,	shrt	= lng.match(/_end$/) ? lng.substr(0, lng.length - 4) : ""
-		,	fn		= o[lng] || o[shrt]
-		,	retVal	= "NC" // NC = No Callback
-		,	args	= []
-		,	$P
-		;
-		if ( !paneCB && $.type(skipBoundEvents) !== 'boolean' )
-			skipBoundEvents = pane; // allow pane param to be skipped for Layout callback
-
-		// first trigger the callback set in the options
-		if (fn) {
-			try {
-				// convert function name (string) to function object
-				if (isStr( fn )) {
-					if (fn.match(/,/)) {
-						// function name cannot contain a comma, 
-						// so must be a function name AND a parameter to pass
-						args = fn.split(",")
-						,	fn = eval(args[0]);
-					}
-					else // just the name of an external function?
-						fn = eval(fn);
-				}
-				// execute the callback, if exists
-				if ($.isFunction( fn )) {
-					if (args.length)
-						retVal = fn(args[1]); // pass the argument parsed from 'list'
-					else if ( paneCB )
-						// pass data: pane-name, pane-element, pane-state, pane-options, and layout-name
-						retVal = fn( pane, $Ps[pane], s, o, lName );
-					else // must be a layout/container callback - pass suitable info
-						retVal = fn( Instance, s, o, lName );
-				}
-			}
-			catch (ex) {
-				_log( options.errors.callbackError.replace(/EVENT/, $.trim(pane +" "+ lng)), false );
-			}
-		}
-
-		// trigger additional events bound directly to the pane
-		if (!skipBoundEvents && retVal !== false) {
-			if ( paneCB ) { // PANE events can be bound to each pane-elements
-				$P	= $Ps[pane];
-				o	= options[pane];
-				s	= state[pane];
-				$P.triggerHandler('layoutpane'+ lng, [ pane, $P, s, o, lName ]);
-				if (shrt)
-					$P.triggerHandler('layoutpane'+ shrt, [ pane, $P, s, o, lName ]);
-			}
-			else { // LAYOUT events can be bound to the container-element
-				$N.triggerHandler('layout'+ lng, [ Instance, s, o, lName ]);
-				if (shrt)
-					$N.triggerHandler('layout'+ shrt, [ Instance, s, o, lName ]);
-			}
-		}
-
-		// ALWAYS resizeChildLayout after a resize event - even during initialization
-		if (evtName === "onresize_end" || evtName === "onsizecontent_end")
-			resizeChildLayout(pane); 
-
-		return retVal;
-	}
-
-
-	/**
-	* cure iframe display issues in IE & other browsers
-	*/
-,	_fixIframe = function (pane) {
-		if (browser.mozilla) return; // skip FireFox - it auto-refreshes iframes onShow
-		var $P = $Ps[pane];
-		// if the 'pane' is an iframe, do it
-		if (state[pane].tagName === "IFRAME")
-			$P.css(_c.hidden).css(_c.visible); 
-		else // ditto for any iframes INSIDE the pane
-			$P.find('IFRAME').css(_c.hidden).css(_c.visible);
-	}
-
-	/**
-	* @param  {string}		pane		Can accept ONLY a 'pane' (east, west, etc)
-	* @param  {number=}		outerSize	(optional) Can pass a width, allowing calculations BEFORE element is resized
-	* @return {number}		Returns the innerHeight/Width of el by subtracting padding and borders
-	*/
-,	cssSize = function (pane, outerSize) {
-		var fn = _c[pane].dir=="horz" ? cssH : cssW;
-		return fn($Ps[pane], outerSize);
-	}
-
-	/**
-	* @param  {string}		pane		Can accept ONLY a 'pane' (east, west, etc)
-	* @return {Object}		Returns hash of minWidth & minHeight
-	*/
-,	cssMinDims = function (pane) {
-		// minWidth/Height means CSS width/height = 1px
-		var	$P	= $Ps[pane]
-		,	dir	= _c[pane].dir
-		,	d	= {
-				minWidth:	1001 - cssW($P, 1000)
-			,	minHeight:	1001 - cssH($P, 1000)
-			}
-		;
-		if (dir === "horz") d.minSize = d.minHeight;
-		if (dir === "vert") d.minSize = d.minWidth;
-		return d;
-	}
-
-	// TODO: see if these methods can be made more useful...
-	// TODO: *maybe* return cssW/H from these so caller can use this info
-
-	/**
-	* @param {(string|!Object)}		el
-	* @param {number=}				outerWidth
-	* @param {boolean=}				[autoHide=false]
-	*/
-,	setOuterWidth = function (el, outerWidth, autoHide) {
-		var $E = el, w;
-		if (isStr(el)) $E = $Ps[el]; // west
-		else if (!el.jquery) $E = $(el);
-		w = cssW($E, outerWidth);
-		$E.css({ width: w });
-		if (w > 0) {
-			if (autoHide && $E.data('autoHidden') && $E.innerHeight() > 0) {
-				$E.show().data('autoHidden', false);
-				if (!browser.mozilla) // FireFox refreshes iframes - IE does not
-					// make hidden, then visible to 'refresh' display after animation
-					$E.css(_c.hidden).css(_c.visible);
-			}
-		}
-		else if (autoHide && !$E.data('autoHidden'))
-			$E.hide().data('autoHidden', true);
-	}
-
-	/**
-	* @param {(string|!Object)}		el
-	* @param {number=}				outerHeight
-	* @param {boolean=}				[autoHide=false]
-	*/
-,	setOuterHeight = function (el, outerHeight, autoHide) {
-		var $E = el, h;
-		if (isStr(el)) $E = $Ps[el]; // west
-		else if (!el.jquery) $E = $(el);
-		h = cssH($E, outerHeight);
-		$E.css({ height: h, visibility: "visible" }); // may have been 'hidden' by sizeContent
-		if (h > 0 && $E.innerWidth() > 0) {
-			if (autoHide && $E.data('autoHidden')) {
-				$E.show().data('autoHidden', false);
-				if (!browser.mozilla) // FireFox refreshes iframes - IE does not
-					$E.css(_c.hidden).css(_c.visible);
-			}
-		}
-		else if (autoHide && !$E.data('autoHidden'))
-			$E.hide().data('autoHidden', true);
-	}
-
-	/**
-	* @param {(string|!Object)}		el
-	* @param {number=}				outerSize
-	* @param {boolean=}				[autoHide=false]
-	*/
-,	setOuterSize = function (el, outerSize, autoHide) {
-		if (_c[pane].dir=="horz") // pane = north or south
-			setOuterHeight(el, outerSize, autoHide);
-		else // pane = east or west
-			setOuterWidth(el, outerSize, autoHide);
-	}
-
-
-	/**
-	* Converts any 'size' params to a pixel/integer size, if not already
-	* If 'auto' or a decimal/percentage is passed as 'size', a pixel-size is calculated
-	*
-	/**
-	* @param  {string}				pane
-	* @param  {(string|number)=}	size
-	* @param  {string=}				[dir]
-	* @return {number}
-	*/
-,	_parseSize = function (pane, size, dir) {
-		if (!dir) dir = _c[pane].dir;
-
-		if (isStr(size) && size.match(/%/))
-			size = (size === '100%') ? -1 : parseInt(size, 10) / 100; // convert % to decimal
-
-		if (size === 0)
-			return 0;
-		else if (size >= 1)
-			return parseInt(size, 10);
-
-		var o = options, avail = 0;
-		if (dir=="horz") // north or south or center.minHeight
-			avail = sC.innerHeight - ($Ps.north ? o.north.spacing_open : 0) - ($Ps.south ? o.south.spacing_open : 0);
-		else if (dir=="vert") // east or west or center.minWidth
-			avail = sC.innerWidth - ($Ps.west ? o.west.spacing_open : 0) - ($Ps.east ? o.east.spacing_open : 0);
-
-		if (size === -1) // -1 == 100%
-			return avail;
-		else if (size > 0) // percentage, eg: .25
-			return round(avail * size);
-		else if (pane=="center")
-			return 0;
-		else { // size < 0 || size=='auto' || size==Missing || size==Invalid
-			// auto-size the pane
-			var	dim	= (dir === "horz" ? "height" : "width")
-			,	$P	= $Ps[pane]
-			,	$C	= dim === 'height' ? $Cs[pane] : false
-			,	vis	= $.layout.showInvisibly($P) // show pane invisibly if hidden
-			,	szP	= $P.css(dim) // SAVE current pane size
-			,	szC	= $C ? $C.css(dim) : 0 // SAVE current content size
-			;
-			$P.css(dim, "auto");
-			if ($C) $C.css(dim, "auto");
-			size = (dim === "height") ? $P.outerHeight() : $P.outerWidth(); // MEASURE
-			$P.css(dim, szP).css(vis); // RESET size & visibility
-			if ($C) $C.css(dim, szC);
-			return size;
-		}
-	}
-
-	/**
-	* Calculates current 'size' (outer-width or outer-height) of a border-pane - optionally with 'pane-spacing' added
-	*
-	* @param  {(string|!Object)}	pane
-	* @param  {boolean=}			[inclSpace=false]
-	* @return {number}				Returns EITHER Width for east/west panes OR Height for north/south panes
-	*/
-,	getPaneSize = function (pane, inclSpace) {
-		var 
-			$P	= $Ps[pane]
-		,	o	= options[pane]
-		,	s	= state[pane]
-		,	oSp	= (inclSpace ? o.spacing_open : 0)
-		,	cSp	= (inclSpace ? o.spacing_closed : 0)
-		;
-		if (!$P || s.isHidden)
-			return 0;
-		else if (s.isClosed || (s.isSliding && inclSpace))
-			return cSp;
-		else if (_c[pane].dir === "horz")
-			return $P.outerHeight() + oSp;
-		else // dir === "vert"
-			return $P.outerWidth() + oSp;
-	}
-
-	/**
-	* Calculate min/max pane dimensions and limits for resizing
-	*
-	* @param  {string}		pane
-	* @param  {boolean=}	[slide=false]
-	*/
-,	setSizeLimits = function (pane, slide) {
-		if (!isInitialized()) return;
-		var 
-			o				= options[pane]
-		,	s				= state[pane]
-		,	c				= _c[pane]
-		,	dir				= c.dir
-		,	side			= c.side.toLowerCase()
-		,	type			= c.sizeType.toLowerCase()
-		,	isSliding		= (slide != undefined ? slide : s.isSliding) // only open() passes 'slide' param
-		,	$P				= $Ps[pane]
-		,	paneSpacing		= o.spacing_open
-		//	measure the pane on the *opposite side* from this pane
-		,	altPane			= _c.oppositeEdge[pane]
-		,	altS			= state[altPane]
-		,	$altP			= $Ps[altPane]
-		,	altPaneSize		= (!$altP || altS.isVisible===false || altS.isSliding ? 0 : (dir=="horz" ? $altP.outerHeight() : $altP.outerWidth()))
-		,	altPaneSpacing	= ((!$altP || altS.isHidden ? 0 : options[altPane][ altS.isClosed !== false ? "spacing_closed" : "spacing_open" ]) || 0)
-		//	limitSize prevents this pane from 'overlapping' opposite pane
-		,	containerSize	= (dir=="horz" ? sC.innerHeight : sC.innerWidth)
-		,	minCenterDims	= cssMinDims("center")
-		,	minCenterSize	= dir=="horz" ? max(options.center.minHeight, minCenterDims.minHeight) : max(options.center.minWidth, minCenterDims.minWidth)
-		//	if pane is 'sliding', then ignore center and alt-pane sizes - because 'overlays' them
-		,	limitSize		= (containerSize - paneSpacing - (isSliding ? 0 : (_parseSize("center", minCenterSize, dir) + altPaneSize + altPaneSpacing)))
-		,	minSize			= s.minSize = max( _parseSize(pane, o.minSize), cssMinDims(pane).minSize )
-		,	maxSize			= s.maxSize = min( (o.maxSize ? _parseSize(pane, o.maxSize) : 100000), limitSize )
-		,	r				= s.resizerPosition = {} // used to set resizing limits
-		,	top				= sC.insetTop
-		,	left			= sC.insetLeft
-		,	W				= sC.innerWidth
-		,	H				= sC.innerHeight
-		,	rW				= o.spacing_open // subtract resizer-width to get top/left position for south/east
-		;
-		switch (pane) {
-			case "north":	r.min = top + minSize;
-							r.max = top + maxSize;
-							break;
-			case "west":	r.min = left + minSize;
-							r.max = left + maxSize;
-							break;
-			case "south":	r.min = top + H - maxSize - rW;
-							r.max = top + H - minSize - rW;
-							break;
-			case "east":	r.min = left + W - maxSize - rW;
-							r.max = left + W - minSize - rW;
-							break;
-		};
-	}
-
-	/**
-	* Returns data for setting the size/position of center pane. Also used to set Height for east/west panes
-	*
-	* @return JSON  Returns a hash of all dimensions: top, bottom, left, right, (outer) width and (outer) height
-	*/
-,	calcNewCenterPaneDims = function () {
-		var d = {
-			top:	getPaneSize("north", true) // true = include 'spacing' value for pane
-		,	bottom:	getPaneSize("south", true)
-		,	left:	getPaneSize("west", true)
-		,	right:	getPaneSize("east", true)
-		,	width:	0
-		,	height:	0
-		};
-
-		// NOTE: sC = state.container
-		// calc center-pane outer dimensions
-		d.width		= sC.innerWidth - d.left - d.right;  // outerWidth
-		d.height	= sC.innerHeight - d.bottom - d.top; // outerHeight
-		// add the 'container border/padding' to get final positions relative to the container
-		d.top		+= sC.insetTop;
-		d.bottom	+= sC.insetBottom;
-		d.left		+= sC.insetLeft;
-		d.right		+= sC.insetRight;
-
-		return d;
-	}
-
-
-	/**
-	* @param {!Object}		el
-	* @param {boolean=}		[allStates=false]
-	*/
-,	getHoverClasses = function (el, allStates) {
-		var
-			$El		= $(el)
-		,	type	= $El.data("layoutRole")
-		,	pane	= $El.data("layoutEdge")
-		,	o		= options[pane]
-		,	root	= o[type +"Class"]
-		,	_pane	= "-"+ pane // eg: "-west"
-		,	_open	= "-open"
-		,	_closed	= "-closed"
-		,	_slide	= "-sliding"
-		,	_hover	= "-hover " // NOTE the trailing space
-		,	_state	= $El.hasClass(root+_closed) ? _closed : _open
-		,	_alt	= _state === _closed ? _open : _closed
-		,	classes = (root+_hover) + (root+_pane+_hover) + (root+_state+_hover) + (root+_pane+_state+_hover)
-		;
-		if (allStates) // when 'removing' classes, also remove alternate-state classes
-			classes += (root+_alt+_hover) + (root+_pane+_alt+_hover);
-
-		if (type=="resizer" && $El.hasClass(root+_slide))
-			classes += (root+_slide+_hover) + (root+_pane+_slide+_hover);
-
-		return $.trim(classes);
-	}
-,	addHover	= function (evt, el) {
-		var $E = $(el || this);
-		if (evt && $E.data("layoutRole") === "toggler")
-			evt.stopPropagation(); // prevent triggering 'slide' on Resizer-bar
-		$E.addClass( getHoverClasses($E) );
-	}
-,	removeHover	= function (evt, el) {
-		var $E = $(el || this);
-		$E.removeClass( getHoverClasses($E, true) );
-	}
-
-,	onResizerEnter	= function (evt) { // ALSO called by toggler.mouseenter
-		if ($.fn.disableSelection)
-			$("body").disableSelection();
-	}
-,	onResizerLeave	= function (evt, el) {
-		var
-			e = el || this // el is only passed when called by the timer
-		,	pane = $(e).data("layoutEdge")
-		,	name = pane +"ResizerLeave"
-		;
-		timer.clear(pane+"_openSlider"); // cancel slideOpen timer, if set
-		timer.clear(name); // cancel enableSelection timer - may re/set below
-		// this method calls itself on a timer because it needs to allow
-		// enough time for dragging to kick-in and set the isResizing flag
-		// dragging has a 100ms delay set, so this delay must be >100
-		if (!el) // 1st call - mouseleave event
-			timer.set(name, function(){ onResizerLeave(evt, e); }, 200);
-		// if user is resizing, then dragStop will enableSelection(), so can skip it here
-		else if (!state[pane].isResizing && $.fn.enableSelection) // 2nd call - by timer
-			$("body").enableSelection();
-	}
-
-/*
- * ###########################
- *   INITIALIZATION METHODS
- * ###########################
- */
-
-	/**
-	* Initialize the layout - called automatically whenever an instance of layout is created
-	*
-	* @see  none - triggered onInit
-	* @return  mixed	true = fully initialized | false = panes not initialized (yet) | 'cancel' = abort
-	*/
-,	_create = function () {
-		// initialize config/options
-		initOptions();
-		var o = options;
-
-		// TEMP state so isInitialized returns true during init process
-		state.creatingLayout = true;
-
-		// init plugins for this layout, if there are any (eg: stateManagement)
-		runPluginCallbacks( Instance, $.layout.onCreate );
-
-		// options & state have been initialized, so now run beforeLoad callback
-		// onload will CANCEL layout creation if it returns false
-		if (false === _runCallbacks("onload_start"))
-			return 'cancel';
-
-		// initialize the container element
-		_initContainer();
-
-		// bind hotkey function - keyDown - if required
-		initHotkeys();
-
-		// bind window.onunload
-		$(window).bind("unload."+ sID, unload);
-
-		// init plugins for this layout, if there are any (eg: customButtons)
-		runPluginCallbacks( Instance, $.layout.onLoad );
-
-		// if layout elements are hidden, then layout WILL NOT complete initialization!
... 56372 lines suppressed ...