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/01/30 01:01:44 UTC

[incubator-daffodil-site] 01/02: Add user related pages that were previously stored on the wiki

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

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

commit e27d65bc45b1a03f37bfc21f04797637e434bf2b
Author: Steve Lawrence <sl...@tresys.com>
AuthorDate: Mon Dec 18 11:35:19 2017 -0500

    Add user related pages that were previously stored on the wiki
    
    Pages this creates:
    - Commmand Line Interface
    - Configuration
    - Eclipse Configuration
    - Frequently Asked Questions
    - Getting Started
    - Interactive Debugger
    - Standard DFDL Layout
    - Unsupported Features & Errata
---
 site/_includes/themes/apache/_navigation.html |   3 +
 site/_layouts/release.html                    |   2 +-
 site/_plugins/Features.rb                     |  35 +++
 site/assets/themes/apache/css/style.css       |  20 ++
 site/cli.md                                   | 370 ++++++++++++++++++++++++++
 site/configuration.md                         | 123 +++++++++
 site/debugger.md                              | 255 ++++++++++++++++++
 site/dfdl-layout.md                           | 166 ++++++++++++
 site/eclipse-configuration.md                 | 110 ++++++++
 site/faq.md                                   | 291 ++++++++++++++++++++
 site/getting-started.md                       |  47 ++++
 site/people.md                                |   2 +-
 site/unsupported.md                           | 232 ++++++++++++++++
 13 files changed, 1654 insertions(+), 2 deletions(-)

diff --git a/site/_includes/themes/apache/_navigation.html b/site/_includes/themes/apache/_navigation.html
index 75ee13f..389183a 100644
--- a/site/_includes/themes/apache/_navigation.html
+++ b/site/_includes/themes/apache/_navigation.html
@@ -18,9 +18,12 @@
             <li id="documentation">
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Docs<b class="caret"></b></a>
               <ul class="dropdown-menu dropdown-left">
+                <li><a href="/getting-started/">Getting Started</a></li>
                 <li><a href="/docs/latest/javadoc/">Java API</a></li>
                 <li><a href="/docs/latest/scaladoc/">Scala API</a></li>
                 <li><a href="/docs/dfdl/">DFDL Specification</a></li>
+                <li><a href="/unsupported/">Unsupported Features</a></li>
+                <li><a href="/faq/">Frequently Asked Questions</a></li>
               </ul>
             </li>
             <li id="community">
diff --git a/site/_layouts/release.html b/site/_layouts/release.html
index 4ac871d..6b4dad4 100644
--- a/site/_layouts/release.html
+++ b/site/_layouts/release.html
@@ -82,6 +82,6 @@ permalink: /release/release-notes-:title
   </div> 
 </div>
 
-<h3>Release Notes</h3>
+<h3 id="release-notes">Release Notes</h3>
 
 {{ content }}
diff --git a/site/_plugins/Features.rb b/site/_plugins/Features.rb
new file mode 100644
index 0000000..10e1e16
--- /dev/null
+++ b/site/_plugins/Features.rb
@@ -0,0 +1,35 @@
+module Jekyll
+  class OkTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+    end
+
+    def render(context)
+      "<i class='glyphicon glyphicon-ok' style='color: #00d000;'></i>"
+    end
+  end
+
+  class ErrorTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+    end
+
+    def render(context)
+      "<i class='glyphicon glyphicon-remove' style='color: #d00000;'></i>"
+    end
+  end
+
+  class WarningTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+    end
+
+    def render(context)
+      "<i class='glyphicon glyphicon-minus' style='color: #efcb00;'></i>"
+    end
+  end
+end
+
+Liquid::Template.register_tag('ok', Jekyll::OkTag)
+Liquid::Template.register_tag('err', Jekyll::ErrorTag)
+Liquid::Template.register_tag('warn', Jekyll::WarningTag)
diff --git a/site/assets/themes/apache/css/style.css b/site/assets/themes/apache/css/style.css
index 96690e0..719febf 100644
--- a/site/assets/themes/apache/css/style.css
+++ b/site/assets/themes/apache/css/style.css
@@ -8,6 +8,16 @@ body {
   font-size: 16px;
 }
 
+/* this makes it so anchors are slightly below the navbar so they
+ * aren't covered up when linked */
+*[id]:before {
+	display:block;
+	content: " ";
+	margin-top: -75px;
+	height: 75px;
+	visibility: hidden;
+}
+
 h1,
 h2,
 h3,
@@ -416,3 +426,13 @@ i.external:before {
 	border-top-right-radius: 0px;
 	border-color: #dddddd;
 }
+
+dd {
+	margin-top: 10px;
+	margin-left: 30px;
+}
+
+dt code {
+	color: inherit;
+	background-color: inherit;
+}
diff --git a/site/cli.md b/site/cli.md
new file mode 100644
index 0000000..1322847
--- /dev/null
+++ b/site/cli.md
@@ -0,0 +1,370 @@
+---
+layout: page
+title: Command Line Interface
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Command Line Interface
+
+The binary Daffodil [release](/release) contain a ``/bin`` directory that contains two scripts: ``daffodil.bat`` for Windows and ``daffodil`` for Linux. These files must be executed on the command line. The general usage is:
+
+    daffodil [GLOBAL_OPTIONS] <subcommand> [SUBCOMMAND_OPTIONS]
+
+The available subcommands are: [parse](#parse-subcommand), [unparse](#unparse-subcommand), [save-parser](#save-parser-subcommand), [test](#test-subcommand), and [performance](#performance-subcommand).
+
+### Environment Variables
+
+Setting environment variables may be necessary to allow for importing/includes to work and when running TDML files.
+
+``DAFFODIL_CLASSPATH``
+
+   : The Daffodil CLI will look on the classpath for includes and imports, jars containing schemas, and some TDML files. To define additional directories specific to Daffodil to look for files, set the ``DAFFODIL_CLASSPATH`` environment variable, for example:
+
+         $ export DAFFODIL_CLASSPATH="/path/to/imports/:/path/to/includes/"
+
+     In addition to defining directories to search for imports and includes, you can add a CatalogManager.properties file to the ``DAFFODIL_CLASSPATH`` to direct Daffodil to a relative path location of a user XML Catalog.
+
+``DAFFODIL_JAVA_OPTS``
+
+   : If you need to specify java options specific to Daffodil, you can set the ``DAFFODIL_JAVA_OPTS`` environment variable. If not specified, the ``JAVA_OPTS`` environment variable will be used. If that is not specified, reasonable defaults for Daffodil will be used.
+
+### Global Options
+
+``-d, --debug [FILE]``
+
+   : Enable the interactive debugger. See the [Interactive Debugger](/debugger) documentation for more information.
+
+     The optional ``FILE`` argument contains a list of debugger commands that are provided to the debugger as they were typed by the user.
+
+     This option cannot be used with the ``--trace`` option.
+
+``-t, --trace``
+
+   : Enable a trace mode. This mode prints out helpful information during every stage of parsing.
+
+     This option cannot be used with the ``--debug`` option.
+
+``-v, --verbose``
+
+   : Enable verbose mode and increment verbosity level. Each additional v provides a new level of information.
+
+``--version``
+
+   : Display the version of Daffodil.
+
+``--help``
+
+   : Display help message.
+
+### Parse Subcommand
+
+Parse a file, using either a DFDL schema or a saved parser.
+
+#### Usage
+
+    daffodil parse (-s <schema> [-r [{<namespace>}]<root>] [-p <path>] | -P <parser>)
+                   [-D[{namespace}]<variable>=<value>...] [-T<tunable>=<value>] [-o <output>]
+                   [-V [mode]] [-c <file>] [-I <infoset_type>] [infile]
+
+#### Options
+
+``-c, --config FILE``
+
+   : XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format.
+
+``-D [{NAMESPACE}]VARIABLE=VALUE``
+
+   : Variables to be used when parsing. ``VARIABLE`` can be prefixed with ``{NAMESPACE}`` to define which namespace the variable belongs in, for example:
+
+     ```-D{http://example.com}var1=var```
+
+``-I, --infoset-type TYPE``
+
+   : Infoset type to output. ``TYPE`` must be one of ``xml``, ``scala-xml``, ``json``, ``jdom``, or ``null``. Defaults to ``xml`` if not provided.
+
+``-o, --output FILE``
+
+   : Write output to a given ``FILE``. If the option is not given or ``FILE`` is -, output is written to standard out.
+
+``-P, --parser FILE``
+
+   : Use a previously saved parser, created using the save-parser subcommand. This option cannot be used with the ``--schema`` option or with the ``--validate`` option set to ``on``.
+
+``-p, --path PATH``
+
+   : The path to the node from the root element to create the parser from.
+
+``-r, --root [{NAMESPACE}]ROOT``
+
+   : The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with ``--schema``. This requires the ``--schema`` option to be defined. If not supplied, the first element of the schema defined with ``--schema`` is used. A namespace may be specified by prefixing ``ROOT`` with ``{NAMESPACE}``.
+
+``-s, --schema FILE``
+
+   : The annotated DFDL schema to use to create the parser. This option cannot be used with the ``--parser`` option.
+
+``-T TUNABLE=VALUE``
+
+   : Modify Daffodil configuration options to change parsing behavior. See Tunable Parameters for the list of tunable parameters.
+
+``-V, --validate [MODE]``
+
+   : The validation mode. ``MODE`` must be one of ``on``, ``limited`` or ``off``. If ``MODE`` is not provided, defaults to ``on``. If ``--validate`` is not provided, defaults to ``off``. ``MODE`` cannot be ``on`` when used with the ``--parser`` option.
+
+``[INFILE]``
+
+   : Input file to parse. If not specified, or is a value of -, reads from standard in. If supplied, this must be the last option on the command line.
+
+``--help``
+
+   : Display help message.
+
+#### Example
+
+    $ daffodil parse -s csv.dfdl.xsd test_file.csv
+
+### Unparse Subcommand
+
+Unparse an infoset file, using either a DFDL schema or a saved parser.
+
+#### Usage
+
+    daffodil unparse (-s <schema> [-r [{<namespace>}]<root>] [-p <path>] | -P <parser>)
+                     [-D[{<namespace>}]<variable>=<value>...] [-T<tunable>=<value>] [-o <output>]
+                     [-V [mode]] [-c <file>] [-I <infoset_type>] [infile]
+
+#### Options
+
+``-c, --config FILE``
+
+   : XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format.
+
+``-D [{NAMESPACE}]VARIABLE=VALUE``
+
+   : Variables to be used when unparsing. ``VARIABLE`` can be prefixed with ``{NAMESPACE}`` to define which namespace the variable belongs in, for example:
+
+     ```-D{http://example.com}var1=var```
+
+``-I, --infoset-type TYPE``
+
+   : Infoset type to unparse. ``TYPE`` must be one of ``xml``, ``scala-xml``, ``json``, or ``jdom``. Defaults to ``xml`` if not provided.
+
+``-o, --output FILE``
+
+   : Write output to a give ``FILE``. If the option is not given or ``FILE`` is -, output is written to standard out.
+
+``-P, --parser FILE``
+
+   : Use a previously saved parser, created using the save-parser subcommand. This option cannot be used with the ``--schema`` option or with the ``--validate`` option set to ``on``.
+
+``-p, --path PATH``
+
+   : The path to the node from the root element to create the parser from.
+
+``-r, --root [{NAMESPACE}]ROOT``
+
+   : The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with ``--schema``. This requires the ``--schema`` option to be defined. If not supplied, the first element of the schema defined with ``--schema`` is used. A namespace may be specified by prefixing the ``ROOT`` with {NAMEAPSCE}.
+
+``-s, --schema FILE``
+
+   : The annotated DFDL schema to use to create the parser. This option cannot be used with the ``--parser`` option.
+
+``-T TUNABLE=VALUE``
+
+   : Modify Daffodil configuration options to change parsing behavior. See Tunable Parameters for the list of tunable parameters.
+
+``-V, --validate [MODE]``
+
+  : The validation mode. ``MODE`` must be one of ``on``, ``limited`` or ``off``. If ``MODE`` is not provided, defaults to ``on``. If ``--validate`` is not provided, defaults to ``off``. ``MODE`` cannot be ``on`` when used with the ``--parser`` option.
+
+``[INFILE]``
+
+   : Input file to unparse. If not specified, or is a value of -, reads from standard in. If supplied, this must be the last option on the command line.
+
+``--help``
+   : Display help message.
+
+#### Example
+
+    $ daffodil unparse -s csv.dfdl.xsd test_file.infoset
+
+### Save Parser Subcommand
+
+Save a parser that can be reused for parsing and unparsing.
+
+#### Usage
+
+    daffodil save-parser -s <schema> [-r [{namespace}]<root>] [-p <path>] [outfile]
+
+#### Options
+
+``-c, --config FILE``
+
+   : XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format.
+
+``-D [{NAMESPACE}]VARIABLE=VALUE``
+
+   : Variables to be used when parsing. ``VARIABLE`` can be prefixed with ``{NAMESPACE}`` to define which namespace the variable belongs in, for example:
+
+     ```-D{http://example.com}var1=var```
+
+``-p, --path PATH``
+
+   : The path to the node from the root element to create the parser from.
+
+``-r, --root [{NAMESPACE}]ROOT``
+
+   : The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with ``--schema``. This requires the ``--schema`` option to be defined. If not supplied, the first element of the schema defined with ``--schema`` is used. A namespace may be specified by prefixing ``ROOT`` with ``{NAMESPACE}``.
+
+``-s, --schema FILE``
+
+   : The annotated DFDL schema to use to create the parser. This option must be supplied.
+
+``-T TUNABLE=VALUE``
+
+   : Modify Daffodil configuration options to change parsing behavior. See Tunable Parameters for the list of tunable parameters.
+
+``-V, --validate MODE``
+
+   : The validation mode. ``MODE`` must be either ``limited`` or ``off``. ``MODE`` is required. If ``--validate`` is not present, defaults to ``off``. ``MODE`` cannot be set to ``on`` as possible in other commands.
+
+``[OUTFILE]``
+
+   : Write the parser to a give file. If the option is not given or is -, output is written to standard out. If supplied, this must be the last option on the command line.
+
+``--help``
+
+   : Display help message.
+
+#### Example
+
+    $ daffodil save-parser -s csv.dfdl.xsd csv_parser.xml
+
+### Test Subcommand
+
+List or execute tests in a TDML file.
+
+#### Usage
+
+    daffodil test [-l] [-r] [-i] <tdmlfile> [testname...]
+
+#### Options
+
+``-i, --info``
+
+   : Increment test result information output level, one level for each occurrence of -i.
+
+``-l, --list``
+
+   : Show names and descriptions in a TDML file instead of running them.
+
+``-r, --regex``
+
+   : Treat ``TESTNAME``s as regular expressions.
+
+``TDMLFILE``
+
+   : Test Data Markup Language (TDML) file.
+
+``[TESTNAME...]``
+
+   : Name of one or more test case in the TDML file. If not given, all tests in ``TDMLFILE`` are run.
+
+``--help``
+
+   : Display help message.
+
+#### Example
+
+    $ daffodil test csv.tdml
+
+### Performance Subcommand
+
+Run a performance test (parse or unparse), using either a DFDL schema or a saved parser
+
+#### Usage
+
+    daffodil performance (-s <schema> [-r [{namespace}]<root>] [-p <path>] |  -P <parser)
+                         [-u] [-V[mode]] [-N <number>] [-t <threads>]
+                         [-D[{namespace}]<variable>=<value>] [-I <infoset_type>] <infile>
+
+#### Options
+
+``-c, --config FILE``
+
+   : XML file containing configuration items, such as external variables or Daffodil tunables. See  Configuration File for details on the file format.
+
+``-D [{NAMESPACE}]VARIABLE=VALUE``
+
+   : Variables to be used when parsing. ``VARIABLE`` can be prefixed with ``{NAMESPACE}`` to define which namespace the variable belongs in, for example:
+
+     ```-D{http://example.com}var1=var```
+
+``-I, --infoset-type TYPE``
+
+   : Infoset type to parse/unparse. ``TYPE`` must be one of ``xml``, ``scala-xml``, ``json``, ``jdom``, or ``null``. Defaults to ``xml`` if not provided. Note that ``null`` is not valid if the ``--unparse`` option is provided.
+
+``-N, --number NUMBER``
+
+   : Total number of files to process. Defaults to 1.
+
+``-P, --parser FILE``
+
+   : Use a previously saved parser, created using the save-parser subcommand. This option cannot be used with the ``--schema`` option or with the ``--validate`` option set to ``on``.
+
+``-p, --path PATH``
+
+   : The path to the node from the root element to create the parser from.
+
+``-r, --root [{NAMESPACE}]ROOT``
+
+   : The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with ``--schema``. This requires the ``--schema`` option to be defined. If not supplied, the first element of the schema defined with ``--schema`` is used. A namespace may be specified by prefixing ``ROOT`` with ``{NAMESPACE}``.
+
+``-s, --schema FILE``
+
+   : The annotated DFDL schema to use to create the parser. This option cannot be used with the ``--parser`` option.
+
+``-t, --threads THREADS``
+
+   : The number of threads to use. Defaults to 1.
+
+``-T TUNABLE=VALUE``
+
+   : Modify Daffodil configuration options to change processing behavior. See Tunable Parameters for the list of tunable parameters.
+
+``-u, --unparse``
+
+   : Perform unparse instead of parse for performance.
+
+``-V, --validate [MODE]``
+
+   : The validation mode. ``on``, ``limited`` or ``off``. If ``MODE`` is not provided, defaults to ``on``. If ``--validate`` is not provided, defaults to ``off``. ``MODE`` cannot be ``on`` when used with the ``--parser`` option.
+
+``[INFILE]``
+
+   : Input file or directory containing files to process
+
+``--help``
+
+   : Display help message.
+
+#### Example
+
+    $ daffodil performance -s csv.dfdl.xsd -N 1000 -t 5 test_file.csv
diff --git a/site/configuration.md b/site/configuration.md
new file mode 100644
index 0000000..8cb469d
--- /dev/null
+++ b/site/configuration.md
@@ -0,0 +1,123 @@
+---
+layout: page
+title: Configuration
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Configuration
+
+Daffodil has the capability to read in parameters via an external XML file, defined by the [dafext.xsd](https://github.com/apache/incubator-daffodil/blob/master/daffodil-propgen/src/main/resources/edu/illinois/ncsa/daffodil/xsd/dafext.xsd) schema. Below are the parameters that can be defined.
+
+### External Variables
+
+External variables can be defined using the ``externalVariablesBindings`` tag. For example, the following configuration file defines two variables, ``var1`` and ``var2``, in the ``http://example.com`` namespace.
+
+``` xml
+<?xml version="1.0" encoding="UTF-8"?>
+<dfdlConfig xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ex="http://example.com">
+  <externalVariableBindings>
+    <bind name="ex:var1">-9</bind>
+    <bind name="ex:var2">Foo</bind>
+  </externalVariableBindings>
+</dfdlConfig>
+```
+
+The following defined in a DFDL schema would allow the external variables to be set or overridden:
+
+``` xml
+<dfdl:defineVariable name="var1" external="true" type="xsd:int">1</dfdl:defineVariable>
+<dfdl:defineVariable name="var2" external="true" type="xsd:string">Bar</dfdl:defineVariable>
+```
+
+### Tunable Parameters
+
+Tunable parameters can be modified to change Daffodil schema compilation and data parsing properties. For example, the following sets the ``maxOccursBounds`` tunable to 1024:
+
+``` xml
+<?xml version="1.0" encoding="UTF-8"?>
+<dfdlConfig xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ex="http://example.com">
+  <tunables>
+    <maxOccursBounds>1024</maxOccursBounds>
+  </tunables>
+</dfdlConfig>
+```
+
+Below is a description of the available tunable parameters:
+
+``generatedNamespacePrefixStem``
+
+   : If elementFormDefault is qualified, but no prefix is associated with the targetNamespace, a prefix will be created using this value, with numbers appended if necessary to ensure uniqueness. Defaults to "tns".
+
+``inputFileMemoryMapLowThreshold``
+
+   : In certain I/O optimized situations (text-only, encodingErrorPolicy='replace', fixed-width encoding) input files larger than this will be mmapped. Input files smaller than this will be simply read using ordinary I/O (because for small files that is just faster). This exists because mmap is more expensive than ordinary I/O for small files. Defaults to 225.
+
+``maxBinaryDecimalVirtualPoint``
+
+   : An upper limit on the value of the dfdl:binaryDecimalVirtualPoint property. Defaults to 200.
+
+``maxFieldContentLengthInBytes``
+
+   : A maximum limit for various daffodil I/O properties, including the maximim size of a simple element and maximum regular expression characters to match. Defaults to 220.
+
+``maxLengthForVariableLengthDelimiterDisplay``
+
+   : When unexpected text is found where a delimiter is expected, this is the maximum number of bytes (characters) to display when the expected delimiter is a variable length delimiter. Defaults to 10.
+
+``maxOccursBounds``
+
+   : A maximum limit for the number of repeats of array elements. Defaults to 1024.
+
+``maxSkipLengthInBytes``
+
+   : A maximum limit for the number of bytes that can be skipped in a skip region. Defaults to 1024.
+
+``minBinaryDecimalVirtualPoint``
+
+   : A lower limit on the value of the dfdl:binaryDecimalVirtualPoint property. Defaults to -200.
+
+``parseUnparsePolicy``
+
+   : Whether to compile a schema to support parsing ("parseOnly"), unparsing ("unparseOnly"), both parsing and unparsing ("both"), or to use the daf:parseUnparsePolicy property from the root node ("schema"). Defaults to "both".
+
+``requireBitOrderProperty``
+
+   : If true, require that the bitOrder property is specified. If false, use a default value for bitOrder if not defined in a schema. Defaults to false.
+
+``requireEncodingErrorPolicyProperty``
+
+   : If true, require that the encodingErrorPolicy property is specified. If false, use a default value if not defined in a schema. Defaults to false.
+
+``unqualifiedPathStepPolicy``
+
+   : Specified how unqualified path steps are resolved. Defaults to ``noNamespace``. Value values are:
+    
+     ``noNamespace``
+
+        : Unqualified path steps remain unqualified and will only match elements in NoNamespace. A prefix must be provided to match namespaced elements.
+
+     ``defaultNamespace``
+
+        : Unqualified path steps will always use the default namespace. If a default namespace is defined, it is not possible to match a NoNamespace element with this policy. Because of this, this may not work well with elementFormDefault="unqualified".
+
+     ``preferDefaultNamespace``
+
+        : Attempt to use the default namespace to resolve an unqualified path step. If that fails to match an element, then try to resolve using NoNamespace.
diff --git a/site/debugger.md b/site/debugger.md
new file mode 100644
index 0000000..1ea2f2b
--- /dev/null
+++ b/site/debugger.md
@@ -0,0 +1,255 @@
+---
+layout: page
+title: Interactive Debugger
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Interactive Debugger
+
+The Daffodil [Command Line Interface](/cli) (CLI) comes with a built-in interactive debugger that pauses parsing/unparsing and allows for user inspection of some internal state. To start Daffodil in debugger mode, provide the global ``--debug`` option, for example:
+
+    daffodil --debug parse --schema schema.dfdl.xsd input.dat
+
+Enabling the debugger displays a ``(debug)`` prompt, at which point various commands can be entered to control parsing and inspect Daffodil state. Note that you can optionally provide a file to the ``--debug`` option. Each line in the file is provided to the debugger as if it were typed by the user. Below is the list of commands accepted by the debugger and their descriptions.
+
+``break <element_id>``
+
+   : Create a breakpoint, causing the debugger to stop when the element with the ``<element_id>`` name is created.
+
+         break foo
+
+     Abbreviation: ``b``
+
+``clear``
+
+   : Clear the screen.
+
+   : Abbreviation: ``c``
+
+``complete``
+
+   : Continue parsing the input data until parsing is complete. All breakpoints are ignored.
+
+   : Abbreviation: ``comp``
+
+``condition <breakpoint_id> <dfdl_expression>``
+
+   : Set a condition on a specified breakpoint. When a breakpoint is encountered, the debugger only pauses if the DFDL expression evaluates to ``true``. If the result of the DFDL expressions is not a boolean value, it is treated as false.
+
+   : Abbreviation: ``cond``
+
+         condition 1 dfdl:occursIndex() eq 3
+
+``continue``
+
+   : Continue parsing the input data until a breakpoint is encountered. At which point, pause parsing and display a debugger console to the user.
+
+   : Abbreviation: ``c``
+
+``delete <type> <id>``
+
+   : Remove a breakpoint or display. Valid values for ``<type>`` are ``breakpoint`` and ``display``.
+
+   : Abbreviation: ``d``
+
+         delete breakpoint 1
+         delete display 1
+
+``disable <type> <id>``
+
+   : Disable a breakpoint or display. Valid values for ``<type>`` are ``breakpoint`` and ``display``.
+
+   : Abbreviation: ``dis``
+
+         disable breakpoint 1
+         disable display 1
+
+``display <debugger_command>``
+
+   : Execute a debugger command every time a debugger console is displayed to the user.
+
+   : Abbreviation: ``di``
+
+         display info infoset
+
+``enable <type> <id>``
+
+   : Enable a breakpoint or display. Valid values for ``<type>`` are ``breakpoint`` and ``display``.
+
+   : Abbreviation: ``e``
+
+         enable breakpoint 1
+         enable display 1
+
+``eval <dfdl_expression>``
+
+   : Evaluate a DFDL expression. If the expression evaluates to a complex element, then the XML representation for the complex element is displayed. If the expression evaluates to a simple type, then the value of the simple type is display.
+
+   : Abbreviation: ``ev``
+
+         eval dfdl:occursIndex()
+         eval /ex:file/line[1]
+
+``help [command]``
+
+   : Display help. If a command is given, display help information specific to that command and its subcommands.
+
+   : Abbreviation: ``h``
+
+``history [outfile]``
+
+   : Display the history of commands. If an argument is given, write the history to the specified file rather then printing it to the screen.
+
+   : Abbreviation: ``hi``
+
+``info <item>...``
+
+   : Print internal information to the console. ``<item>`` can be specified multiple times to display multiple pieces of information.
+
+   : Abbreviation: ``i``
+
+         info data infoset
+
+     The valid items are:
+
+     ``arrayIndex``
+
+     : Display the current array limit. Abbreviation: ``ai``
+
+     ``bitLimit``
+
+     : Display the current bit limit. Abbreviation: ``bl``
+
+     ``bitPosition``
+
+     : Display the current bit position. Abbreviation: ``bp``
+
+     ``breakpoints``
+
+     : Display the list of breakpoints. Abbreviation: ``b``
+
+     ``childIndex``
+
+     : Display the child index. Abbreviation: ``ci``
+
+     ``data``
+
+     : Display the input data. Abbreviation: ``d``
+
+     ``delimiterStack``
+
+     : Display the current delimiter stack. Abbreviation: ``ds``
+
+     ``diff``
+
+     : Display the differences from the previous state.
+
+     ``discriminator``
+
+     : Display whether or not a discriminator is set. Abbreviation: ``dis``
+
+     ``displays``
+
+     : Display the current ``display`` expressions. Abbreviation: ``di``
+
+     ``foundDelimiter``
+
+     : Display the most recently found delimiter. Abbreviation: ``fd``
+
+     ``groupIndex``
+
+     : Display the current group index. Abbreviation: ``gi``
+
+     ``infoset``
+
+     : Display the current infoset. Abbreviation: ``i``
+
+     ``occursBounds``
+
+     : Display the current occurs bounds. Abbreviation: ``ob``
+
+     ``parser``
+
+     : Display the current parser. Abbreviation: ``p``
+
+     ``path``
+
+     : Display the current schema component designator/path.
+
+     ``unparser``
+
+     : Display the current unparser. Abbreviation: ``u``
+
+``quit``
+
+   : Immediately abort all processing.
+
+   : Abbreviation: ``q``
+
+``set <setting> <value>``
+   : Change a debugger setting.
+
+         set dataLength -1
+         set wrapLength 50
+         set removeHidden true
+
+     Valid settings are:
+
+     ``breakOnFailure <boolean>``
+
+        : Set whether or not the debugger should break on failures. If set to ``false`` the normal processing occurs. If set to ``true``, any errors cause a break. Note that due to the backtracking behavior, not all failures are fatal. Defaults to ``false``.
+
+     ``breakOnlyOnCreation <boolean>``
+
+        : Set whether or not breakpoints should only be evaluated on element creation. Must be either ``true``/``false`` or ``1``/``0``. If ``true``, breakpoints only stop on element creation. If ``false``, breakpoints stop anytime a parser interacts with an element. Defaults to ``true``.
+
+     ``dataLength <integer>``
+
+        : Set the number of bytes to display when displaying input data. If negative, display all input data. This only affects the ``info data`` command. Defaults to ``70``.
+
+     ``infosetLines <integer>``
+
+        : Set the maximum number of lines to display when displaying the infoset. This only affects the ``info infoset`` command. This shows the last number of lines of the infoset. If the number is less than or equal to zero, the entire infoset is printed. Defaults to ``-1``.
+
+     ``removeHidden <boolean>``
+
+        : Set whether or not hidden elements (e.g through the use of dfdl:hiddenGroupRef) should be displayed. This effects the ``eval`` and ``info infoset`` commands. Must be either ``true``/``false`` or ``1``/``0``. Defaults to ``false``.
+
+     ``representation <string>``
+
+        : Set the output when displaying data. Must be either ``text` or ``binary``. Defaults to ``text``.
+
+     ``wrapLength <integer>``
+
+        : Set the number of characters at which point output wraps. This only affects the ``info data`` and ``info infoset`` commands. A length less than or equal to zero disables wrapping. Defaults to ``80``.
+
+
+step
+
+   : Perform a single parse action, pause parsing, and display a debugger prompt.
+
+   : Abbreviation: ``s``
+
+trace
+
+   : Continue parsing the input data until a breakpoint is encountered, while running display commands after every parse step. When a breakpoint is encountered, pause parsing and display a debugger console to the user.
+
+   : Abbreviation: ``t``
diff --git a/site/dfdl-layout.md b/site/dfdl-layout.md
new file mode 100644
index 0000000..e75b613
--- /dev/null
+++ b/site/dfdl-layout.md
@@ -0,0 +1,166 @@
+---
+layout: page
+title: Standard DFDL Schema Project Layout
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Standard DFDL Schema Project layout
+
+There is a specific way of organizing a DFDL schema project that has been found to be helpful. It uses specific directory naming conventions and tree structure to manage name conflicts in a manner similar to how Java package names * correspond to directory names. This set of conventions provides a number of benefits:
+
+* No name conflicts or ambiguity on classpath if multiple DFDL schemas are used together
+* You can copy multiple DFDL schemas into one directory tree and there will be no conflicts of file names
+* sbt can be used to
+    * Package the schema into a jar, which can then be on a classpath, become part of a larger application, etc.
+    * Auto-download all dependencies of the schema, including Daffodil itself.
+    * Run a suite of tests via 'sbt test'
+    * Publish a local version of the schema for use in other projects that also follow this layout.
+* Eclipse IDE for development and test of the schema. Multiple such schemas all work together without conflict in the IDE.
+* Encourages organizing DFDL schemas into reusable libraries. 
+    * A DFDL schema project need not define a whole data format. It can define a library of pieces to be included/imported by other formats.
+
+These conventions are actually usable for regular XML-schema projects, that is, they're not really DFDL-specific conventions. They're general conventions for organizing projects so as to achieve the above benefits.
+
+### Conventions
+
+We're using Apache (apache.org) here as an example. Substitute your organization's details. Let's assume the DFDL schema contains two files named main.dfdl.xsd, and format.dfdl.xsd, and that our format is named RFormat.
+
+The standard file tree would be:
+
+    RFormat/
+    ├── src/
+    │   ├── main/
+    │   │   └── resources/
+    │   │       └── org/
+    │   │           └── apache/
+    │   │               └── RFormat/
+    │   │                   ├── xsd/
+    │   │                   │   ├── main.dfdl.xsd    - main DFDL schema file
+    │   │                   │   └── format.dfdl.xsd  - DFDL schema file imported/included from main
+    │   │                   └── xsl/
+    │   │                       └── xforms.xsl       - resources other than XSD go in other directories
+    │   └── test/
+    │       ├── resources/
+    │       │   └── org/
+    │       │       └── apache/
+    │       │           └── RFormat/
+    │       │               └── tests1.tdml    - TDML test files
+    │       └── scala/
+    │           └── org/
+    │               └── apache/
+    │                   └── RFormat/
+    │                       └── Tests1.scala   - Scala test driver file
+    │
+    ├── build.sbt    - simple build tool (sbt) specification file. Edit to change version of Daffodil
+    │                  needed, or versions of other DFDL schemas needed
+    ├── README.md    - Documentation about the DFDL schema in Markdown file format
+    ├── .classpath   - Eclipse classpath file (optional)
+    ├── .project     - Eclipse project file (optional)
+    └── .gitignore   - Git revision control system 'ignore' file (should contain 'target' and
+                       'lib_managed' entries)
+
+### build.sbt
+
+Use the below template for the build.sbt file:
+
+``` scala
+name := "dfdl-RFormat"
+ 
+organization := "org.apache"
+ 
+version := "0.0.1"
+ 
+scalaVersion := "2.11.8"
+ 
+crossPaths := false
+ 
+testOptions in ThisBuild += Tests.Argument(TestFrameworks.JUnit, "-v")
+ 
+resolvers in ThisBuild ++= Seq(
+  "NCSA Sonatype Releases" at "https://opensource.ncsa.illinois.edu/nexus/content/repositories/releases",
+  "NCSA Sonatype Snapshots" at "https://opensource.ncsa.illinois.edu/nexus/content/repositories/snapshots"
+)
+ 
+libraryDependencies in ThisBuild := Seq(
+  "edu.illinois.ncsa" %% "daffodil-tdml" % "2.0.0" % "test"
+  "junit" % "junit" % "4.11" % "test",
+  "com.novocode" % "junit-interface" % "0.10" % "test",
+)
+```
+
+Edit the version of daffodil-tdml above to match the version you are using. 
+
+### Eclipse IDE
+
+If you organize your DFDL schema project using the above conventions, and then run ``sbt compile``, the ``lib_managed`` directory will be populated. Then if you create a new Eclipse scala project from the directory tree, Eclipse will see the ``lib_managed`` directory and construct a classpath containing all those jars.
+
+### XSD Conventions
+
+DFDL schemas should have the ``.dfdl.xsd`` suffix to distinguish them from ordinary XML Schema files.
+
+A DFDL schema should have a target namespace.
+
+Stylistically, the XSD ``elementFormDefault="unqualified"`` is the preferred style for DFDL schemas.
+
+### Using a DFDL Schema
+
+The ``xs:include`` or ``xs:import`` elements of a DFDL Schema can import/include a DFDL schema that follows these conventions like this:
+
+``` xml
+<xs:import namespace="urn:tresys.com/RFormat" schemaLocation="com/tresys/RFormat/xsd/main.dfdl.xsd"/>
+```
+
+The above is for using a DFDL schema as a library, from another different DFDL schema. 
+
+Within a DFDL schema, one DFDL schema file can reference another peer file that appears in the same directory (the src/main/resources/.../xsd directory) via:
+
+``` xml
+<xs:include schemaLocation="format.dfdl.xsd"/>
+```
+
+That is, peer files need not carry the long ``com/tresys/RFormat/xsd/`` prefix that makes the reference globally unique.
+
+However, if one schema wants to include another different schema, then this standard way of organizing schema projects ensures that when packaged into jar files, the ``/src/main/resources`` directory contents are at the "root" of the jar file so that the ``schemaLocation`` of the ``xs:import`` or ``xs:include`` containing the fully qualified path (``com/tresys/RFormat/xsd/main.dfdl.xsd``) will be found on the ``CLASSPATH`` unambiguously. This convention is what allows the schema files th [...]
+
+### Git Revision Control
+
+You don't have to use Git version control, but many people do, and github.com is one of the reasons for this popularity.
+
+Each DFDL schema should have its own Git repository if it is going to be revised independently. We encourage users to join the [DFDLSchemas](http://dfdlschemas.github.io/) project on github and create repositories and publish schemas for any publicly-available formats there. For other formats that are not publicly available, one may want to put a placeholder for them on DFDLSchemas anyway (as IBM has done for some formats like Swift-MT.)
+
+### Jar File Packaging
+
+A DFDL schema using the recommended file structure as described here, can be packaged into a jar for convenient import/include from other schemas.
+
+The sbt command does all the work:
+
+    sbt package      # creates jar
+    sbt publishLocal # puts it into local .ivy2 cache where other maven/sbt will find it.
+
+The resulting jar has the src/main/resources directory in it at the root of the jar. If this jar is on the classpath, then other schemas containing XSD import or include statements will search the jar with the schema location.
+
+That enables a different schema's ``build.sbt`` to contain a library dependency on our hypthetical dfdl-RFormat schema using a dependency like this:
+
+```
+"org.apache" % "dfdl-RFormat" % "0.0.1" % "test"
+```
+
+That will result in the contents of the ``src/main/resources`` directory above being on the classpath. XSD include and import statements search the classpath directories.
diff --git a/site/eclipse-configuration.md b/site/eclipse-configuration.md
new file mode 100644
index 0000000..97c43cc
--- /dev/null
+++ b/site/eclipse-configuration.md
@@ -0,0 +1,110 @@
+---
+layout: page
+title: Eclipse Configuration
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Eclipse Configuration for DFDL Schema Authoring/Editing
+
+The Eclipse IDE can be used to assist a user in the authoring of DFDL schemas. This page contains instructions for setting up the Eclipse Integrated-Development-Environment (IDE), and to configure its XML editing features so that they provide some level of support for authoring DFDL schemas.
+
+DFDL extends a subset of XML Schema. Note however: an XML Schema is an XML document.
+
+Now, turns out there is an XML Schema for DFDL Schemas. It was created by taking the XML Schema for XML Schemas, and subsetting it to just what DFDL uses, and then adding into it the XML Schema for DFDL's annotation objects.
+
+### Installing Eclipse XML Plugin
+
+The XML settings all assume you have installed Eclipse's XML support. If not already installed, the "Eclipse XML Editors and Tools" plugin can be Eclipse's update site.
+
+### Eclipse XML Settings
+
+Following are steps to modify the Eclipse XML settings to aid in the creation of DFDL schemas:
+
+#### Enable Validation of DFDL Files
+
+1. Window > Preferences > Validation
+	1. Turn off XML Schema Validator
+	1. Turn off DTD Validator
+	1. Click the ... settings box to the right of XML Validator
+		1. Select Include Group
+		1. Click Add Rule
+		1. Select File Extension
+		1. Click Next
+		1. Add extension: ``dfdl.xsd``
+		1. Click Finish
+1. Window > Preferences > General > Content Types
+	1. Select Text > XML
+	1. Click Add...
+	1. Set Content type to ``*.dfdl.xsd``
+1. Window > Preferences > XML > XML Files > Editor
+	1. Uncheck Format Comments
+
+If also editing TDML file in Eclipse, repeat the above steps, replacing all instances of ``dfdl.xsd`` with ``tdml``.
+
+#### Add XML Schemas for DFDL to the XML Catalog
+
+Download the following files to a local directory. Alternatively, these files are included in the Daffodil source code in the ``src/main/resources/edu/illinois/ncsa/daffodil/xsd/`` directory in either ``daffodil-lib/`` or ``daffodil-propgen/``.
+
+*  [datatypes.dtd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-lib/src/main/resources/edu/illinois/ncsa/daffodil/xsd/datatypes.dtd)
+*  [tdml.xsd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-lib/src/main/resources/edu/illinois/ncsa/daffodil/xsd/tdml.xsd)
+*  [XMLSchema.dtd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-lib/src/main/resources/edu/illinois/ncsa/daffodil/xsd/XMLSchema.dtd)
+*  [XMLSchema_for_DFDL.xsd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-lib/src/main/resources/edu/illinois/ncsa/daffodil/xsd/XMLSchema_for_DFDL.xsd)
+*  [DFDL_part1_simpletypes.xsd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-propgen/src/main/resources/edu/illinois/ncsa/daffodil/xsd/DFDL_part1_simpletypes.xsd)
+*  [DFDL_part2_attributes.xsd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-propgen/src/main/resources/edu/illinois/ncsa/daffodil/xsd/DFDL_part2_attributes.xsd)
+*  [DFDL_part3_model.xsd](https://raw.githubusercontent.com/apache/incubator-daffodil/master/daffodil-propgen/src/main/resources/edu/illinois/ncsa/daffodil/xsd/DFDL_part3_model.xsd)
+
+Modify the Eclipse settings to reference these files:
+
+1. Windows > Preferences > XML > XML Catalog
+1. For each of the following files, select 'Add..' and provide the location on the 'File System...' or 'Workspace...', along with the key and key type
+
+   <table class="table">
+     <tr>
+       <th>File</th>
+       <th>Key Type</th>
+       <th>Key</th>
+     </tr>
+     <tr>
+       <td>XMLSchema.dtd</td>
+       <td>Public ID</td>
+       <td>-//W3C//DTD XMLSCHEMA 200102//EN</td>
+     </tr>
+     <tr>
+       <td>datatypes.dtd</td>
+       <td>Public ID</td>
+       <td>datatypes</td>
+     </tr>
+     <tr>
+       <td>XMLSchema_for_DFDL.xsd</td>
+       <td>URI</td>
+       <td>http://www.w3.org/2001/XMLSchema</td>
+     </tr>
+     <tr>
+       <td>DFDL_part3_model.xsd</td>
+       <td>URI</td>
+       <td>http://www.ogf.org/dfdl/dfdl-1.0/</td>
+     </tr>
+     <tr>
+       <td>tdml.xsd</td>
+       <td>URI</td>
+       <td>http://www.ibm.com/xmlns/dfdl/testData</td>
+     </tr>
+   </table>
diff --git a/site/faq.md b/site/faq.md
new file mode 100644
index 0000000..4203fab
--- /dev/null
+++ b/site/faq.md
@@ -0,0 +1,291 @@
+---
+layout: page
+title: Frequently Asked Questions
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+<style type="text/css">
+.in, .collapsing {
+	margin-left: 20px;
+}
+.question {
+	cursor: pointer;
+}
+</style>
+
+## Frequently Asked Questions
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: When should I use an XSD facet like maxLength, and when should I use the DFDL length property?
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+Here's part of an example from the DFDL tutorial of a street address:
+
+``` xml
+<xs:element name="houseNumber" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="6"/>
+```
+
+Note that the length of the house number is constrained with DFDL.  XSD can also be used to constrain lengths.
+
+When should you used XSD to do this, and when should you use DFDL?  Should you ever use both? 
+
+You must use the dfdl:length property, because it can't parse the data without it. You may use the XSD facets to check further, and it often makes sense to use both.
+
+Consider
+
+``` xml
+<xs:element name="article" type="xs:string" dfdl:length="{ ../header/articleLength }" dfdl:lengthKind='explicit'/>
+```
+
+Now the length is coming from a field someplace at runtime. Validating that it is within some additional constraints on maxLength might be very valuable. To do that you nave to write the more verbose:
+
+``` xml
+<xs:element name="article" dfdl:length="{ ../header/articleLength }" dfdl:lengthKind='explicit'>
+  <xs:simpleType>
+    <xs:restriction base="xs:string">
+      <xs:maxLength value="140"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:element>
+```
+
+Not too bad actually. And if you can reuse some simple type definitions it's not bad at all.
+
+One further point. Suppose you want to parse the string using the header-supplied length, but it's flat out a parse error if the length turns out to be greater than 140. You can ask the DFDL processor to check the facet maxLength at parse time using an assertion like this:
+
+``` xml
+<xs:element name="article" dfdl:length="{ ../header/articleLength }" dfdl:lengthKind='explicit'>
+  <xs:simpleType>
+    <xs:annotation><xs:appinfo source="http://www.ogf.org/dfdl/dfdl-1.0">
+       <dfdl:assert>{ dfdl:checkConstraints() }</dfdl:assert>
+    </xs:appinfo></xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:maxLength value="140"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:element>
+```
+
+The dfdl:assert statement annotation calls a built-in DFDL function called dfdl:checkConstraints, which tells DFDL to test the facet constraints and issue a parse error if they are not satisfied. This is particularly useful for enumeration constraints where an element value is an identifier of some sort.
+</div>
+
+
+
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: Should I use dfdl:assert to validate while parsing?
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+In general, no. The dfdl:assert statement annotation should be used to guide the parser. It should test things that must be true in order to successfully parse the data and create an Infoset from it.
+
+But, it should not be used to ensure validation of the values of the data elements.
+
+By way of illustrating what not to do, it is tempting to put facet constraints on simple type definitions in your schema, and then use a dfdl:assert like this:
+
+```xml
+<dfdl:assert>{ checkConstraints(.) }</dfdl:assert>
+```
+
+so that the parser will validate as it parses, and will fail to parse values that do not satisfy the facet constraints.
+
+Don't do this. Your schema will not be as useful because it will not be able to be used for some applications, for example, applications that want to accept well-formed, but invalid data and analyze, act,  or report on the invalid aspects.
+
+In some sense, embedding checks like this into a DFDL schema is second-guessing the application's needs, and assuming the application does not even want to successfully parse and create an infoset from data that does not obey the facet constraints.
+</div>
+
+
+
+
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: How do I prevent my DFDL expressions and regular expressions from being modified by my XML editor?
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+Use CDATA with expressions and regular expressions, and generally to stop XML editors from messing with your DFDL schema layouts.
+
+Most XML editors will wrap long lines. So your
+
+``` xml
+<a>foobar</a>
+```
+
+just might get turned into
+
+``` xml
+<a>foobar
+</a>
+```
+
+Now most of the time that is fine. But sometimes the whitespace really matters. One such place is when you type a regular expression. In DFDL this can come up in this way:
+
+``` xml
+<dfdl:assert testKind="pattern"> *</dfdl:assert>
+```
+
+Now the contents of that element is " \*", i.e., a single space, and the "\*" character. That means zero or more spaces in regex language. If you don't want your XML tooling to mess with the whitespace do this instead:
+
+``` xml
+<dfdl:assert testKind="pattern"><![CDATA[ *]]></dfdl:assert>
+```
+
+CDATA informs XML processors that you very much care about this. Any decent XML tooling/editor will see this and decide it cannot line-wrap this or in any way mess with the whitespace. Also useful if you want to write a complex DFDL expression in the expression language, and you want indentation and lines to be respected. Here's an example:
+
+``` xml
+<dfdl:discriminator><![CDATA[{
+    if (daf:trace((daf:trace(../../ex:presenceBit,"presenceBit") = 0),"pbIsZero")) then false()
+    else if
+    (daf:trace(daf:trace(dfdl:occursIndex(),"occursIndex") = 1,"indexIsOne")) then true()
+    else if
+    (daf:trace(daf:trace(xs:int(daf:trace(../../ex:A1[daf:trace(dfdl:occursIndex()-1,"indexMinusOne")],
+                                       "occursIndexMinusOneNode")/ex:repeatBit),
+                       "priorRepeatBit") = 0,
+              "priorRepeatBitIsZero"))
+    then false()
+    else true() 
+}]]></dfdl:discriminator>
+```
+
+If you get done writing something very deeply nested like this (and XPath style languages require this all the time), then you do NOT want anything messing with the whitespace.
+
+About the xml:space='preserve' attribute: According to this thread on the stack overflow web site, xml:space is only about whitespace-only nodes, not nodes that are part whitespace. Within element-only content, the text nodes found between the elements are whitespace-only nodes. Unless you use xml:space='preserve', those are eliminated. None of the above discussion is about whitespace-only nodes. It's about value nodes containing text strings with surrounding whitespace.
+</div>
+
+
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: Why doesn't DFDL allow me to express my format using offsets into a file, instead of lengths?
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+With some study, the DFDL workgroup concluded that these formats nearly always require the full complexity of a transformation system AND a data format description system. DFDL is only about the latter problem.
+
+In other words, it was left out for complexity reasons, not because we didn't think there were examples.
+
+It is a much more complex issue than people think. As we got into it we kept falling down the slippery slope of needing rich transformations to express such things.
+
+We certainly have seen formats where there are a bunch of fields, in the ordinary manner, but instead of expressing their lengths, the forrmat specifies only their starting positions relative to start of record. There are also formats where there are tables of offsets into a subsequent data array.
+
+DFDL requires one to recast such a specification as lengths.
+
+It is not a "either or" scenario where lengths and offsets are equivalent so you can pick one.
+
+Use of lengths is simply a superior and more precise way of expressing the format because use of offsets can obscure aliasing, which is the term for when there are two elements (or more) that describe the same part of the data representation. With lengths, it's clear what every bit means, and that every bit is in fact described or explicitly skipped. You can't just use an offset to skip past a bunch of data leaving it not described at all. You can't have aliasing of the same data.
+
+Aliasing is a difficult issue when parsing. When unparsing it is a nightmare, as it introduces non-determinacy in what the data written actually comes out like. It depends on who writes it last with what alias.
+
+Structures like
+
+    <offset to start><length of thing>
+    <offset to start2><length of thing2>
+    ...
+    <offset to startN><length of thingN>
+    thing
+    thing2
+    ...
+    thingN
+
+So long as the things and the corresponding descriptor pairs are in order, these can be described. The lengths need not even be there as they are redundant. If present they can be checked for validity. Overlap can be checked for and deemed invalid.
+
+But, in DFDL the above *must* be represented as two vectors. One of the offsets table, the other of the things. If you want an array of things and then want DFDL to convert that into the offsets and things separately, well DFDL doesn't do transformations of that sort. Do that first in XSLT or other transformation system when unparsing. When parsing, you first parse with DFDL, then transform the data into the logical single vector using XSLT (or other).
+
+<div class="alert alert-warning">
+XProc is a language for expressing chains of XML-oriented transformations like this. Calabash is an open-source XProc implementation, and the daffodil-calabash-extension provides Daffodil stages that have been created to enable creation of XProc pipelines that glue together transformations like XSLT with DFDL parse/unparse steps. This can be used to create a unit that runs both DFDL and an XSLT together for parse or for unparse (they would be different XSLTs).
+If the things are potentially out of order, especially if the lengths are not stored, but just implied by "from this offset to the start of the next one, whichever one that is", that is simply too complex a transformation for DFDL. 
+</div>
+
+If you think about what is required mentally to decode this efficiently, you must grab all the entries, sort them by offset, and then compute lengths, etc.  Shy of building a real programming language (e.g., XQuery) into DFDL there has to be a limit to what level of complexity we allow DFDL to express directly.   And unparsing is entirely non-deterministic... you have to stage an array/blob filled with fill bytes, write pieces to it one by one, potentially overwriting sections. It's real [...]
+
+There is a sense in which formats expressed as these sorts of "potentially overlapping regions" are simply not adequately specified unless they specify the exact order things are to be written so that the contents of overlap regions is deterministic.
+
+There could be formats where there are offset tables like this, where in principle things could be out of order, or overlapping/aliased, but they simply never are, and allowing them to be is effectively a bad idea as it allows people to do very obscure things - information hiding, polyglot files, etc. PDF is heavily criticized for this. It may be an unstated principle that such formats *do not* do this sort of out-of-order or aliasing stuff.
+
+All that said, practically speaking, people have data with offset tables, and out-of-order might be a possibility that needs to be allowed at least on parsing. So what to do in DFDL?
+
+In this case, DFDL can describe the table of offsets, and a big blob of data. Beyond that something else (e.g., XSLT, or a program) must take over for expressing the sort and extraction of chunks out of the larger blob.
+
+If you think about this, if you want deterministic unparsing behavior, that is what has to be presented to the DFDL unparser anyway, since presenting the resolved content blob means the application has dealt with the order to which the various chunks (which may overlap) have been written.
+</div>
+
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: How can I get strings in the data to become element names?
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+If the data contains tags/strings, and you want those strings to become element names in XML, then you *must* do pass 1 to extract the tag information, use them as element names when you create a DFDL schema dynamically, and then parse the data again with this new specialized DFDL schema.
+
+Or you can parse the data with a generic schema where your tag names will be in element values someplace, and do a transformation outside of DFDL to convert them to element names.
+
+Consider the common "comma separated values" or  CSV formats. If you have
+
+```
+Name, Address, Phone
+Mike, 8840 Standford Blvd\, Columbia MD, 888-888-8888
+```
+
+and you want
+
+``` xml
+<columnNames>
+  <name>Name</name>
+  <name>Address</name>
+  <name>Phone</name>
+</columnNames>
+<row>
+  <col>Mike</col>
+  <col>8840 Standford Blvd, Columbia MD</col>
+  <col>888-888-8888</col>
+</row>
+```
+That's what you would get from a generic CSV DFDL schema. If you want this:
+
+``` xml
+<row>
+  <Name>Mike</Name>
+  <Address>8840 Stanford Blvd, Columbia MD</Address>
+  <Phone>888-888-8888</Phone>
+</row>
+```
+
+That's a specific-to-exactly-these-column-names CSV DFDL schema that is required. If you have lots of files with this exact structure you would create this DFDL schema once.
+
+If you have no idea what CSV is coming at you, but want this sort of XML elements anyway, then you have to generate a DFDL schema on the fly from the data (parse just the headers with a generic DFDL schema first - then use that to create the DFDL schema.
+
+Or you parse using the generic schema, then use XSLT or something to convert the result of the generic parse.
+
+Keep in mind that this problem has little to do with DFDL. Given an XML document like the generic one above, but you didn't want that XML, you wanted the specific style XML. Well you have the same problem. You need to grab the column names first, then transform the data using them as the element names.
+</div>
+
+<!---
+Copy the below snippet and edit to create a new FAQ entry, changing the
+question and answer only. Everything else should remain exactly the same.
+
+{% assign faqNum=faqNum | plus:'1'  %}
+<a class="question" data-toggle="collapse" data-target="#faq{{faqNum}}">
+  Q: Question Goes Here
+</a>
+<div id="faq{{faqNum}}" class="collapse" markdown="1">
+  Answer goes here using markdown
+</div>
+-->
diff --git a/site/getting-started.md b/site/getting-started.md
new file mode 100644
index 0000000..8f619fe
--- /dev/null
+++ b/site/getting-started.md
@@ -0,0 +1,47 @@
+---
+layout: page
+title: Getting Started
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+## Getting Started
+
+### Using Daffodil
+
+Daffodil has two methods in which it can be invoked:
+
+* Via the [Command Line Interface](/cli). Capabilities include parsing, unaparsing, an interactive debugger, and more.
+* Programmatically via the [Java API](/docs/latest/javadoc) or [Scala API](/docs/latest/scaladoc). Examples for using the Java API are available on the [OpenDFDL examples](https://github.com/OpenDFDL/examples.git) repository (not Apache affiliated). The Daffodil [releases](/releases) describe how to include a dependency to Daffodil via maven and SBT.
+
+Both methods require Java 8.
+
+### Existing DFDL Schemas
+
+Multiple DFDL schemas exist on the [DFDLSchemas github](https://github.com/DFDLSchemas) (not Apache affiliated) that are available to download and try out. This includes multiple image formats, financial transaction formats, and more.
+
+### Creating DFDL Schemas
+
+When creating a custom DFDL schema, it is beneficial to follow the directory/file layout described in [Standard DFDL Schema Project Layout](/dfdl-layout). This layout provides a consistent and familiar structure for DFDL schema development that existing tooling understands, provides for easy testing and schema packaging, and ensures no name conflicts on classpaths if multiple schemas are used together.
+
+Any text editor can be used for authoring DFDL schemas. But because DFDL schemas are a subset of XML Schema, using an XML editor (especially an XML Schema aware editor) can provide intelligent assistance in authoring DFDL Schemas, including attribute and tag completion, validation, indentation, visualizations, etc. Below are resources for configuring various tools specifically for editing or authoring DFDL schemas.
+
+ * [Eclipse IDE](/eclipse-configuration)
+
diff --git a/site/people.md b/site/people.md
index d8abb89..aa9fa5c 100644
--- a/site/people.md
+++ b/site/people.md
@@ -23,7 +23,7 @@ limitations under the License.
 {% endcomment %}
 -->
 
-### People
+## People
 
 {% if site.data.contributors  %}
 <table class="table">
diff --git a/site/unsupported.md b/site/unsupported.md
new file mode 100644
index 0000000..ff7fe36
--- /dev/null
+++ b/site/unsupported.md
@@ -0,0 +1,232 @@
+---
+layout: page
+title: Unsupported Features and Errata
+group: nav-right
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+<style type='text/css'>
+th {
+	background-color: #f4f4f4;
+}
+
+td, th {
+	padding: 5px 10px;
+	border-top: solid 1px #cccccc;
+	width: 20px;
+}
+
+table {
+    display:table;
+    width:100%;
+}
+
+th:last-child {
+    width:100%;
+}
+</style>
+
+## Unsupported Features & Errata
+
+The following table lists unsupported features and errata of the DFDL Specification since Daffodil 1.0.0 and if/when those features were implemented. Any features/errata not listed in this table were implemented prior to 1.0.0.
+
+{% ok %} = supported &emsp; {% err %} = unsupported &emsp; {% warn %} = partially supported
+
+|  1.0.0   |  1.1.0   |  2.0.0   |Unparsing
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% warn %}|{%  ok  %}|unparser
+|{% err  %}|{%  ok  %}|{%  ok  %}|outputNewLine
+|{% err  %}|{% err  %}|{%  ok  %}|fillByte
+|{% err  %}|{%  ok  %}|{%  ok  %}|textPadKind
+|{% err  %}|{% err  %}|{%  ok  %}|textOutputMinLength
+|{% err  %}|{%  ok  %}|{%  ok  %}|generateEscapeBlock
+|{% err  %}|{%  ok  %}|{%  ok  %}|extraEscapedCharacters
+|{% err  %}|{% err  %}|{%  ok  %}|truncateSpecifiedLengthString
+|{% err  %}|{% err  %}|{%  ok  %}|outputValueCalc
+                                  
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Types
+|:--------:|:--------:|:--------:|----------
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|decimal
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|integer
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|nonNegativeInteger
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|hexBinary
+|{% err  %}|{% err  %}|{%  ok  %}|boolean
+|{% err  %}|{% err  %}|{% err  %}|date (binary)
+|{% err  %}|{% err  %}|{% err  %}|time (binary)
+|{% err  %}|{% err  %}|{% err  %}|dateTime (binary)
+                                  
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |XML Schema Features
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{% err  %}|fixed
+|{% err  %}|{% err  %}|{% err  %}|default
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|elementFormDefault
+                                  
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |DFDL Features
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{% err  %}|defaulting of values for required elements
+|{% err  %}|{% err  %}|{% err  %}|'packed' binary number representations (packed, bcd, etc.)
+|{% err  %}|{% err  %}|{% err  %}|'zoned' binary number representations
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|advanced text number format properties
+|{% err  %}|{% err  %}|{% err  %}|bi-directional text
+|{% err  %}|{% err  %}|{% err  %}|unordered sequences
+|{% err  %}|{% err  %}|{% err  %}|floating elements in sequences
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|external variables
+|{% err  %}|{% err  %}|{% err  %}|byte-value entities (aka raw-byte entities)
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|validation
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|alignment
+|{% err  %}|{% err  %}|{% err  %}|'type' component of DFDL infoset
+|{% err  %}|{% err  %}|{% err  %}|'unionMemberSchema' component of DFDL infoset
+|{% err  %}|{% err  %}|{% err  %}|'valid' component of DFDL infoset
+|{% err  %}|{% err  %}|{% err  %}|unicodeByteOrderMark
+|{% err  %}|{% err  %}|{%  ok  %}|all runtime-computed format properties
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|runtime-computation for escapeCharacter, escapeEscapeCharacter, byteOrder
+|{% err  %}|{% err  %}|{%  ok  %}|IANA standard encodings other than utf-8, utf-16BE, utf-16LE, utf-32BE, utf-32LE, and ASCII
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|optional qualified names in expression language
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|check for non-portable regular expressions
+|{% err  %}|{% err  %}|{% err  %}|delimited binary
+|{% err  %}|{% err  %}|{% err  %}|extended ICU symbols 'u' and 'I' in calendarPattern
+                                  
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Daffodil Specific
+|:--------:|:--------:|:--------:|----------
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|save/reload parser
+                                  
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Properties and Property Enumerations
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{%  ok  %}|ignoreCase="yes"
+|{% err  %}|{% err  %}|{% err  %}|utf16Width="variable"
+|{% err  %}|{% err  %}|{% err  %}|textNumberRep="zoned"
+|{% err  %}|{% err  %}|{% err  %}|binaryNumberRep="packed"
+|{% err  %}|{% err  %}|{% err  %}|binaryNumberRep="bcd"
+|{% err  %}|{% err  %}|{% err  %}|binaryNumberRep="ibm4690Packed"
+|{% err  %}|{% err  %}|{% err  %}|binaryFloatRep="ibm390Hex"
+|{% err  %}|{% err  %}|{% err  %}|nilKind="logicalValue"
+|{% err  %}|{% err  %}|{% err  %}|nilKind="literalCharacter"
+|{% err  %}|{% err  %}|{% err  %}|lengthKind="prefixed"
+|{% err  %}|{% err  %}|{% err  %}|lengthKind="endOfParent"
+|{% err  %}|{% err  %}|{% err  %}|occursCountKind="stopValue"
+|{% err  %}|{% err  %}|{% err  %}|documentFinalTerminatorCanBeMissing="yes"
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textNumberPattern
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textNumberCheckPolicy
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textNumberRounding
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textNumberRoundingMode
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textNumberRoundingIncrement
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardGroupingSeparator
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardDecimalSeparator
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardExponentRep
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardInfinityRep
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardNaNRep
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|textStandardZeroRep
+|{% err  %}|{% err  %}|{% err  %}|textStandardBase (behaves as 10)
+|{% err  %}|{% err  %}|{% err  %}|textZonedSignStyle
+|{% err  %}|{% err  %}|{%  ok  %}|decimalSigned
+|{% err  %}|{% err  %}|{%  ok  %}|textBooleanTrueRep
+|{% err  %}|{% err  %}|{%  ok  %}|textBooleanFalseRep
+|{% err  %}|{% err  %}|{%  ok  %}|textBooleanPadCharacter
+|{% err  %}|{% err  %}|{%  ok  %}|textBooleanJustification
+|{% err  %}|{% err  %}|{%  ok  %}|binaryBooleanTrueRep
+|{% err  %}|{% err  %}|{%  ok  %}|binaryBooleanFalseRep
+|{% err  %}|{% err  %}|{% err  %}|textBidi (behaves as "no")
+|{% err  %}|{% err  %}|{% err  %}|textBidiTextOrdering
+|{% err  %}|{% err  %}|{% err  %}|textBidiOrientation
+|{% err  %}|{% err  %}|{% err  %}|textBidiSymmetric
+|{% err  %}|{% err  %}|{% err  %}|textBidiTextShaped
+|{% err  %}|{% err  %}|{% err  %}|textBidiNumeralShapes
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|alignment
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|alignmentUnits
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|leadingSkip
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|trailingSkip
+|{% err  %}|{% err  %}|{% err  %}|prefixIncludesPrefixLength
+|{% err  %}|{% err  %}|{% err  %}|prefixLengthType
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|binaryDecimalVirtualPoint
+|{% err  %}|{% err  %}|{% err  %}|binaryNumberCheckPolicy
+|{% err  %}|{% err  %}|{% err  %}|binaryPackedSignCodes
+|{% err  %}|{% err  %}|{% err  %}|binaryCalendarRep
+|{% err  %}|{% err  %}|{% err  %}|binaryCalendarEpoch
+|{% err  %}|{% err  %}|{% err  %}|useNilForDefault
+|{% err  %}|{% err  %}|{% err  %}|sequenceKind='unordered'
+|{% err  %}|{% err  %}|{% err  %}|floating="yes"
+|{% err  %}|{% err  %}|{% err  %}|choiceLengthKind="explicit"
+|{% err  %}|{% err  %}|{% err  %}|choiceLength
+|{% err  %}|{% err  %}|{% err  %}|occursStopValue
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|seperatorSuppressionPolicy (overrides separatorPolicy)
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|separatorPolicy
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|bitOrder
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|encodingErrorPolicy="replace"
+|{% err  %}|{% err  %}|{% err  %}|encodingErrorPolicy="error"
+|{% err  %}|{% err  %}|{% err  %}|failureType="recoverableError"
+|{% err  %}|{% err  %}|{%  ok  %}|choiceDispatchKey
+|{% err  %}|{% err  %}|{%  ok  %}|choiceBranchKey
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Functions
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{%  ok  %}|contentLength
+|{% err  %}|{% err  %}|{%  ok  %}|valueLength
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Annotations
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{% err  %}|newVariableInstance
+                                  
+|  1.0.0   |  1.1.0   |  2.0.0   |Miscellaneous
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{% err  %}|File sizes greater than 4GB
+|{% err  %}|{% err  %}|{% err  %}|Java version <= 6
+|{%  ok  %}|{%  ok  %}|{% err  %}|Java version 7
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|Java version 8
+|{%  ok  %}|{%  ok  %}|{%  ok  %}|Strict DFDL expressions adherence (i.e. disallow features of XPath not available in DFDL expressions)
+|{% warn %}|{% warn %}|{% warn %}|XPath 2.0 Support (query-style expressions not supported)
+
+|  1.0.0   |  1.1.0   |  2.0.0   |[DFDL v1.0 Spec Errata](https://redmine.ogf.org/dmsf_files/13384?download=) (Minor Technical Fixes)
+|:--------:|:--------:|:--------:|----------
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.1
+|{% err  %}|{% ok   %}|{% ok   %}|Erratum 5.2
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.3
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.4
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.5
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.6
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.7
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.8
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.9
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.10
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.11
+|{% err  %}|{% err  %}|{% ok   %}|Erratum 5.12
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.13
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.14
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.15
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.16
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.17
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.18
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.19
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.20
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.21
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.22
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.23
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.24
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.25
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.26
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.27
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.28
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.29
+|{% err  %}|{% err  %}|{% err  %}|Erratum 5.30
+|{% ok   %}|{% ok   %}|{% ok   %}|Erratum 5.31

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