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/02/08 12:46:17 UTC

[incubator-daffodil] 05/05: Ensure all sources are unix style line endings

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.git

commit 50dc6d32fe33ef876fc509670e1c51523bb4a40f
Author: Steve Lawrence <sl...@apache.org>
AuthorDate: Fri Jan 5 11:07:49 2018 -0500

    Ensure all sources are unix style line endings
    
    The previous change to add the Apache license header always used unix
    style line endings. If any files used dos style, they would have mixed
    line endings and can be difficult to edit and read. This makes
    everything consistent to use unix style line endings. There are no
    changes in this patch except for line-endings.
    
    DAFFODIL-1859
---
 .../apache/daffodil/CLI/charClassEntities.dfdl.xsd |   112 +-
 .../org/apache/daffodil/CLI/cli_schema.dfdl.xsd    |   280 +-
 daffodil-core/src/test/resources/test/first.xsd    |    14 +-
 daffodil-core/src/test/resources/test/second.xsd   |    14 +-
 .../src/test/resources/test/japi/TopLevel.xsd      |    70 +-
 .../org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd |  3800 +-
 .../resources/org/apache/daffodil/xsd/dafint.xsd   |    60 +-
 .../main/resources/org/apache/daffodil/xsd/xml.xsd |   288 +-
 .../apache/daffodil/xsd/DFDL_part2_attributes.xsd  |  1914 +-
 .../org/apache/daffodil/xsd/DFDL_part3_model.xsd   |   630 +-
 .../resources/org/apache/daffodil/xsd/dafext.xsd   |     2 +-
 .../src/test/resources/test/sapi/TopLevel.xsd      |    70 +-
 .../ibm-contributed/alignment_bytes_12.dfdl.xsd    |   286 +-
 .../ibm-contributed/delimiter_12.dfdl.xsd          |   238 +-
 .../test-suite/ibm-contributed/dpabol101.dfdl.xsd  |   236 +-
 .../test-suite/ibm-contributed/dpabol102.dfdl.xsd  |    74 +-
 .../ibm-contributed/dpacalbin100_01.dfdl.xsd       |    80 +-
 .../ibm-contributed/dpacaltxt_43.dfdl.xsd          |   208 +-
 .../ibm-contributed/dpadelbcd_01.dfdl.xsd          |   154 +-
 .../ibm-contributed/dpadeloneini_01.dfdl.xsd       |   162 +-
 .../ibm-contributed/dpadelonetrm_01.dfdl.xsd       |   116 +-
 .../test-suite/ibm-contributed/dpaext2.tdml        |  1058 +-
 .../ibm-contributed/dpaextdeltxt101.dfdl.xsd       |   198 +-
 .../ibm-contributed/dpaextent_04.dfdl.xsd          |   136 +-
 .../ibm-contributed/dpaextflsmby101.dfdl.xsd       |    48 +-
 .../ibm-contributed/dpaflsaln101_01.dfdl.xsd       |   246 +-
 .../ibm-contributed/dpaflsenc101_04_01.dfdl.xsd    |    84 +-
 .../ibm-contributed/dpaflsmbyfrm41.dfdl.xsd        |    70 +-
 .../ibm-contributed/dpaflsoneini_01.dfdl.xsd       |    98 +-
 .../ibm-contributed/dpaflstrm101_03.dfdl.xsd       |    66 +-
 .../ibm-contributed/dpaflstrmnum01.dfdl.xsd        |   144 +-
 .../ibm-contributed/dpaimpflt_bin.dfdl.xsd         |    56 +-
 .../test-suite/ibm-contributed/dpaimptxt.dfdl.xsd  |    62 +-
 .../test-suite/ibm-contributed/dpanum.dfdl.xsd     |   152 +-
 .../test-suite/ibm-contributed/dpanum_bin.dfdl.xsd |   106 +-
 .../ibm-contributed/dpanum_properties.dfdl.xsd     |   240 +-
 .../ibm-contributed/dpaspc121_01.dfdl.xsd          |   146 +-
 .../ibm-contributed/dpaspc121_02.dfdl.xsd          |   184 +-
 .../ibm-contributed/dpaspc7133_01.dfdl.xsd         |   118 +-
 .../ibm-contributed/dpaspc81_01.dfdl.xsd           |   104 +-
 .../ibm-contributed/dpaspc82_01.dfdl.xsd           |   112 +-
 .../ibm-contributed/dpaspc83_01.dfdl.xsd           |   130 +-
 .../ibm-contributed/dpaspc83_02.dfdl.xsd           |   132 +-
 .../ibm-contributed/dpaspc83_03.dfdl.xsd           |   164 +-
 .../ibm-contributed/dpaspc_41_83_04_01.dfdl.xsd    |   104 +-
 .../ibm-contributed/dpaspc_41_83_04_02.dfdl.xsd    |   102 +-
 .../ibm-contributed/length_explicit_12.dfdl.xsd    |    88 +-
 .../ibm-contributed/syntax_entities_6.dfdl.xsd     |   188 +-
 .../test-suite/tresys-contributed/AB.dfdl.xsd      |    88 +-
 .../test-suite/tresys-contributed/AF.dfdl.xsd      |   138 +-
 .../test-suite/tresys-contributed/AF.tdml          |   184 +-
 .../test-suite/tresys-contributed/AG.dfdl.xsd      |   148 +-
 .../test-suite/tresys-contributed/AG.tdml          |   100 +-
 .../test-suite/tresys-contributed/AH.dfdl.xsd      |   114 +-
 .../test-suite/tresys-contributed/AH.tdml          |    84 +-
 .../test-suite/tresys-contributed/AM.dfdl.xsd      |   506 +-
 .../test-suite/tresys-contributed/AM.tdml          |   248 +-
 .../test-suite/tresys-contributed/AP.dfdl.xsd      |    66 +-
 .../test-suite/tresys-contributed/AP.tdml          |    36 +-
 .../test-suite/tresys-contributed/AT.dfdl.xsd      |   244 +-
 .../test-suite/tresys-contributed/AT.tdml          | 48768 +++++++++----------
 .../test-suite/tresys-contributed/AU.dfdl.xsd      |    78 +-
 .../test-suite/tresys-contributed/AU.tdml          |    56 +-
 .../test-suite/tresys-contributed/AY.tdml          |    46 +-
 .../test-suite/tresys-contributed/BA.dfdl.xsd      |   152 +-
 .../test-suite/tresys-contributed/BB.dfdl.xsd      |    74 +-
 .../test-suite/tresys-contributed/BB.tdml          |    42 +-
 .../test-suite/tresys-contributed/BC.dfdl.xsd      |    74 +-
 .../test-suite/tresys-contributed/BC.tdml          |    56 +-
 .../test-suite/tresys-contributed/BD.dfdl.xsd      |    64 +-
 .../test-suite/tresys-contributed/BD.tdml          |    40 +-
 .../test-suite/tresys-contributed/BE.dfdl.xsd      |    74 +-
 .../test-suite/tresys-contributed/BE.tdml          |   132 +-
 .../test-suite/tresys-contributed/BF.dfdl.xsd      |    80 +-
 .../test-suite/tresys-contributed/BF.tdml          |   124 +-
 .../test-suite/tresys-contributed/BG.dfdl.xsd      |   112 +-
 .../test-suite/tresys-contributed/BG.tdml          |    60 +-
 .../test-suite/tresys-contributed/dpaext1.tdml     |   374 +-
 .../tresys-contributed/dpaextdeltxt101.dfdl.xsd    |   276 +-
 .../tresys-contributed/nested_group_ref.tdml       |   220 +-
 .../apache/daffodil/ibm-tests/dpadelmulcho_01.xsd  |   184 +-
 .../daffodil/ibm-tests/dpadelone107_05.dfdl.xsd    |    90 +-
 .../apache/daffodil/ibm-tests/dpadelonearr_12.xsd  |   110 +-
 .../daffodil/ibm-tests/dpadeloneini_01.dfdl.xsd    |   162 +-
 .../org/apache/daffodil/ibm-tests/dpaext2.tdml     |  1052 +-
 .../apache/daffodil/ibm-tests/dpaspc7131.dfdl.xsd  |   140 +-
 .../apache/daffodil/ibm-tests/dpaspc7132.dfdl.xsd  |   148 +-
 .../daffodil/ibm-tests/dpaspc7132_2.dfdl.xsd       |   100 +-
 .../daffodil/ibm-tests/length_explicit_12.dfdl.xsd |    90 +-
 .../section05/dfdl_xsdl_subset/DFDLSubset.tdml     |   602 +-
 .../daffodil/section05/facets/facetSchema.dfdl.xsd |    78 +-
 .../section05/facets/facetSchema2.dfdl.xsd         |    78 +-
 .../apache/daffodil/section05/simple_types/AJ.tdml |   184 +-
 .../daffodil/section05/simple_types/AK.dfdl.xsd    |   186 +-
 .../apache/daffodil/section05/simple_types/AK.tdml |    96 +-
 .../apache/daffodil/section05/simple_types/AL.tdml |    40 +-
 .../simple_types/nonNegativeInteger.dfdl.xsd       |    60 +-
 .../section06/entities/InvalidEntities.tdml        |   268 +-
 .../daffodil/section06/entities/TopLevel.xsd       |    66 +-
 .../section06/entities/charClassEntities.dfdl.xsd  |   224 +-
 .../section06/entities/charClassEntities.tdml      |   814 +-
 .../daffodil/section06/entities/entities_01.tdml   |   438 +-
 .../section06/entities/utf16schema.dfdl.xsd        |    76 +-
 .../daffodil/section06/namespaces/ABC_IBM.xsd      |   114 +-
 .../section06/namespaces/ABC_IBM_invalid.xsd       |   112 +-
 .../daffodil/section06/namespaces/ABC_invalid.xsd  |   190 +-
 .../section06/namespaces/ABC_invalid_2.xsd         |   134 +-
 .../namespaces/address_namespace.dfdl.xsd          |    50 +-
 .../namespaces/address_no_namespace.dfdl.xsd       |   134 +-
 .../namespaces/charClassEntities.dfdl.xsd          |   136 +-
 .../namespaces/customer_namespace.dfdl.xsd         |    54 +-
 .../namespaces/customer_no_namespace.dfdl.xsd      |    50 +-
 .../namespaces/predefined_format.dfdl.xsd          |    72 +-
 .../section07/defineFormat/defineFormat.dfdl.xsd   |   148 +-
 .../section07/defineFormat/noNameFormat.dfdl.xsd   |    38 +-
 .../section07/property_syntax/PropertySyntax.tdml  |   438 +-
 .../property_syntax/property_syntax.dfdl.xsd       |    90 +-
 .../section07/variables/variables_01.dfdl.xsd      |   164 +-
 .../daffodil/section07/variables/variables_01.tdml |    96 +-
 .../ContentFramingProps.tdml                       |   854 +-
 .../aligned_data/InvalidAlignSchema.dfdl.xsd       |    42 +-
 .../daffodil/section12/lengthKind/AB.dfdl.xsd      |   180 +-
 .../daffodil/section12/lengthKind/implicit.tdml    |   424 +-
 .../section15/choice_groups/choice.dfdl.xsd        |   102 +-
 .../arrays_optional_elements.dfdl.xsd              |   216 +-
 .../section17/calc_value_properties/AQ.tdml        |   198 +-
 .../section17/calc_value_properties/AR.tdml        |   114 +-
 .../calc_value_properties/inputValueCalc.tdml      |  2714 +-
 .../calc_value_properties/outputValueCalc.tdml     |    44 +-
 .../daffodil/usertests/MultipartBody.dfdl.xsd      |    80 +-
 .../org/apache/daffodil/usertests/json5.tdml       |   168 +-
 .../org/apache/daffodil/usertests/testWSPStar.tdml |    52 +-
 .../src/test/resources/test space/A B.dfdl.xsd     |    86 +-
 .../resources/test space/test 1/namespaces.tdml    |  4000 +-
 .../main/resources/org1/xsd/innerEnvelope.dfdl.xsd |    60 +-
 .../main/resources/org1/xsd/outerEnvelope.dfdl.xsd |    62 +-
 .../src/main/resources/org2/xsd/formats.dfdl.xsd   |    38 +-
 .../src/main/resources/org2/xsd/payload.dfdl.xsd   |    74 +-
 138 files changed, 41408 insertions(+), 41408 deletions(-)

diff --git a/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/charClassEntities.dfdl.xsd b/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/charClassEntities.dfdl.xsd
index 81cdb42..ed81eb9 100644
--- a/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/charClassEntities.dfdl.xsd
+++ b/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/charClassEntities.dfdl.xsd
@@ -16,59 +16,59 @@
   limitations under the License.
 -->
 
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-  targetNamespace="target" xmlns:tns="target"
-  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-  <include schemaLocation="org/apache/daffodil/xsd/built-in-formats.xsd"/>
-
-  <annotation>
-    <appinfo source="http://www.ogf.org/dfdl/">
-      <dfdl:format ref="tns:daffodilTest1" initiator="" terminator="" leadingSkip="0"
-        trailingSkip="0" textBidi="no" floating="no" encoding="ASCII"
-        byteOrder="bigEndian" alignment="implicit" alignmentUnits="bits"
-        fillByte="f" occursCountKind="implicit"
-        truncateSpecifiedLengthString="no" ignoreCase="no"
-        representation="text" lengthKind="delimited"
-        nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="none"
-        documentFinalTerminatorCanBeMissing="yes" initiatedContent="no"
-        separatorSuppressionPolicy="anyEmpty" separatorPosition="infix" textTrimKind="none" />
-    </appinfo>
-  </annotation>
-  <!-- Parsing of CSV -->
-
-  <element name="matrixString" type="tns:matrixTypeString" dfdl:lengthKind="implicit" />
-  <element name="matrix" type="tns:matrixType" dfdl:lengthKind="implicit" />
-
-  <complexType name="matrixType">
-    <sequence dfdl:separator="%NL;" dfdl:encoding="utf-8">
-      <element name="row" maxOccurs="unbounded" dfdl:lengthKind="implicit"
-        dfdl:encoding="utf-8">
-        <complexType>
-          <sequence dfdl:separator="," dfdl:encoding="utf-8">
-            <element name="cell" type="xsd:int" maxOccurs="unbounded"
-              dfdl:textNumberRep="standard" dfdl:lengthKind="delimited"
-              dfdl:encodingErrorPolicy="replace" dfdl:encoding="utf-8" />
-          </sequence>
-        </complexType>
-      </element>
-    </sequence>
-  </complexType>
-  
-  <complexType name="matrixTypeString">
-    <sequence dfdl:separator="%NL;" dfdl:encoding="utf-8">
-      <element name="row" maxOccurs="unbounded" dfdl:lengthKind="implicit"
-        dfdl:encoding="utf-8">
-        <complexType>
-          <sequence dfdl:separator="," dfdl:encoding="utf-8">
-            <element name="cell" type="xsd:string" maxOccurs="unbounded"
-              dfdl:textNumberRep="standard" dfdl:lengthKind="delimited"
-              dfdl:encodingErrorPolicy="replace" dfdl:encoding="utf-8" />
-          </sequence>
-        </complexType>
-      </element>
-    </sequence>
-  </complexType>
-
-</schema>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+  targetNamespace="target" xmlns:tns="target"
+  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+  <include schemaLocation="org/apache/daffodil/xsd/built-in-formats.xsd"/>
+
+  <annotation>
+    <appinfo source="http://www.ogf.org/dfdl/">
+      <dfdl:format ref="tns:daffodilTest1" initiator="" terminator="" leadingSkip="0"
+        trailingSkip="0" textBidi="no" floating="no" encoding="ASCII"
+        byteOrder="bigEndian" alignment="implicit" alignmentUnits="bits"
+        fillByte="f" occursCountKind="implicit"
+        truncateSpecifiedLengthString="no" ignoreCase="no"
+        representation="text" lengthKind="delimited"
+        nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="none"
+        documentFinalTerminatorCanBeMissing="yes" initiatedContent="no"
+        separatorSuppressionPolicy="anyEmpty" separatorPosition="infix" textTrimKind="none" />
+    </appinfo>
+  </annotation>
+  <!-- Parsing of CSV -->
+
+  <element name="matrixString" type="tns:matrixTypeString" dfdl:lengthKind="implicit" />
+  <element name="matrix" type="tns:matrixType" dfdl:lengthKind="implicit" />
+
+  <complexType name="matrixType">
+    <sequence dfdl:separator="%NL;" dfdl:encoding="utf-8">
+      <element name="row" maxOccurs="unbounded" dfdl:lengthKind="implicit"
+        dfdl:encoding="utf-8">
+        <complexType>
+          <sequence dfdl:separator="," dfdl:encoding="utf-8">
+            <element name="cell" type="xsd:int" maxOccurs="unbounded"
+              dfdl:textNumberRep="standard" dfdl:lengthKind="delimited"
+              dfdl:encodingErrorPolicy="replace" dfdl:encoding="utf-8" />
+          </sequence>
+        </complexType>
+      </element>
+    </sequence>
+  </complexType>
+  
+  <complexType name="matrixTypeString">
+    <sequence dfdl:separator="%NL;" dfdl:encoding="utf-8">
+      <element name="row" maxOccurs="unbounded" dfdl:lengthKind="implicit"
+        dfdl:encoding="utf-8">
+        <complexType>
+          <sequence dfdl:separator="," dfdl:encoding="utf-8">
+            <element name="cell" type="xsd:string" maxOccurs="unbounded"
+              dfdl:textNumberRep="standard" dfdl:lengthKind="delimited"
+              dfdl:encodingErrorPolicy="replace" dfdl:encoding="utf-8" />
+          </sequence>
+        </complexType>
+      </element>
+    </sequence>
+  </complexType>
+
+</schema>
diff --git a/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/cli_schema.dfdl.xsd b/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/cli_schema.dfdl.xsd
index 61c06d9..3f0167a 100644
--- a/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/cli_schema.dfdl.xsd
+++ b/daffodil-cli/src/test/resources/org/apache/daffodil/CLI/cli_schema.dfdl.xsd
@@ -16,143 +16,143 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" targetNamespace="http://example.com"
-  xmlns:ex="http://example.com"> 
-
-  <xs:include schemaLocation="org/apache/daffodil/xsd/built-in-formats.xsd"/>
-
-  <xs:annotation> 
-    <xs:appinfo source="http://www.ogf.org/dfdl/" >
-      <dfdl:format ref="ex:daffodilTest1" initiator="" terminator="" separator=""
-        separatorSuppressionPolicy="anyEmpty" separatorPosition="infix"
-        alignment="implicit" alignmentUnits="bits" trailingSkip="0"
-        lengthKind="delimited" documentFinalTerminatorCanBeMissing="yes" encoding="ASCII"
-        leadingSkip="0" textTrimKind="none" representation="text" occursCountKind="parsed"
-        textNumberRep="standard" ignoreCase="no" initiatedContent="no" />
-    </xs:appinfo>
-  </xs:annotation>
-    
-    <xs:simpleType name="simpleAssert">
-      <xs:annotation>
-        <xs:appinfo source="http://www.ogf.org/dfdl/">
-          <dfdl:discriminator testKind="pattern"
-            testPattern="\d;" message="discriminator failed for pattern '\d;'" />
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:restriction base="xs:string" />
-    </xs:simpleType>
-
-    <xs:group name="namedGroup">
-      <xs:sequence>
-        <xs:element name="e1" type="xs:string"
-          dfdl:lengthKind="delimited" dfdl:terminator="," />
-        <xs:element name="e2" type="xs:int" dfdl:lengthKind="delimited" />
-      </xs:sequence>
-    </xs:group>
-    
-    <xs:group name="namedGroup2">
-      <xs:sequence>
-        <xs:element name="e3" type="xs:string"
-          dfdl:lengthKind="delimited" dfdl:terminator="|" />
-        <xs:element name="e4" type="xs:int" dfdl:lengthKind="delimited" />
-      </xs:sequence>
-    </xs:group>
-
-    <xs:element name="Item" dfdl:lengthKind="implicit">
-      <xs:complexType>
-        <xs:group ref="ex:namedGroup">
-          <xs:annotation>
-            <xs:appinfo source="http://www.ogf.org/dfdl/">
-              <dfdl:discriminator testKind="pattern"
-                testPattern="\p{L}{3},\d{3}"
-                message="discriminator failed for pattern '\p{L}{3},\d{3}'" />
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:group>
-      </xs:complexType>
-    </xs:element>
-    
-    <xs:element name="Item2" dfdl:lengthKind="implicit">
-      <xs:complexType>
-        <xs:choice>
-          <xs:group ref="ex:namedGroup">
-            <xs:annotation>
-              <xs:appinfo source="http://www.ogf.org/dfdl/">
-                <dfdl:discriminator testKind="pattern"
-                  testPattern="\p{L}{3},\d{3}"
-                  message="discriminator failed for pattern '\p{L}{3},\d{3}'" />
-              </xs:appinfo>
-            </xs:annotation>
-          </xs:group>
-          <xs:group ref="ex:namedGroup2">
-            <xs:annotation>
-              <xs:appinfo source="http://www.ogf.org/dfdl/">
-                <dfdl:discriminator testKind="pattern"
-                  testPattern="\p{L}{3}|\d{3}"
-                  message="discriminator failed for pattern '\p{L}{3}|\d{3}'" />
-              </xs:appinfo>
-            </xs:annotation>
-          </xs:group>
-        </xs:choice>
-      </xs:complexType>
-    </xs:element>
-  
-    <xs:group name="hgNested">
-      <xs:sequence>
-        <xs:element name="sneaky" type="xs:int" dfdl:outputValueCalc="{ 5 }"/>
-      </xs:sequence>
-    </xs:group>
-    <xs:group name="hg">
-      <xs:sequence dfdl:separator="/">
-        <xs:sequence dfdl:hiddenGroupRef="ex:hgNested" />
-        <xs:element name="f" type="xs:int" dfdl:outputValueCalc="{ 42 }"/>
-      </xs:sequence>
-    </xs:group>
-    <xs:element name="e" dfdl:lengthKind="delimited">
-      <xs:complexType>
-        <xs:sequence dfdl:separator=",">
-          <xs:sequence dfdl:hiddenGroupRef="ex:hg" />
-          <xs:element name="g" type="xs:int" />
-        </xs:sequence>
-      </xs:complexType>
-    </xs:element>
-    
-    <xs:group name="hgNested_shown">
-      <xs:sequence>
-        <xs:element name="sneaky" type="xs:int" />
-      </xs:sequence>
-    </xs:group>
-    <xs:group name="hg_shown">
-      <xs:sequence dfdl:separator="/">
-        <xs:group ref="ex:hgNested_shown" />
-        <xs:element name="f" type="xs:int" />
-      </xs:sequence>
-    </xs:group>
-    <xs:element name="e_shown" dfdl:lengthKind="delimited">
-      <xs:complexType>
-        <xs:sequence dfdl:separator=",">
-          <xs:group ref="ex:hg_shown" />
-          <xs:element name="g" type="xs:int" />
-        </xs:sequence>
-      </xs:complexType>
-    </xs:element>
-
-    <xs:element name="leftover">
-      <xs:complexType>
-        <xs:sequence>
-          <xs:element name="e3" type="xs:string"
-            dfdl:lengthKind="delimited" dfdl:terminator="|" />
-          <xs:element name="e4" type="xs:int" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit" dfdl:length="3"/>
-        </xs:sequence>
-      </xs:complexType>
-    </xs:element>
-
-    <xs:element name="validation_check" dfdl:lengthKind="delimited">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:pattern value="[0-8]+" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:element>
-    
-</xs:schema>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" targetNamespace="http://example.com"
+  xmlns:ex="http://example.com"> 
+
+  <xs:include schemaLocation="org/apache/daffodil/xsd/built-in-formats.xsd"/>
+
+  <xs:annotation> 
+    <xs:appinfo source="http://www.ogf.org/dfdl/" >
+      <dfdl:format ref="ex:daffodilTest1" initiator="" terminator="" separator=""
+        separatorSuppressionPolicy="anyEmpty" separatorPosition="infix"
+        alignment="implicit" alignmentUnits="bits" trailingSkip="0"
+        lengthKind="delimited" documentFinalTerminatorCanBeMissing="yes" encoding="ASCII"
+        leadingSkip="0" textTrimKind="none" representation="text" occursCountKind="parsed"
+        textNumberRep="standard" ignoreCase="no" initiatedContent="no" />
+    </xs:appinfo>
+  </xs:annotation>
+    
+    <xs:simpleType name="simpleAssert">
+      <xs:annotation>
+        <xs:appinfo source="http://www.ogf.org/dfdl/">
+          <dfdl:discriminator testKind="pattern"
+            testPattern="\d;" message="discriminator failed for pattern '\d;'" />
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:restriction base="xs:string" />
+    </xs:simpleType>
+
+    <xs:group name="namedGroup">
+      <xs:sequence>
+        <xs:element name="e1" type="xs:string"
+          dfdl:lengthKind="delimited" dfdl:terminator="," />
+        <xs:element name="e2" type="xs:int" dfdl:lengthKind="delimited" />
+      </xs:sequence>
+    </xs:group>
+    
+    <xs:group name="namedGroup2">
+      <xs:sequence>
+        <xs:element name="e3" type="xs:string"
+          dfdl:lengthKind="delimited" dfdl:terminator="|" />
+        <xs:element name="e4" type="xs:int" dfdl:lengthKind="delimited" />
+      </xs:sequence>
+    </xs:group>
+
+    <xs:element name="Item" dfdl:lengthKind="implicit">
+      <xs:complexType>
+        <xs:group ref="ex:namedGroup">
+          <xs:annotation>
+            <xs:appinfo source="http://www.ogf.org/dfdl/">
+              <dfdl:discriminator testKind="pattern"
+                testPattern="\p{L}{3},\d{3}"
+                message="discriminator failed for pattern '\p{L}{3},\d{3}'" />
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:group>
+      </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="Item2" dfdl:lengthKind="implicit">
+      <xs:complexType>
+        <xs:choice>
+          <xs:group ref="ex:namedGroup">
+            <xs:annotation>
+              <xs:appinfo source="http://www.ogf.org/dfdl/">
+                <dfdl:discriminator testKind="pattern"
+                  testPattern="\p{L}{3},\d{3}"
+                  message="discriminator failed for pattern '\p{L}{3},\d{3}'" />
+              </xs:appinfo>
+            </xs:annotation>
+          </xs:group>
+          <xs:group ref="ex:namedGroup2">
+            <xs:annotation>
+              <xs:appinfo source="http://www.ogf.org/dfdl/">
+                <dfdl:discriminator testKind="pattern"
+                  testPattern="\p{L}{3}|\d{3}"
+                  message="discriminator failed for pattern '\p{L}{3}|\d{3}'" />
+              </xs:appinfo>
+            </xs:annotation>
+          </xs:group>
+        </xs:choice>
+      </xs:complexType>
+    </xs:element>
+  
+    <xs:group name="hgNested">
+      <xs:sequence>
+        <xs:element name="sneaky" type="xs:int" dfdl:outputValueCalc="{ 5 }"/>
+      </xs:sequence>
+    </xs:group>
+    <xs:group name="hg">
+      <xs:sequence dfdl:separator="/">
+        <xs:sequence dfdl:hiddenGroupRef="ex:hgNested" />
+        <xs:element name="f" type="xs:int" dfdl:outputValueCalc="{ 42 }"/>
+      </xs:sequence>
+    </xs:group>
+    <xs:element name="e" dfdl:lengthKind="delimited">
+      <xs:complexType>
+        <xs:sequence dfdl:separator=",">
+          <xs:sequence dfdl:hiddenGroupRef="ex:hg" />
+          <xs:element name="g" type="xs:int" />
+        </xs:sequence>
+      </xs:complexType>
+    </xs:element>
+    
+    <xs:group name="hgNested_shown">
+      <xs:sequence>
+        <xs:element name="sneaky" type="xs:int" />
+      </xs:sequence>
+    </xs:group>
+    <xs:group name="hg_shown">
+      <xs:sequence dfdl:separator="/">
+        <xs:group ref="ex:hgNested_shown" />
+        <xs:element name="f" type="xs:int" />
+      </xs:sequence>
+    </xs:group>
+    <xs:element name="e_shown" dfdl:lengthKind="delimited">
+      <xs:complexType>
+        <xs:sequence dfdl:separator=",">
+          <xs:group ref="ex:hg_shown" />
+          <xs:element name="g" type="xs:int" />
+        </xs:sequence>
+      </xs:complexType>
+    </xs:element>
+
+    <xs:element name="leftover">
+      <xs:complexType>
+        <xs:sequence>
+          <xs:element name="e3" type="xs:string"
+            dfdl:lengthKind="delimited" dfdl:terminator="|" />
+          <xs:element name="e4" type="xs:int" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit" dfdl:length="3"/>
+        </xs:sequence>
+      </xs:complexType>
+    </xs:element>
+
+    <xs:element name="validation_check" dfdl:lengthKind="delimited">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:pattern value="[0-8]+" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:element>
+    
+</xs:schema>
diff --git a/daffodil-core/src/test/resources/test/first.xsd b/daffodil-core/src/test/resources/test/first.xsd
index 1d74a99..a686300 100644
--- a/daffodil-core/src/test/resources/test/first.xsd
+++ b/daffodil-core/src/test/resources/test/first.xsd
@@ -16,11 +16,11 @@
   limitations under the License.
 -->
 
-<xsd:schema 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" 
-  targetNamespace="http://www.ibm.com/xmlns/dfdl/testData" 
-  xmlns:tns="http://www.ibm.com/xmlns/dfdl/testData" 
-  elementFormDefault="unqualified">
-  <xsd:include schemaLocation="second.xsd" />
+<xsd:schema 
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" 
+  targetNamespace="http://www.ibm.com/xmlns/dfdl/testData" 
+  xmlns:tns="http://www.ibm.com/xmlns/dfdl/testData" 
+  elementFormDefault="unqualified">
+  <xsd:include schemaLocation="second.xsd" />
 </xsd:schema>
\ No newline at end of file
diff --git a/daffodil-core/src/test/resources/test/second.xsd b/daffodil-core/src/test/resources/test/second.xsd
index 2fff691..3ee5cd1 100644
--- a/daffodil-core/src/test/resources/test/second.xsd
+++ b/daffodil-core/src/test/resources/test/second.xsd
@@ -16,11 +16,11 @@
   limitations under the License.
 -->
 
-<xsd:schema 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" 
-  targetNamespace="http://www.ibm.com/xmlns/dfdl/testData" 
-  xmlns:tns="http://www.ibm.com/xmlns/dfdl/testData" 
-  elementFormDefault="unqualified">
-  <xsd:element name="foo" type="nonNegativeInteger"></xsd:element>
+<xsd:schema 
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" 
+  targetNamespace="http://www.ibm.com/xmlns/dfdl/testData" 
+  xmlns:tns="http://www.ibm.com/xmlns/dfdl/testData" 
+  elementFormDefault="unqualified">
+  <xsd:element name="foo" type="nonNegativeInteger"></xsd:element>
 </xsd:schema>
\ No newline at end of file
diff --git a/daffodil-japi/src/test/resources/test/japi/TopLevel.xsd b/daffodil-japi/src/test/resources/test/japi/TopLevel.xsd
index a43bea8..96c2341 100644
--- a/daffodil-japi/src/test/resources/test/japi/TopLevel.xsd
+++ b/daffodil-japi/src/test/resources/test/japi/TopLevel.xsd
@@ -16,38 +16,38 @@
   limitations under the License.
 -->
 
-<xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	targetNamespace="http://example.com"
-	xmlns:tns="http://example.com">
-
-	<!-- include the default properties -->
-	<!-- <xsd:include schemaLocation="DefaultProperties.xsd"/> -->
-	<xsd:include
-		schemaLocation="/test/japi/DefaultProperties.xsd"/>
-	<xsd:annotation>
-		<xsd:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format ref="tns:DefaultPropertiesFormat" separator=""/>
-		</xsd:appinfo>
-	</xsd:annotation>
-
-	<xsd:element name="TopLevel">
-		<xsd:complexType>
-			<xsd:sequence dfdl:separator="%NL;%NL;">
-				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
-					 type="xsd:string"/>
-				<xsd:element name="Body" type="xsd:string"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-
-  <xsd:element name="TopLevel2">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
-					 type="xsd:string" dfdl:terminator="%NL;%NL;"/>
-				<xsd:element name="Body" type="xsd:string"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
+<xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://example.com"
+	xmlns:tns="http://example.com">
+
+	<!-- include the default properties -->
+	<!-- <xsd:include schemaLocation="DefaultProperties.xsd"/> -->
+	<xsd:include
+		schemaLocation="/test/japi/DefaultProperties.xsd"/>
+	<xsd:annotation>
+		<xsd:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format ref="tns:DefaultPropertiesFormat" separator=""/>
+		</xsd:appinfo>
+	</xsd:annotation>
+
+	<xsd:element name="TopLevel">
+		<xsd:complexType>
+			<xsd:sequence dfdl:separator="%NL;%NL;">
+				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
+					 type="xsd:string"/>
+				<xsd:element name="Body" type="xsd:string"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+
+  <xsd:element name="TopLevel2">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
+					 type="xsd:string" dfdl:terminator="%NL;%NL;"/>
+				<xsd:element name="Body" type="xsd:string"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+</xsd:schema>
diff --git a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd
index 629cf21..e443649 100644
--- a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd
+++ b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/XMLSchema_for_DFDL.xsd
@@ -1,1901 +1,1901 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- 
-
-To get enforcement of the XML Schema Subset for DFDL, but at the 
-same time let users use the original XML Schema namespace URI, we
-give this schema the XML Schema URI as its namespace, and we use 
-this to validate when we load a DFDL Schema.
-
- -->
-<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
-<!-- Note this schema is NOT the normative structures schema. -->
-<!-- The prose copy in the structures REC is the normative -->
-<!-- version (which shouldn't differ from this one except for -->
-<!-- this comment and entity expansions, but just in case -->
-
-<xsd:schema  
-  targetNamespace="http://www.w3.org/2001/XMLSchema"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  blockDefault="#all" elementFormDefault="qualified" version="1.0"
-  xml:lang="EN" xmlns:xml="http://www.w3.org/XML/1998/namespace"
-  xmlns:sub="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-  xsi:schemaLocation="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int dafint.xsd">
-  <!-- Use the real URI for this, not the subset URI
-   "http://www.w3.org/2001/XMLSchema"
-  -->
-
-  <xsd:import namespace="http://www.ogf.org/dfdl/dfdl-1.0/" />
-    
-  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
-    schemaLocation="dafint.xsd"/>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
-      Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation
-      source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
-      The schema corresponding to this document is normative,
-      with respect to the syntactic constraints it expresses in the
-      XML Schema language. The documentation (within &lt;documentation>
-      elements)
-      below, is not normative, but rather highlights important aspects of
-      the W3C Recommendation of which this is a part
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      The simpleType element and all of its members are defined
-      towards the end
-      of this schema document
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-    schemaLocation="./xml.xsd">
-    <xsd:annotation>
-      <xsd:documentation>
-        Get access to the xml: attribute groups for xml:lang
-        as declared on 'schema' and 'documentation' below
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:import>
-
-  <xsd:complexType name="openAttrs">
-    <xsd:annotation>
-      <xsd:documentation>
-        This type is extended by almost all schema types
-        to allow attributes from other namespaces to be
-        added to user schemas.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:restriction base="xsd:anyType">
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="annotated">
-    <xsd:annotation>
-      <xsd:documentation>
-        This type is extended by all types which allow annotation
-        other than &lt;schema&gt; itself
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="sub:openAttrs">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-        </xsd:sequence>
-        <xsd:attribute name="id" type="xsd:ID" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:group name="schemaTop">
-    <xsd:annotation>
-      <xsd:documentation>
-        This group is for the
-        elements which occur freely at the top level of schemas.
-        All of their types are based on the "annotated" type by extension.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:group ref="sub:redefinable" />
-      <xsd:element ref="sub:element" />
-      <!-- <xsd:element ref="sub:attribute"/> -->
-      <!-- <xsd:element ref="sub:notation"/> -->
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:group name="redefinable">
-    <xsd:annotation>
-      <xsd:documentation>
-        This group is for the
-        elements which can self-redefine (see &lt;redefine> below).
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element ref="sub:simpleType" />
-      <xsd:element ref="sub:complexType" />
-      <xsd:element ref="sub:group" />
-      <!-- <xsd:element ref="sub:attributeGroup"/> -->
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:simpleType name="formChoice">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:NMTOKEN">
-      <xsd:enumeration value="qualified" />
-      <xsd:enumeration value="unqualified" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="reducedDerivationControl">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="sub:derivationControl">
-      <!-- <xsd:enumeration value="extension"/> -->
-      <xsd:enumeration value="restriction" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="derivationSet">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-      <xsd:documentation>
-        #all or (possibly empty) subset of {extension, restriction}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:union>
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:token">
-          <xsd:enumeration value="#all" />
-        </xsd:restriction>
-      </xsd:simpleType>
-      <xsd:simpleType>
-        <xsd:list itemType="sub:reducedDerivationControl" />
-      </xsd:simpleType>
-    </xsd:union>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="typeDerivationControl">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="sub:derivationControl">
-      <!-- <xsd:enumeration value="extension"/> -->
-      <xsd:enumeration value="restriction" />
-      <!-- <xsd:enumeration value="list"/> -->
-      <xsd:enumeration value="union" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="fullDerivationSet">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-      <xsd:documentation>
-        #all or (possibly empty) subset of {extension, restriction, list, union}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:union>
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:token">
-          <xsd:enumeration value="#all" />
-        </xsd:restriction>
-      </xsd:simpleType>
-      <xsd:simpleType>
-        <xsd:list itemType="sub:typeDerivationControl" />
-      </xsd:simpleType>
-    </xsd:union>
-  </xsd:simpleType>
-
-  <xsd:element name="schema" id="schema">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-schema" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:extension base="sub:openAttrs">
-          <xsd:sequence>
-            <xsd:choice minOccurs="0" maxOccurs="unbounded">
-              <xsd:element ref="sub:include" />
-              <xsd:element ref="sub:import" />
-              <!-- <xsd:element ref="sub:redefine"/> -->
-              <xsd:element ref="sub:annotation" />
-            </xsd:choice>
-            <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-              <xsd:group ref="sub:schemaTop" />
-              <xsd:element ref="sub:annotation" minOccurs="0"
-                maxOccurs="unbounded" />
-            </xsd:sequence>
-          </xsd:sequence>
-          <xsd:attribute name="targetNamespace" type="xsd:anyURI" />
-          <xsd:attribute name="version" type="xsd:token" />
-          <!-- <xsd:attribute name="finalDefault" type="sub:fullDerivationSet" 
-            use="optional" default=""/>
-            <xsd:attribute name="blockDefault" type="sub:blockSet" use="optional" 
-            default=""/>
-          -->
-          <xsd:attribute name="attributeFormDefault" type="sub:formChoice"
-            use="optional" default="unqualified" />
-          <xsd:attribute name="elementFormDefault" type="sub:formChoice"
-            use="optional" default="unqualified" />
-          <xsd:attribute name="id" type="xsd:ID" />
-          <xsd:attribute ref="xml:lang" />
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:key name="element">
-      <xsd:selector xpath="sub:element" />
-      <xsd:field xpath="@name" />
-    </xsd:key>
-
-    <xsd:key name="attribute">
-      <xsd:selector xpath="sub:attribute" />
-      <xsd:field xpath="@name" />
-    </xsd:key>
-
-    <xsd:key name="type">
-      <xsd:selector xpath="sub:complexType|sub:simpleType" />
-      <xsd:field xpath="@name" />
-    </xsd:key>
-
-    <xsd:key name="group">
-      <xsd:selector xpath="sub:group" />
-      <xsd:field xpath="@name" />
-    </xsd:key>
-
-    <xsd:key name="attributeGroup">
-      <xsd:selector xpath="sub:attributeGroup" />
-      <xsd:field xpath="@name" />
-    </xsd:key>
-
-    <!-- not in DFDL v1.0
-      <xsd:key name="notation">
-      <xsd:selector xpath="sub:notation"/>
-      <xsd:field xpath="@name"/>
-      </xsd:key>
-
-
-      <xsd:key name="identityConstraint">
-      <xsd:selector xpath=".//xsd:key|.//xsd:unique|.//xsd:keyref"/>
-      <xsd:field xpath="@name"/>
-      </xsd:key>
-    -->
-  </xsd:element>
-
-  <xsd:simpleType name="allNNI">
-    <xsd:annotation>
-      <xsd:documentation>
-        for maxOccurs
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:union memberTypes="xsd:nonNegativeInteger">
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:NMTOKEN">
-          <xsd:enumeration value="unbounded" />
-        </xsd:restriction>
-      </xsd:simpleType>
-    </xsd:union>
-  </xsd:simpleType>
-
-  <xsd:attributeGroup name="occurs">
-    <xsd:annotation>
-      <xsd:documentation>
-        for all particles
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="minOccurs" type="xsd:nonNegativeInteger"
-      use="optional" default="1" />
-    <xsd:attribute name="maxOccurs" type="sub:allNNI" use="optional"
-      default="1" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="defRef">
-    <xsd:annotation>
-      <xsd:documentation>
-        for element, group and attributeGroup,
-        which both define and reference
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:NCName" />
-    <xsd:attribute name="ref" type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <xsd:group name="typeDefParticle">
-    <xsd:annotation>
-      <xsd:documentation>
-        'complexType' uses this
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="group" type="sub:groupRef" />
-      <!-- <xsd:element ref="xsd:all"/> -->
-      <xsd:element ref="sub:choice" />
-      <xsd:element ref="sub:sequence" />
-    </xsd:choice>
-  </xsd:group>
-
-
-
-  <xsd:group name="nestedParticle">
-    <xsd:choice>
-      <xsd:element name="element" type="sub:localElement" />
-      <xsd:element name="group" type="sub:groupRef" />
-      <xsd:element ref="sub:choice" />
-      <xsd:element ref="sub:sequence" />
-      <!-- <xsd:element ref="sub:any"/> -->
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:group name="particle">
-    <xsd:choice>
-      <xsd:element name="element" type="sub:localElement" />
-      <xsd:element name="group" type="sub:groupRef" />
-      <!-- <xsd:element ref="xsd:all"/> -->
-      <xsd:element ref="sub:choice" />
-      <xsd:element ref="sub:sequence" />
-      <!-- <xsd:element ref="sub:any"/> -->
-    </xsd:choice>
-  </xsd:group>
-
-  <!-- No attributes in DFDL v1.0
-    <xsd:complexType name="attribute">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:sequence>
-    <xsd:element name="simpleType" minOccurs="0" type="sub:localSimpleType"/>
-    </xsd:sequence>
-    <xsd:attributeGroup ref="sub:defRef"/>
-    <xsd:attribute name="type" type="xsd:QName"/>
-    <xsd:attribute name="use" use="optional" default="optional">
-    <xsd:simpleType>
-    <xsd:restriction base="xsd:NMTOKEN">
-    <xsd:enumeration value="prohibited"/>
-    <xsd:enumeration value="optional"/>
-    <xsd:enumeration value="required"/>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:attribute>
-    <xsd:attribute name="default" type="xsd:string"/>
-    <xsd:attribute name="fixed" type="xsd:string"/>
-    <xsd:attribute name="form" type="sub:formChoice"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="topLevelAttribute">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:attribute">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:element name="simpleType" minOccurs="0" type="sub:localSimpleType"/>
-    </xsd:sequence>
-    <xsd:attribute name="ref" use="prohibited"/>
-    <xsd:attribute name="form" use="prohibited"/>
-    <xsd:attribute name="use" use="prohibited"/>
-    <xsd:attribute name="name" use="required" type="xsd:NCName"/>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-  -->
-
-  <!-- No attribute decls of any sort in DFDL v1.0
-    <xsd:group name="attrDecls">
-    <xsd:sequence>
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-    <xsd:element name="attribute" type="sub:attribute"/>
-    <xsd:element name="attributeGroup" type="sub:attributeGroupRef"/>
-    </xsd:choice>
-    <xsd:element ref="sub:anyAttribute" minOccurs="0"/>
-    </xsd:sequence>
-    </xsd:group>
-  -->
-  <!--
-    <xsd:element name="anyAttribute" type="sub:wildcard" id="anyAttribute">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
-    </xsd:annotation>
-    </xsd:element>
-  -->
-  <xsd:group name="complexTypeModel">
-    <xsd:choice>
-      <!-- <xsd:element ref="sub:simpleContent"/> Not DFDL v1.0 -->
-      <!-- <xsd:element ref="sub:complexContent"/> Not DFDL v1.0 -->
-      <xsd:sequence>
-        <xsd:annotation>
-          <xsd:documentation>
-            This branch is short for
-            &lt;complexContent>
-            &lt;restriction base="xsd:anyType">
-            ...
-            &lt;/restriction>
-            &lt;/complexContent></xsd:documentation>
-        </xsd:annotation>
-        <xsd:group ref="sub:typeDefParticle" minOccurs="0" />
-        <!-- <xsd:group ref="sub:attrDecls"/> --> <!-- no attributes in DFDL -->
-      </xsd:sequence>
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="complexType" abstract="true">
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:group ref="sub:complexTypeModel" />
-        <xsd:attribute name="name" type="xsd:NCName">
-          <xsd:annotation>
-            <xsd:documentation>
-              Will be restricted to required or forbidden
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <!-- No type derivation (for complex types in DFDL v1.0
-          <xsd:attribute name="mixed" type="xsd:boolean" use="optional" default="false">
-          <xsd:annotation>
-          <xsd:documentation>
-          Not allowed if simpleContent child is chosen.
-          May be overriden by setting on complexContent child.</xsd:documentation>
-          </xsd:annotation>
-          </xsd:attribute>
-        -->
-        <!-- none of these make sense in DFDL v1.0. Changed to "prohibited" -->
-        <xsd:attribute name="abstract" type="xsd:boolean"
-          use="prohibited" /> <!-- default="false" -->
-        <xsd:attribute name="final" type="sub:derivationSet"
-          use="prohibited" />
-        <xsd:attribute name="block" type="sub:derivationSet"
-          use="prohibited" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-
-  <!--
-    <xsd:complexType name="restrictionType">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:sequence>
-    <xsd:choice minOccurs="0">
-    <xsd:group ref="sub:typeDefParticle"/>
-    <xsd:group ref="sub:simpleRestrictionModel"/>
-    </xsd:choice>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attribute name="base" type="xsd:QName" use="required"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-
-
-    <xsd:complexType name="extensionType">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:sequence>
-    <xsd:group ref="sub:typeDefParticle" minOccurs="0"/>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attribute name="base" type="xsd:QName" use="required"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-  -->
-
-
-  <!--
-    <xsd:complexType name="simpleExtensionType">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:extensionType">
-    <xsd:sequence>
-    <xsd:annotation>
-    <xsd:documentation>
-    No typeDefParticle group reference</xsd:documentation>
-    </xsd:annotation>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-
-    <xsd:element name="simpleContent" id="simpleContent">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:choice>
-    <xsd:element name="restriction" type="sub:simpleRestrictionType"/>
-    <xsd:element name="extension" type="sub:simpleExtensionType"/>
-    </xsd:choice>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-
-  <xsd:attributeGroup name="anyOther">
-    <!--
-      
-      IBM's DFDL Schemas have ibm-specific attributes on them that we 
-      need to tolerate. Users may want to decorate their DFDL schemas with
-      other non-native and non-DFDL attributes and annotation sub-elements.
-      
-      So the behavior here has been switched back to the XSD Default behavior
-      which is lax validation allowing any other attribute to appear.
-      
-      The problem: this disables ability to catch certain typographical errors.
-      In fact a bunch of our negative tests will have to be fixed, as they are 
-      counting on errors from validation of these typos and mistakes and 
-      that sort of thing.
-      
-      A common error is to forget the dfdl: prefix on 
-      a short form dfdl property binding, or to include the dfdl: prefix
-      one on a long-form format annotation. This will no longer be caught by 
-      the validator. 
-      
-      We will have to build explicit checking for this into Daffodil's traversal
-      of the schema. 
-      
-      -->
-    <xsd:anyAttribute namespace="##other" processContents="lax"/> 
-    <!-- <xsd:anyAttribute namespace="##other" processContents="strict"/> -->
-
-
-    <!-- need some wildcard to allow xml:lang, xml:space etc. which do appear in 
-      schemas sometimes -->
-      
-    <!-- Daffodil augments schemas with dafint:file dafint:line and dafint:col -->
-          
-    <!-- Daffodil extensions to DFDL intended for end-users use the dafext namespace -->
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- 
+
+To get enforcement of the XML Schema Subset for DFDL, but at the 
+same time let users use the original XML Schema namespace URI, we
+give this schema the XML Schema URI as its namespace, and we use 
+this to validate when we load a DFDL Schema.
+
+ -->
+<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
+<!-- Note this schema is NOT the normative structures schema. -->
+<!-- The prose copy in the structures REC is the normative -->
+<!-- version (which shouldn't differ from this one except for -->
+<!-- this comment and entity expansions, but just in case -->
+
+<xsd:schema  
+  targetNamespace="http://www.w3.org/2001/XMLSchema"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  blockDefault="#all" elementFormDefault="qualified" version="1.0"
+  xml:lang="EN" xmlns:xml="http://www.w3.org/XML/1998/namespace"
+  xmlns:sub="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+  xsi:schemaLocation="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int dafint.xsd">
+  <!-- Use the real URI for this, not the subset URI
+   "http://www.w3.org/2001/XMLSchema"
+  -->
+
+  <xsd:import namespace="http://www.ogf.org/dfdl/dfdl-1.0/" />
+    
+  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
+    schemaLocation="dafint.xsd"/>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
+      Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation
+      source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
+      The schema corresponding to this document is normative,
+      with respect to the syntactic constraints it expresses in the
+      XML Schema language. The documentation (within &lt;documentation>
+      elements)
+      below, is not normative, but rather highlights important aspects of
+      the W3C Recommendation of which this is a part
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      The simpleType element and all of its members are defined
+      towards the end
+      of this schema document
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
+    schemaLocation="./xml.xsd">
+    <xsd:annotation>
+      <xsd:documentation>
+        Get access to the xml: attribute groups for xml:lang
+        as declared on 'schema' and 'documentation' below
+      </xsd:documentation>
+    </xsd:annotation>
+  </xsd:import>
+
+  <xsd:complexType name="openAttrs">
+    <xsd:annotation>
+      <xsd:documentation>
+        This type is extended by almost all schema types
+        to allow attributes from other namespaces to be
+        added to user schemas.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexContent>
+      <xsd:restriction base="xsd:anyType">
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="annotated">
+    <xsd:annotation>
+      <xsd:documentation>
+        This type is extended by all types which allow annotation
+        other than &lt;schema&gt; itself
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexContent>
+      <xsd:extension base="sub:openAttrs">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:group name="schemaTop">
+    <xsd:annotation>
+      <xsd:documentation>
+        This group is for the
+        elements which occur freely at the top level of schemas.
+        All of their types are based on the "annotated" type by extension.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:group ref="sub:redefinable" />
+      <xsd:element ref="sub:element" />
+      <!-- <xsd:element ref="sub:attribute"/> -->
+      <!-- <xsd:element ref="sub:notation"/> -->
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:group name="redefinable">
+    <xsd:annotation>
+      <xsd:documentation>
+        This group is for the
+        elements which can self-redefine (see &lt;redefine> below).
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element ref="sub:simpleType" />
+      <xsd:element ref="sub:complexType" />
+      <xsd:element ref="sub:group" />
+      <!-- <xsd:element ref="sub:attributeGroup"/> -->
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:simpleType name="formChoice">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="qualified" />
+      <xsd:enumeration value="unqualified" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="reducedDerivationControl">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="sub:derivationControl">
+      <!-- <xsd:enumeration value="extension"/> -->
+      <xsd:enumeration value="restriction" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="derivationSet">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+      <xsd:documentation>
+        #all or (possibly empty) subset of {extension, restriction}
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union>
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:token">
+          <xsd:enumeration value="#all" />
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType>
+        <xsd:list itemType="sub:reducedDerivationControl" />
+      </xsd:simpleType>
+    </xsd:union>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="typeDerivationControl">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="sub:derivationControl">
+      <!-- <xsd:enumeration value="extension"/> -->
+      <xsd:enumeration value="restriction" />
+      <!-- <xsd:enumeration value="list"/> -->
+      <xsd:enumeration value="union" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="fullDerivationSet">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+      <xsd:documentation>
+        #all or (possibly empty) subset of {extension, restriction, list, union}
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union>
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:token">
+          <xsd:enumeration value="#all" />
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType>
+        <xsd:list itemType="sub:typeDerivationControl" />
+      </xsd:simpleType>
+    </xsd:union>
+  </xsd:simpleType>
+
+  <xsd:element name="schema" id="schema">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-schema" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="sub:openAttrs">
+          <xsd:sequence>
+            <xsd:choice minOccurs="0" maxOccurs="unbounded">
+              <xsd:element ref="sub:include" />
+              <xsd:element ref="sub:import" />
+              <!-- <xsd:element ref="sub:redefine"/> -->
+              <xsd:element ref="sub:annotation" />
+            </xsd:choice>
+            <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+              <xsd:group ref="sub:schemaTop" />
+              <xsd:element ref="sub:annotation" minOccurs="0"
+                maxOccurs="unbounded" />
+            </xsd:sequence>
+          </xsd:sequence>
+          <xsd:attribute name="targetNamespace" type="xsd:anyURI" />
+          <xsd:attribute name="version" type="xsd:token" />
+          <!-- <xsd:attribute name="finalDefault" type="sub:fullDerivationSet" 
+            use="optional" default=""/>
+            <xsd:attribute name="blockDefault" type="sub:blockSet" use="optional" 
+            default=""/>
+          -->
+          <xsd:attribute name="attributeFormDefault" type="sub:formChoice"
+            use="optional" default="unqualified" />
+          <xsd:attribute name="elementFormDefault" type="sub:formChoice"
+            use="optional" default="unqualified" />
+          <xsd:attribute name="id" type="xsd:ID" />
+          <xsd:attribute ref="xml:lang" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:key name="element">
+      <xsd:selector xpath="sub:element" />
+      <xsd:field xpath="@name" />
+    </xsd:key>
+
+    <xsd:key name="attribute">
+      <xsd:selector xpath="sub:attribute" />
+      <xsd:field xpath="@name" />
+    </xsd:key>
+
+    <xsd:key name="type">
+      <xsd:selector xpath="sub:complexType|sub:simpleType" />
+      <xsd:field xpath="@name" />
+    </xsd:key>
+
+    <xsd:key name="group">
+      <xsd:selector xpath="sub:group" />
+      <xsd:field xpath="@name" />
+    </xsd:key>
+
+    <xsd:key name="attributeGroup">
+      <xsd:selector xpath="sub:attributeGroup" />
+      <xsd:field xpath="@name" />
+    </xsd:key>
+
+    <!-- not in DFDL v1.0
+      <xsd:key name="notation">
+      <xsd:selector xpath="sub:notation"/>
+      <xsd:field xpath="@name"/>
+      </xsd:key>
+
+
+      <xsd:key name="identityConstraint">
+      <xsd:selector xpath=".//xsd:key|.//xsd:unique|.//xsd:keyref"/>
+      <xsd:field xpath="@name"/>
+      </xsd:key>
+    -->
+  </xsd:element>
+
+  <xsd:simpleType name="allNNI">
+    <xsd:annotation>
+      <xsd:documentation>
+        for maxOccurs
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union memberTypes="xsd:nonNegativeInteger">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:NMTOKEN">
+          <xsd:enumeration value="unbounded" />
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:union>
+  </xsd:simpleType>
+
+  <xsd:attributeGroup name="occurs">
+    <xsd:annotation>
+      <xsd:documentation>
+        for all particles
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="minOccurs" type="xsd:nonNegativeInteger"
+      use="optional" default="1" />
+    <xsd:attribute name="maxOccurs" type="sub:allNNI" use="optional"
+      default="1" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="defRef">
+    <xsd:annotation>
+      <xsd:documentation>
+        for element, group and attributeGroup,
+        which both define and reference
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="name" type="xsd:NCName" />
+    <xsd:attribute name="ref" type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <xsd:group name="typeDefParticle">
+    <xsd:annotation>
+      <xsd:documentation>
+        'complexType' uses this
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element name="group" type="sub:groupRef" />
+      <!-- <xsd:element ref="xsd:all"/> -->
+      <xsd:element ref="sub:choice" />
+      <xsd:element ref="sub:sequence" />
+    </xsd:choice>
+  </xsd:group>
+
+
+
+  <xsd:group name="nestedParticle">
+    <xsd:choice>
+      <xsd:element name="element" type="sub:localElement" />
+      <xsd:element name="group" type="sub:groupRef" />
+      <xsd:element ref="sub:choice" />
+      <xsd:element ref="sub:sequence" />
+      <!-- <xsd:element ref="sub:any"/> -->
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:group name="particle">
+    <xsd:choice>
+      <xsd:element name="element" type="sub:localElement" />
+      <xsd:element name="group" type="sub:groupRef" />
+      <!-- <xsd:element ref="xsd:all"/> -->
+      <xsd:element ref="sub:choice" />
+      <xsd:element ref="sub:sequence" />
+      <!-- <xsd:element ref="sub:any"/> -->
+    </xsd:choice>
+  </xsd:group>
+
+  <!-- No attributes in DFDL v1.0
+    <xsd:complexType name="attribute">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:sequence>
+    <xsd:element name="simpleType" minOccurs="0" type="sub:localSimpleType"/>
+    </xsd:sequence>
+    <xsd:attributeGroup ref="sub:defRef"/>
+    <xsd:attribute name="type" type="xsd:QName"/>
+    <xsd:attribute name="use" use="optional" default="optional">
+    <xsd:simpleType>
+    <xsd:restriction base="xsd:NMTOKEN">
+    <xsd:enumeration value="prohibited"/>
+    <xsd:enumeration value="optional"/>
+    <xsd:enumeration value="required"/>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attribute name="default" type="xsd:string"/>
+    <xsd:attribute name="fixed" type="xsd:string"/>
+    <xsd:attribute name="form" type="sub:formChoice"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="topLevelAttribute">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:attribute">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:element name="simpleType" minOccurs="0" type="sub:localSimpleType"/>
+    </xsd:sequence>
+    <xsd:attribute name="ref" use="prohibited"/>
+    <xsd:attribute name="form" use="prohibited"/>
+    <xsd:attribute name="use" use="prohibited"/>
+    <xsd:attribute name="name" use="required" type="xsd:NCName"/>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+  -->
+
+  <!-- No attribute decls of any sort in DFDL v1.0
+    <xsd:group name="attrDecls">
+    <xsd:sequence>
+    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+    <xsd:element name="attribute" type="sub:attribute"/>
+    <xsd:element name="attributeGroup" type="sub:attributeGroupRef"/>
+    </xsd:choice>
+    <xsd:element ref="sub:anyAttribute" minOccurs="0"/>
+    </xsd:sequence>
+    </xsd:group>
+  -->
+  <!--
+    <xsd:element name="anyAttribute" type="sub:wildcard" id="anyAttribute">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
+    </xsd:annotation>
+    </xsd:element>
+  -->
+  <xsd:group name="complexTypeModel">
+    <xsd:choice>
+      <!-- <xsd:element ref="sub:simpleContent"/> Not DFDL v1.0 -->
+      <!-- <xsd:element ref="sub:complexContent"/> Not DFDL v1.0 -->
+      <xsd:sequence>
+        <xsd:annotation>
+          <xsd:documentation>
+            This branch is short for
+            &lt;complexContent>
+            &lt;restriction base="xsd:anyType">
+            ...
+            &lt;/restriction>
+            &lt;/complexContent></xsd:documentation>
+        </xsd:annotation>
+        <xsd:group ref="sub:typeDefParticle" minOccurs="0" />
+        <!-- <xsd:group ref="sub:attrDecls"/> --> <!-- no attributes in DFDL -->
+      </xsd:sequence>
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:complexType name="complexType" abstract="true">
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:group ref="sub:complexTypeModel" />
+        <xsd:attribute name="name" type="xsd:NCName">
+          <xsd:annotation>
+            <xsd:documentation>
+              Will be restricted to required or forbidden
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:attribute>
+        <!-- No type derivation (for complex types in DFDL v1.0
+          <xsd:attribute name="mixed" type="xsd:boolean" use="optional" default="false">
+          <xsd:annotation>
+          <xsd:documentation>
+          Not allowed if simpleContent child is chosen.
+          May be overriden by setting on complexContent child.</xsd:documentation>
+          </xsd:annotation>
+          </xsd:attribute>
+        -->
+        <!-- none of these make sense in DFDL v1.0. Changed to "prohibited" -->
+        <xsd:attribute name="abstract" type="xsd:boolean"
+          use="prohibited" /> <!-- default="false" -->
+        <xsd:attribute name="final" type="sub:derivationSet"
+          use="prohibited" />
+        <xsd:attribute name="block" type="sub:derivationSet"
+          use="prohibited" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <!--
+    <xsd:complexType name="restrictionType">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:sequence>
+    <xsd:choice minOccurs="0">
+    <xsd:group ref="sub:typeDefParticle"/>
+    <xsd:group ref="sub:simpleRestrictionModel"/>
+    </xsd:choice>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attribute name="base" type="xsd:QName" use="required"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+
+
+    <xsd:complexType name="extensionType">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:sequence>
+    <xsd:group ref="sub:typeDefParticle" minOccurs="0"/>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attribute name="base" type="xsd:QName" use="required"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+  -->
+
+
+  <!--
+    <xsd:complexType name="simpleExtensionType">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:extensionType">
+    <xsd:sequence>
+    <xsd:annotation>
+    <xsd:documentation>
+    No typeDefParticle group reference</xsd:documentation>
+    </xsd:annotation>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+
+    <xsd:element name="simpleContent" id="simpleContent">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:choice>
+    <xsd:element name="restriction" type="sub:simpleRestrictionType"/>
+    <xsd:element name="extension" type="sub:simpleExtensionType"/>
+    </xsd:choice>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+
+  <xsd:attributeGroup name="anyOther">
+    <!--
+      
+      IBM's DFDL Schemas have ibm-specific attributes on them that we 
+      need to tolerate. Users may want to decorate their DFDL schemas with
+      other non-native and non-DFDL attributes and annotation sub-elements.
+      
+      So the behavior here has been switched back to the XSD Default behavior
+      which is lax validation allowing any other attribute to appear.
+      
+      The problem: this disables ability to catch certain typographical errors.
+      In fact a bunch of our negative tests will have to be fixed, as they are 
+      counting on errors from validation of these typos and mistakes and 
+      that sort of thing.
+      
+      A common error is to forget the dfdl: prefix on 
+      a short form dfdl property binding, or to include the dfdl: prefix
+      one on a long-form format annotation. This will no longer be caught by 
+      the validator. 
+      
+      We will have to build explicit checking for this into Daffodil's traversal
+      of the schema. 
+      
+      -->
+    <xsd:anyAttribute namespace="##other" processContents="lax"/> 
+    <!-- <xsd:anyAttribute namespace="##other" processContents="strict"/> -->
+
+
+    <!-- need some wildcard to allow xml:lang, xml:space etc. which do appear in 
+      schemas sometimes -->
+      
+    <!-- Daffodil augments schemas with dafint:file dafint:line and dafint:col -->
           
-    <!-- Not important to validate these, and we need to tolerate
-      Other attributes from other DFDL implementations -->
-     
-     <!-- <xsd:anyAttribute 
-    namespace="http://www.w3.org/XML/1998/namespace 
-    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int 
-    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext
-    http://www.ibm.com/schema/extensions"
-      processContents="lax"
-    /> -->
-
-
-  </xsd:attributeGroup>
-
-  <xsd:complexType name="topLevelComplexType">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:complexType">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:group ref="sub:complexTypeModel" />
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:NCName" use="required" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="localComplexType">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:complexType">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:group ref="sub:complexTypeModel" />
-        </xsd:sequence>
-        <xsd:attribute name="name" use="prohibited" />
-        <xsd:attribute name="abstract" use="prohibited" />
-        <xsd:attribute name="final" use="prohibited" />
-        <xsd:attribute name="block" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-
-  <!--
-    <xsd:complexType name="complexRestrictionType">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:restrictionType">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:choice minOccurs="0">
-    <xsd:annotation>
-    <xsd:documentation>This choice is added simply to
-    make this a valid restriction per the REC</xsd:documentation>
-    </xsd:annotation>
-    <xsd:group ref="sub:typeDefParticle"/>
-    </xsd:choice>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-  -->
-
-  <!--
-    <xsd:element name="complexContent" id="complexContent">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-
-    <xsd:choice>
-    <xsd:element name="restriction" type="sub:complexRestrictionType"/>
-    <xsd:element name="extension" type="sub:extensionType"/>
-    </xsd:choice>
-
-    No mixed content in DFDL v1.0
-    <xsd:attribute name="mixed" type="xsd:boolean">
-    <xsd:annotation>
-    <xsd:documentation>
-    Overrides any setting on complexType parent.</xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-  <!--
-    <xsd:complexType name="simpleRestrictionType">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:restrictionType">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:choice minOccurs="0">
-    <xsd:annotation>
-    <xsd:documentation>This choice is added simply to
-    make this a valid restriction per the REC</xsd:documentation>
-    </xsd:annotation>
-    <xsd:group ref="sub:simpleRestrictionModel"/>
-    </xsd:choice>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-  -->
-
-  <xsd:element name="complexType" type="sub:topLevelComplexType"
-    id="complexType">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-complexType" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:simpleType name="__blockSet">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-      <xsd:documentation>
-        #all or (possibly empty) subset of {substitution, extension,
-        restriction}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:union>
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:token">
-          <xsd:enumeration value="#all" />
-        </xsd:restriction>
-      </xsd:simpleType>
-      <xsd:simpleType>
-        <xsd:list>
-          <xsd:simpleType>
-            <xsd:restriction base="sub:derivationControl">
-              <!-- <xsd:enumeration value="extension"/> -->
-              <xsd:enumeration value="restriction" />
-              <!-- <xsd:enumeration value="substitution"/> -->
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:list>
-      </xsd:simpleType>
-    </xsd:union>
-  </xsd:simpleType>
-
-  <xsd:complexType name="element" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>
-        The element element can be used either
-        at the top level to define an element-type binding globally,
-        or within a content model to either reference a globally-defined
-        element or type or declare an element-type binding locally.
-        The ref form is not allowed at the top level.
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:sequence>
-          <xsd:choice minOccurs="0" maxOccurs="1">
-            <xsd:element name="simpleType" type="sub:localSimpleType" />
-            <xsd:element name="complexType" type="sub:localComplexType" />
-          </xsd:choice>
-          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
-            Not in DFDL v1.0 -->
-        </xsd:sequence>
-        <xsd:attributeGroup ref="sub:defRef" />
-        <xsd:attribute name="type" type="xsd:QName" />
-        <!-- <xsd:attribute name="substitutionGroup" type="xsd:QName"/> Not 
-          in DFDL v1.0 -->
-        <xsd:attributeGroup ref="sub:occurs" />
-        <xsd:attribute name="default" type="xsd:string" />
-        <xsd:attribute name="fixed" type="xsd:string" />
-        <!-- remove default="false" because Xerces is inserting that
-        as part of its parsing, and that ends up being incorrect since
-        element references cannot have nillable -->
-        <xsd:attribute name="nillable" type="xsd:boolean" />
-        <!-- Not in DFDL v1.0
-          <xsd:attribute name="abstract" type="xsd:boolean" use="optional" 
-          default="false"/>
-          <xsd:attribute name="final" type="sub:derivationSet"/>
-          <xsd:attribute name="block" type="sub:blockSet"/>
-          <xsd:attribute name="form" type="sub:formChoice"/>
-        -->
-        <!--
-          Include short-form DFDL Attributes.
-        -->
-        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
-        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
-        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
-        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
-        <xsd:attributeGroup ref="dfdl:ElementAGQualified" />
-
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="topLevelElement">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:element">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:choice minOccurs="0">
-            <xsd:element name="simpleType" type="sub:localSimpleType" />
-            <xsd:element name="complexType" type="sub:localComplexType" />
-          </xsd:choice>
-          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
-            Not in DFDL v1.0 -->
-        </xsd:sequence>
-        <xsd:attribute name="ref" use="prohibited" />
-        <xsd:attribute name="form" use="prohibited" />
-        <xsd:attribute name="minOccurs" use="prohibited" />
-        <xsd:attribute name="maxOccurs" use="prohibited" />
-        <xsd:attribute name="name" use="required" type="xsd:NCName" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="localElement">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:element">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:choice minOccurs="0">
-            <xsd:element name="simpleType" type="sub:localSimpleType" />
-            <xsd:element name="complexType" type="sub:localComplexType" />
-          </xsd:choice>
-          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
-            Not in DFDL v1.0 -->
-        </xsd:sequence>
-        <xsd:attribute name="substitutionGroup" use="prohibited" />
-        <xsd:attribute name="final" use="prohibited" />
-        <xsd:attribute name="abstract" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="element" type="sub:topLevelElement" id="element">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-element" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:complexType name="group" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>
-        group type for explicit groups, named top-level groups and
-        group references
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:group ref="sub:particle" minOccurs="0" maxOccurs="unbounded" />
-        <xsd:attributeGroup ref="sub:defRef" />
-        <!-- No Occurs except on elements in DFDL v1.0
-          <xsd:attributeGroup ref="sub:occurs"/>
-        -->
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="realGroup">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:group">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:choice minOccurs="0" maxOccurs="1">
-            <xsd:element ref="sub:choice" />
-            <xsd:element ref="sub:sequence" />
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="namedGroup">
-    <xsd:complexContent>
-      <xsd:extension base="sub:realGroup">
-        <!-- <xsd:attribute name="name" use="required" type="xsd:NCName"/> -->
-        <xsd:attribute name="ref" use="prohibited" />
-        <xsd:attribute name="minOccurs" use="prohibited" />
-        <xsd:attribute name="maxOccurs" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="groupRef">
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:attribute name="ref" use="required" type="xsd:QName" />
-        <xsd:attribute name="name" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-
-        <!-- DFDL -->
-
-        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
-        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
-        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
-        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
-        <xsd:attributeGroup ref="dfdl:GroupAGQualified" />
-
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="explicitGroup">
-    <xsd:annotation>
-      <xsd:documentation>
-        group type for the three kinds of group
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element ref="sub:annotation" minOccurs="0" />
-      <xsd:group ref="sub:nestedParticle" minOccurs="0"
-        maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attributeGroup ref="sub:anyOther" />
-
-    <!-- DFDL attributes for short form -->
-    <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
-    <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
-    <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
-    <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
-    <xsd:attributeGroup ref="dfdl:GroupCommonAGQualified" />
-  </xsd:complexType>
-
-  <xsd:complexType name="simpleExplicitGroup">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:explicitGroup">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:group ref="sub:nestedParticle" minOccurs="0"
-            maxOccurs="unbounded" />
-        </xsd:sequence>
-        <xsd:attribute name="minOccurs" use="prohibited" />
-        <xsd:attribute name="maxOccurs" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <!-- No ALL groups in DFDL v1.0
-    <xsd:group name="allModel">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-    <xsd:annotation>
-    <xsd:documentation>This choice with min/max is here to
-    avoid a pblm with the Elt:All/Choice/Seq
-    Particle derivation constraint</xsd:documentation>
-    </xsd:annotation>
-    <xsd:element name="element" type="sub:narrowMaxMin"/>
-    </xsd:choice>
-    </xsd:sequence>
-    </xsd:group>
-  -->
-
-  <xsd:complexType name="narrowMaxMin">
-    <xsd:annotation>
-      <xsd:documentation>restricted max/min</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:restriction base="sub:localElement">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:choice minOccurs="0">
-            <xsd:element name="simpleType" type="sub:localSimpleType" />
-            <xsd:element name="complexType" type="sub:localComplexType" />
-          </xsd:choice>
-          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
-            Not in DFDL v1.0 -->
-        </xsd:sequence>
-        <xsd:attribute name="minOccurs" use="optional"
-          default="1">
-          <xsd:simpleType>
-            <xsd:restriction base="xsd:nonNegativeInteger">
-              <xsd:enumeration value="0" />
-              <xsd:enumeration value="1" />
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:attribute>
-        <xsd:attribute name="maxOccurs" use="optional"
-          default="1">
-          <xsd:simpleType>
-            <xsd:restriction base="sub:allNNI">
-              <xsd:enumeration value="0" />
-              <xsd:enumeration value="1" />
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:attribute>
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="explicitChoiceGroup">
-    <xsd:complexContent>
-      <xsd:extension base="sub:explicitGroup">
-        <!-- DFDL -->
-        <xsd:attributeGroup ref="dfdl:ChoiceAGQualified" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="choice" type="sub:explicitChoiceGroup"
-    id="choice">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-choice" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:complexType name="explicitSequenceGroup">
-    <xsd:complexContent>
-      <xsd:extension base="sub:explicitGroup">
-        <!-- DFDL -->
-        <xsd:attributeGroup ref="dfdl:SequenceAGQualified" />
-        <xsd:attributeGroup ref="dfdl:SeparatorAGQualified" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="sequence" type="sub:explicitSequenceGroup"
-    id="sequence">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-sequence" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:element name="group" type="sub:namedGroup" id="group">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-group" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <!-- <xsd:complexType name="wildcard">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:attribute name="namespace" type="sub:namespaceList" use="optional" 
-    default="##any"/>
-  -->
-  <!-- Chapter 21: processContents not allowed in v1
-    <xsd:attribute name="processContents" use="optional" default="strict">
-    <xsd:simpleType>
-    <xsd:restriction base="xsd:NMTOKEN">
-    <xsd:enumeration value="skip"/>
-    <xsd:enumeration value="lax"/>
-    <xsd:enumeration value="strict"/>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:attribute>
-  --> <!--
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-  -->
-  <!-- No ANY wildcards in DFDL v1.0
-    <xsd:element name="any" id="any">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:wildcard">
-    <xsd:attributeGroup ref="sub:occurs"/>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-  <!--
-    <xsd:annotation>
-    <xsd:documentation>
-    simple type for the value of the 'namespace' attr of
-    'any' and 'anyAttribute'</xsd:documentation>
-    </xsd:annotation>
-    <xsd:annotation>
-    <xsd:documentation>
-    Value is
-    ##any - - any non-conflicting WFXML/attribute at all
-
-    ##other - - any non-conflicting WFXML/attribute from
-    namespace other than targetNS
-
-    ##local - - any unqualified non-conflicting WFXML/attribute
-
-    one or - - any non-conflicting WFXML/attribute from
-    more URI the listed namespaces
-    references
-    (space separated)
-
-    ##targetNamespace or ##local may appear in the above list, to
-    refer to the targetNamespace of the enclosing
-    schema or an absent targetNamespace respectively</xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleType name="namespaceList">
-    <xsd:annotation>
-    <xsd:documentation>
-    A utility type, not for public use</xsd:documentation>
-    </xsd:annotation>
-    <xsd:union>
-    <xsd:simpleType>
-    <xsd:restriction base="xsd:token">
-    <xsd:enumeration value="##any"/>
-    <xsd:enumeration value="##other"/>
-    </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType>
-    <xsd:list>
-    <xsd:simpleType>
-    <xsd:union memberTypes="xsd:anyURI">
-    <xsd:simpleType>
-    <xsd:restriction base="xsd:token">
-    <xsd:enumeration value="##targetNamespace"/>
-    <xsd:enumeration value="##local"/>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:union>
-    </xsd:simpleType>
-    </xsd:list>
-    </xsd:simpleType>
-    </xsd:union>
-    </xsd:simpleType>
-  -->
-  <!--
-    <xsd:element name="attribute" type="sub:topLevelAttribute" id="attribute">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
-    </xsd:annotation>
-    </xsd:element>
-
-    <xsd:complexType name="attributeGroup" abstract="true">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:group ref="sub:attrDecls"/>
-    <xsd:attributeGroup ref="sub:defRef"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="namedAttributeGroup">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:attributeGroup">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    <xsd:group ref="sub:attrDecls"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" use="required" type="xsd:NCName"/>
-    <xsd:attribute name="ref" use="prohibited"/>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="attributeGroupRef">
-    <xsd:complexContent>
-    <xsd:restriction base="sub:attributeGroup">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="ref" use="required" type="xsd:QName"/>
-    <xsd:attribute name="name" use="prohibited"/>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:element name="attributeGroup" type="sub:namedAttributeGroup" id="attributeGroup">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
-    </xsd:annotation>
-    </xsd:element>
-  -->
-
-  <xsd:element name="include" id="include">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-include" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:extension base="sub:annotated">
-          <xsd:attribute name="schemaLocation" type="xsd:anyURI"
-            use="required" />
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!--
-    <xsd:element name="redefine" id="redefine">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:openAttrs">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-    <xsd:element ref="sub:annotation"/>
-    <xsd:group ref="sub:redefinable"/>
-    </xsd:choice>
-    <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
-    <xsd:attribute name="id" type="xsd:ID"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-
-  <xsd:element name="import" id="import">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-import" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:extension base="sub:annotated">
-          <xsd:attribute name="namespace" type="xsd:anyURI" />
-          <xsd:attribute name="schemaLocation" type="xsd:anyURI" />
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!--
-    <xsd:element name="__selector" id="selector">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:attribute name="xpath" use="required">
-    <xsd:simpleType>
-    <xsd:annotation>
-    <xsd:documentation>A subset of XPath expressions for use
-    in selectors</xsd:documentation>
-    <xsd:documentation>A utility type, not for public
-    use</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-    <xsd:annotation>
-    <xsd:documentation>The following pattern is intended to allow XPath
-    expressions per the following EBNF:
-    Selector ::= Path ( '|' Path )*
-    Path ::= ('.//')? Step ( '/' Step )*
-    Step ::= '.' | NameTest
-    NameTest ::= QName | '*' | NCName ':' '*'
-    child:: is also allowed
-    </xsd:documentation>
-    </xsd:annotation>
-    <xsd:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
-    </xsd:pattern>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:attribute>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-
-    <xsd:element name="__field" id="field">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:attribute name="xpath" use="required">
-    <xsd:simpleType>
-    <xsd:annotation>
-    <xsd:documentation>A subset of XPath expressions for use
-    in fields</xsd:documentation>
-    <xsd:documentation>A utility type, not for public
-    use</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-    <xsd:annotation>
-    <xsd:documentation>The following pattern is intended to allow XPath
-    expressions per the same EBNF as for selector,
-    with the following change:
-    Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
-    </xsd:documentation>
-    </xsd:annotation>
-    <xsd:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
-    </xsd:pattern>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:attribute>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-
-    <xsd:complexType name="__keybase">
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:sequence>
-    <xsd:element ref="sub:selector"/>
-    <xsd:element ref="sub:field" minOccurs="1" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:NCName" use="required"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:group name="__identityConstraint">
-    <xsd:annotation>
-    <xsd:documentation>The three kinds of identity constraints, all with
-    type of or derived from 'keybase'.
-    </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-    <xsd:element ref="sub:unique"/>
-    <xsd:element ref="sub:key"/>
-    <xsd:element ref="sub:keyref"/>
-    </xsd:choice>
-    </xsd:group>
-
-    <xsd:element name="__unique" type="sub:keybase" id="unique">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
-    </xsd:annotation>
-    </xsd:element>
-    <xsd:element name="__key" type="sub:keybase" id="key">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
-    </xsd:annotation>
-    </xsd:element>
-    <xsd:element name="__keyref" id="keyref">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:keybase">
-    <xsd:attribute name="refer" type="xsd:QName" use="required"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-
-    <xsd:element name="__notation" id="notation">
-    <xsd:annotation>
-    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:attribute name="name" type="xsd:NCName" use="required"/>
-    <xsd:attribute name="public" type="sub:public"/>
-    <xsd:attribute name="system" type="xsd:anyURI"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-
-    <xsd:simpleType name="public">
-    <xsd:annotation>
-    <xsd:documentation>
-    A utility type, not for public use</xsd:documentation>
-    <xsd:documentation>
-    A public identifier, per ISO 8879</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token"/>
-    </xsd:simpleType>
-  -->
-  <xsd:element name="appinfo" id="appinfo">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-appinfo" />
-    </xsd:annotation>
-    <xsd:complexType mixed="true">
-      <xsd:choice minOccurs="0" maxOccurs="unbounded">
-        <xsd:any processContents="lax" />
-        <!--
-           strict so tooling will check DFDL annotations 
-          <xsd:any namespace="http://www.ogf.org/dfdl/dfdl-1.0/" processContents="strict"/>
-          <xsd:any namespace="##targetNamespace" processContents="lax"/>
-          <xsd:any namespace="##other" processContents="lax"/>
-        -->
-      </xsd:choice>
-      <xsd:attribute name="source" type="xsd:anyURI" />
-      <xsd:attributeGroup ref="sub:anyOther" />
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="documentation" id="documentation">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-documentation" />
-    </xsd:annotation>
-    <xsd:complexType mixed="true">
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:any processContents="lax" />
-      </xsd:sequence>
-      <xsd:attribute name="source" type="xsd:anyURI" />
-      <xsd:attribute ref="xml:lang" />
-      <xsd:attributeGroup ref="sub:anyOther" />
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="annotation" id="annotation">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-1/#element-annotation" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:extension base="sub:openAttrs">
-          <xsd:choice minOccurs="0" maxOccurs="unbounded">
-            <xsd:element ref="sub:appinfo" />
-            <xsd:element ref="sub:documentation" />
-          </xsd:choice>
-          <xsd:attribute name="id" type="xsd:ID" />
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-
-
-  <xsd:simpleType name="derivationControl">
-    <xsd:annotation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:NMTOKEN">
-      <!-- <xsd:enumeration value="substitution"/> -->
-      <!-- <xsd:enumeration value="extension"/> -->
-      <xsd:enumeration value="restriction" />
-      <!-- <xsd:enumeration value="list"/> -->
-      <xsd:enumeration value="union" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:group name="simpleDerivation">
-    <xsd:choice>
-      <xsd:element ref="sub:restriction" />
-      <!-- <xsd:element ref="sub:list"/> Not in DFDL v1.0 -->
-      <xsd:element ref="sub:union" />
-    </xsd:choice>
-  </xsd:group>
-
-
-
-  <xsd:simpleType name="simpleDerivationSet">
-    <xsd:annotation>
-      <xsd:documentation>
-        #all or (possibly empty) subset of {restriction, union, list}
-      </xsd:documentation>
-      <xsd:documentation>
-        A utility type, not for public use
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:union>
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:token">
-          <xsd:enumeration value="#all" />
-        </xsd:restriction>
-      </xsd:simpleType>
-      <xsd:simpleType>
-        <xsd:list>
-          <xsd:simpleType>
-            <xsd:restriction base="sub:derivationControl">
-              <!-- <xsd:enumeration value="list"/> -->
-              <xsd:enumeration value="union" />
-              <xsd:enumeration value="restriction" />
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:list>
-      </xsd:simpleType>
-    </xsd:union>
-  </xsd:simpleType>
-
-  <xsd:complexType name="simpleType" abstract="true">
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:group ref="sub:simpleDerivation" />
-        <xsd:attribute name="final" type="sub:simpleDerivationSet" />
-        <xsd:attribute name="name" type="xsd:NCName">
-          <xsd:annotation>
-            <xsd:documentation>
-              Can be restricted to required or
-              forbidden
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-
-        <!-- DFDL -->
-        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
-        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
-        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
-        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
-        <xsd:attributeGroup ref="dfdl:SimpleTypeAGQualified" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-
-  <xsd:complexType name="topLevelSimpleType">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:simpleType">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:group ref="sub:simpleDerivation" />
-        </xsd:sequence>
-        <xsd:attribute name="name" use="required" type="xsd:NCName">
-          <xsd:annotation>
-            <xsd:documentation>
-              Required at the top level
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="localSimpleType">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:simpleType">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-          <xsd:group ref="sub:simpleDerivation" />
-        </xsd:sequence>
-        <xsd:attribute name="name" use="prohibited">
-          <xsd:annotation>
-            <xsd:documentation>
-              Forbidden when nested
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attribute name="final" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="simpleType" type="sub:topLevelSimpleType"
-    id="simpleType">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:group name="facets">
-    <xsd:annotation>
-      <xsd:documentation>
-        We should use a substitution group for facets, but
-        that's ruled out because it would allow users to
-        add their own, which we're not ready for yet.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element ref="sub:minExclusive" />
-      <xsd:element ref="sub:minInclusive" />
-      <xsd:element ref="sub:maxExclusive" />
-      <xsd:element ref="sub:maxInclusive" />
-      <xsd:element ref="sub:totalDigits" />
-      <xsd:element ref="sub:fractionDigits" />
-      <xsd:element ref="sub:length" />
-      <xsd:element ref="sub:minLength" />
-      <xsd:element ref="sub:maxLength" />
-      <xsd:element ref="sub:enumeration" />
-      <!-- <xsd:element ref="sub:whiteSpace"/> -->
-      <xsd:element ref="sub:pattern" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:group name="simpleRestrictionModel">
-    <xsd:sequence>
-      <xsd:element name="simpleType" type="sub:localSimpleType"
-        minOccurs="0" />
-      <xsd:group ref="sub:facets" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:element name="restriction" id="restriction">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation
-          source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
-          base attribute and simpleType child are mutually
-          exclusive, but one or other is required
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:complexContent>
-        <xsd:extension base="sub:annotated">
-          <xsd:group ref="sub:simpleRestrictionModel" />
-          <xsd:attribute name="base" type="xsd:QName" use="optional" />
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!--
-    <xsd:element name="list" id="list">
-    <xsd:complexType>
-    <xsd:annotation>
-    <xsd:documentation
-    source="http://www.w3.org/TR/xmlschema-2/#element-list">
-    itemType attribute and simpleType child are mutually
-    exclusive, but one or other is required
-    </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-    <xsd:extension base="sub:annotated">
-    <xsd:sequence>
-    <xsd:element name="simpleType" type="sub:localSimpleType"
-    minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="itemType" type="xsd:QName" use="optional"/>
-    </xsd:extension>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-  <xsd:element name="union" id="union">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation
-          source="http://www.w3.org/TR/xmlschema-2/#element-union">
-          memberTypes attribute must be non-empty or there must
-          be
-          at least one simpleType child
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:complexContent>
-        <xsd:extension base="sub:annotated">
-          <xsd:sequence>
-            <xsd:element name="simpleType" type="sub:localSimpleType"
-              minOccurs="0" maxOccurs="unbounded" />
-          </xsd:sequence>
-          <xsd:attribute name="memberTypes" use="optional">
-            <xsd:simpleType>
-              <xsd:list itemType="xsd:QName" />
-            </xsd:simpleType>
-          </xsd:attribute>
-        </xsd:extension>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:complexType name="facet">
-    <xsd:complexContent>
-      <xsd:extension base="sub:annotated">
-        <xsd:attribute name="value" use="required" />
-        <xsd:attribute name="fixed" type="xsd:boolean"
-          use="optional" default="false" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="noFixedFacet">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:facet">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-        </xsd:sequence>
-        <xsd:attribute name="fixed" use="prohibited" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="minExclusive" id="minExclusive" type="sub:facet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive" />
-    </xsd:annotation>
-  </xsd:element>
-  <xsd:element name="minInclusive" id="minInclusive" type="sub:facet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:element name="maxExclusive" id="maxExclusive" type="sub:facet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive" />
-    </xsd:annotation>
-  </xsd:element>
-  <xsd:element name="maxInclusive" id="maxInclusive" type="sub:facet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:complexType name="numFacet">
-    <xsd:complexContent>
-      <xsd:restriction base="sub:facet">
-        <xsd:sequence>
-          <xsd:element ref="sub:annotation" minOccurs="0" />
-        </xsd:sequence>
-        <xsd:attribute name="value" type="xsd:nonNegativeInteger"
-          use="required" />
-        <xsd:attributeGroup ref="sub:anyOther" />
-      </xsd:restriction>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:element name="totalDigits" id="totalDigits">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:restriction base="sub:numFacet">
-          <xsd:sequence>
-            <xsd:element ref="sub:annotation" minOccurs="0" />
-          </xsd:sequence>
-          <xsd:attribute name="value" type="xsd:positiveInteger"
-            use="required" />
-          <xsd:attributeGroup ref="sub:anyOther" />
-        </xsd:restriction>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="fractionDigits" id="fractionDigits"
-    type="sub:numFacet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:element name="length" id="length" type="sub:numFacet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-length" />
-    </xsd:annotation>
-  </xsd:element>
-  <xsd:element name="minLength" id="minLength" type="sub:numFacet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minLength" />
-    </xsd:annotation>
-  </xsd:element>
-  <xsd:element name="maxLength" id="maxLength" type="sub:numFacet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <xsd:element name="enumeration" id="enumeration" type="sub:noFixedFacet">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration" />
-    </xsd:annotation>
-  </xsd:element>
-
-  <!--
-    <xsd:element name="whiteSpace" id="whiteSpace">
-    <xsd:annotation>
-    <xsd:documentation
-    source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
-    </xsd:annotation>
-    <xsd:complexType>
-    <xsd:complexContent>
-    <xsd:restriction base="sub:facet">
-    <xsd:sequence>
-    <xsd:element ref="sub:annotation" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="value" use="required">
-    <xsd:simpleType>
-    <xsd:restriction base="xsd:NMTOKEN">
-    <xsd:enumeration value="preserve"/>
-    <xsd:enumeration value="replace"/>
-    <xsd:enumeration value="collapse"/>
-    </xsd:restriction>
-    </xsd:simpleType>
-    </xsd:attribute>
-    <xsd:attributeGroup ref="sub:anyOther"/>
-    </xsd:restriction>
-    </xsd:complexContent>
-    </xsd:complexType>
-    </xsd:element>
-  -->
-  <xsd:element name="pattern" id="pattern">
-    <xsd:annotation>
-      <xsd:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-pattern" />
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:complexContent>
-        <xsd:restriction base="sub:noFixedFacet">
-          <xsd:sequence>
-            <xsd:element ref="sub:annotation" minOccurs="0" />
-          </xsd:sequence>
-          <xsd:attribute name="value" type="xsd:string"
-            use="required" />
-          <xsd:attributeGroup ref="sub:anyOther" />
-        </xsd:restriction>
-      </xsd:complexContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      Subset of XSD types for DFDL v1.0
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:simpleType name="string" id="string">
-    <xsd:restriction base="xsd:string">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="boolean" id="boolean">
-    <xsd:restriction base="xsd:boolean">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="float" id="float">
-    <xsd:restriction base="xsd:float">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="double" id="double">
-    <xsd:restriction base="xsd:double">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="decimal" id="decimal">
-    <xsd:restriction base="xsd:decimal">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="dateTime" id="dateTime">
-    <xsd:restriction base="xsd:dateTime">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="time" id="time">
-    <xsd:restriction base="xsd:time">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="date" id="date">
-    <xsd:restriction base="xsd:date">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="hexBinary" id="hexBinary">
-    <xsd:restriction base="xsd:hexBinary">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      Now the derived primitive types
-    </xsd:documentation>
-  </xsd:annotation>
-
-
-  <xsd:simpleType name="long" id="long">
-    <xsd:restriction base="xsd:long">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="int" id="int">
-    <xsd:restriction base="xsd:int">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="short" id="short">
-    <xsd:restriction base="xsd:short">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="byte" id="byte">
-    <xsd:restriction base="xsd:byte">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="unsignedLong" id="unsignedLong">
-    <xsd:restriction base="xsd:unsignedLong">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="unsignedInt" id="unsignedInt">
-    <xsd:restriction base="xsd:unsignedInt">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="unsignedShort" id="unsignedShort">
-    <xsd:restriction base="xsd:unsignedShort">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="unsignedByte" id="unsignedByte">
-    <xsd:restriction base="xsd:unsignedByte">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-
-</xsd:schema>
+    <!-- Daffodil extensions to DFDL intended for end-users use the dafext namespace -->
+          
+    <!-- Not important to validate these, and we need to tolerate
+      Other attributes from other DFDL implementations -->
+     
+     <!-- <xsd:anyAttribute 
+    namespace="http://www.w3.org/XML/1998/namespace 
+    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int 
+    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext
+    http://www.ibm.com/schema/extensions"
+      processContents="lax"
+    /> -->
+
+
+  </xsd:attributeGroup>
+
+  <xsd:complexType name="topLevelComplexType">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:complexType">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:group ref="sub:complexTypeModel" />
+        </xsd:sequence>
+        <xsd:attribute name="name" type="xsd:NCName" use="required" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="localComplexType">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:complexType">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:group ref="sub:complexTypeModel" />
+        </xsd:sequence>
+        <xsd:attribute name="name" use="prohibited" />
+        <xsd:attribute name="abstract" use="prohibited" />
+        <xsd:attribute name="final" use="prohibited" />
+        <xsd:attribute name="block" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <!--
+    <xsd:complexType name="complexRestrictionType">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:restrictionType">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:choice minOccurs="0">
+    <xsd:annotation>
+    <xsd:documentation>This choice is added simply to
+    make this a valid restriction per the REC</xsd:documentation>
+    </xsd:annotation>
+    <xsd:group ref="sub:typeDefParticle"/>
+    </xsd:choice>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+  -->
+
+  <!--
+    <xsd:element name="complexContent" id="complexContent">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+
+    <xsd:choice>
+    <xsd:element name="restriction" type="sub:complexRestrictionType"/>
+    <xsd:element name="extension" type="sub:extensionType"/>
+    </xsd:choice>
+
+    No mixed content in DFDL v1.0
+    <xsd:attribute name="mixed" type="xsd:boolean">
+    <xsd:annotation>
+    <xsd:documentation>
+    Overrides any setting on complexType parent.</xsd:documentation>
+    </xsd:annotation>
+    </xsd:attribute>
+
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+  <!--
+    <xsd:complexType name="simpleRestrictionType">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:restrictionType">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:choice minOccurs="0">
+    <xsd:annotation>
+    <xsd:documentation>This choice is added simply to
+    make this a valid restriction per the REC</xsd:documentation>
+    </xsd:annotation>
+    <xsd:group ref="sub:simpleRestrictionModel"/>
+    </xsd:choice>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+  -->
+
+  <xsd:element name="complexType" type="sub:topLevelComplexType"
+    id="complexType">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-complexType" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:simpleType name="__blockSet">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+      <xsd:documentation>
+        #all or (possibly empty) subset of {substitution, extension,
+        restriction}
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union>
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:token">
+          <xsd:enumeration value="#all" />
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType>
+        <xsd:list>
+          <xsd:simpleType>
+            <xsd:restriction base="sub:derivationControl">
+              <!-- <xsd:enumeration value="extension"/> -->
+              <xsd:enumeration value="restriction" />
+              <!-- <xsd:enumeration value="substitution"/> -->
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:list>
+      </xsd:simpleType>
+    </xsd:union>
+  </xsd:simpleType>
+
+  <xsd:complexType name="element" abstract="true">
+    <xsd:annotation>
+      <xsd:documentation>
+        The element element can be used either
+        at the top level to define an element-type binding globally,
+        or within a content model to either reference a globally-defined
+        element or type or declare an element-type binding locally.
+        The ref form is not allowed at the top level.
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:sequence>
+          <xsd:choice minOccurs="0" maxOccurs="1">
+            <xsd:element name="simpleType" type="sub:localSimpleType" />
+            <xsd:element name="complexType" type="sub:localComplexType" />
+          </xsd:choice>
+          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
+            Not in DFDL v1.0 -->
+        </xsd:sequence>
+        <xsd:attributeGroup ref="sub:defRef" />
+        <xsd:attribute name="type" type="xsd:QName" />
+        <!-- <xsd:attribute name="substitutionGroup" type="xsd:QName"/> Not 
+          in DFDL v1.0 -->
+        <xsd:attributeGroup ref="sub:occurs" />
+        <xsd:attribute name="default" type="xsd:string" />
+        <xsd:attribute name="fixed" type="xsd:string" />
+        <!-- remove default="false" because Xerces is inserting that
+        as part of its parsing, and that ends up being incorrect since
+        element references cannot have nillable -->
+        <xsd:attribute name="nillable" type="xsd:boolean" />
+        <!-- Not in DFDL v1.0
+          <xsd:attribute name="abstract" type="xsd:boolean" use="optional" 
+          default="false"/>
+          <xsd:attribute name="final" type="sub:derivationSet"/>
+          <xsd:attribute name="block" type="sub:blockSet"/>
+          <xsd:attribute name="form" type="sub:formChoice"/>
+        -->
+        <!--
+          Include short-form DFDL Attributes.
+        -->
+        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
+        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
+        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
+        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
+        <xsd:attributeGroup ref="dfdl:ElementAGQualified" />
+
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="topLevelElement">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:element">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:choice minOccurs="0">
+            <xsd:element name="simpleType" type="sub:localSimpleType" />
+            <xsd:element name="complexType" type="sub:localComplexType" />
+          </xsd:choice>
+          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
+            Not in DFDL v1.0 -->
+        </xsd:sequence>
+        <xsd:attribute name="ref" use="prohibited" />
+        <xsd:attribute name="form" use="prohibited" />
+        <xsd:attribute name="minOccurs" use="prohibited" />
+        <xsd:attribute name="maxOccurs" use="prohibited" />
+        <xsd:attribute name="name" use="required" type="xsd:NCName" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="localElement">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:element">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:choice minOccurs="0">
+            <xsd:element name="simpleType" type="sub:localSimpleType" />
+            <xsd:element name="complexType" type="sub:localComplexType" />
+          </xsd:choice>
+          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
+            Not in DFDL v1.0 -->
+        </xsd:sequence>
+        <xsd:attribute name="substitutionGroup" use="prohibited" />
+        <xsd:attribute name="final" use="prohibited" />
+        <xsd:attribute name="abstract" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="element" type="sub:topLevelElement" id="element">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-element" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:complexType name="group" abstract="true">
+    <xsd:annotation>
+      <xsd:documentation>
+        group type for explicit groups, named top-level groups and
+        group references
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:group ref="sub:particle" minOccurs="0" maxOccurs="unbounded" />
+        <xsd:attributeGroup ref="sub:defRef" />
+        <!-- No Occurs except on elements in DFDL v1.0
+          <xsd:attributeGroup ref="sub:occurs"/>
+        -->
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="realGroup">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:group">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:choice minOccurs="0" maxOccurs="1">
+            <xsd:element ref="sub:choice" />
+            <xsd:element ref="sub:sequence" />
+          </xsd:choice>
+        </xsd:sequence>
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="namedGroup">
+    <xsd:complexContent>
+      <xsd:extension base="sub:realGroup">
+        <!-- <xsd:attribute name="name" use="required" type="xsd:NCName"/> -->
+        <xsd:attribute name="ref" use="prohibited" />
+        <xsd:attribute name="minOccurs" use="prohibited" />
+        <xsd:attribute name="maxOccurs" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="groupRef">
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:attribute name="ref" use="required" type="xsd:QName" />
+        <xsd:attribute name="name" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+
+        <!-- DFDL -->
+
+        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
+        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
+        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
+        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
+        <xsd:attributeGroup ref="dfdl:GroupAGQualified" />
+
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="explicitGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+        group type for the three kinds of group
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element ref="sub:annotation" minOccurs="0" />
+      <xsd:group ref="sub:nestedParticle" minOccurs="0"
+        maxOccurs="unbounded" />
+    </xsd:sequence>
+    <xsd:attributeGroup ref="sub:anyOther" />
+
+    <!-- DFDL attributes for short form -->
+    <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
+    <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
+    <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
+    <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
+    <xsd:attributeGroup ref="dfdl:GroupCommonAGQualified" />
+  </xsd:complexType>
+
+  <xsd:complexType name="simpleExplicitGroup">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:explicitGroup">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:group ref="sub:nestedParticle" minOccurs="0"
+            maxOccurs="unbounded" />
+        </xsd:sequence>
+        <xsd:attribute name="minOccurs" use="prohibited" />
+        <xsd:attribute name="maxOccurs" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <!-- No ALL groups in DFDL v1.0
+    <xsd:group name="allModel">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+    <xsd:annotation>
+    <xsd:documentation>This choice with min/max is here to
+    avoid a pblm with the Elt:All/Choice/Seq
+    Particle derivation constraint</xsd:documentation>
+    </xsd:annotation>
+    <xsd:element name="element" type="sub:narrowMaxMin"/>
+    </xsd:choice>
+    </xsd:sequence>
+    </xsd:group>
+  -->
+
+  <xsd:complexType name="narrowMaxMin">
+    <xsd:annotation>
+      <xsd:documentation>restricted max/min</xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexContent>
+      <xsd:restriction base="sub:localElement">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:choice minOccurs="0">
+            <xsd:element name="simpleType" type="sub:localSimpleType" />
+            <xsd:element name="complexType" type="sub:localComplexType" />
+          </xsd:choice>
+          <!-- <xsd:group ref="sub:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> 
+            Not in DFDL v1.0 -->
+        </xsd:sequence>
+        <xsd:attribute name="minOccurs" use="optional"
+          default="1">
+          <xsd:simpleType>
+            <xsd:restriction base="xsd:nonNegativeInteger">
+              <xsd:enumeration value="0" />
+              <xsd:enumeration value="1" />
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:attribute>
+        <xsd:attribute name="maxOccurs" use="optional"
+          default="1">
+          <xsd:simpleType>
+            <xsd:restriction base="sub:allNNI">
+              <xsd:enumeration value="0" />
+              <xsd:enumeration value="1" />
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:attribute>
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="explicitChoiceGroup">
+    <xsd:complexContent>
+      <xsd:extension base="sub:explicitGroup">
+        <!-- DFDL -->
+        <xsd:attributeGroup ref="dfdl:ChoiceAGQualified" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="choice" type="sub:explicitChoiceGroup"
+    id="choice">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-choice" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:complexType name="explicitSequenceGroup">
+    <xsd:complexContent>
+      <xsd:extension base="sub:explicitGroup">
+        <!-- DFDL -->
+        <xsd:attributeGroup ref="dfdl:SequenceAGQualified" />
+        <xsd:attributeGroup ref="dfdl:SeparatorAGQualified" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="sequence" type="sub:explicitSequenceGroup"
+    id="sequence">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-sequence" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:element name="group" type="sub:namedGroup" id="group">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-group" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <!-- <xsd:complexType name="wildcard">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:attribute name="namespace" type="sub:namespaceList" use="optional" 
+    default="##any"/>
+  -->
+  <!-- Chapter 21: processContents not allowed in v1
+    <xsd:attribute name="processContents" use="optional" default="strict">
+    <xsd:simpleType>
+    <xsd:restriction base="xsd:NMTOKEN">
+    <xsd:enumeration value="skip"/>
+    <xsd:enumeration value="lax"/>
+    <xsd:enumeration value="strict"/>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:attribute>
+  --> <!--
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+  -->
+  <!-- No ANY wildcards in DFDL v1.0
+    <xsd:element name="any" id="any">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:wildcard">
+    <xsd:attributeGroup ref="sub:occurs"/>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+  <!--
+    <xsd:annotation>
+    <xsd:documentation>
+    simple type for the value of the 'namespace' attr of
+    'any' and 'anyAttribute'</xsd:documentation>
+    </xsd:annotation>
+    <xsd:annotation>
+    <xsd:documentation>
+    Value is
+    ##any - - any non-conflicting WFXML/attribute at all
+
+    ##other - - any non-conflicting WFXML/attribute from
+    namespace other than targetNS
+
+    ##local - - any unqualified non-conflicting WFXML/attribute
+
+    one or - - any non-conflicting WFXML/attribute from
+    more URI the listed namespaces
+    references
+    (space separated)
+
+    ##targetNamespace or ##local may appear in the above list, to
+    refer to the targetNamespace of the enclosing
+    schema or an absent targetNamespace respectively</xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:simpleType name="namespaceList">
+    <xsd:annotation>
+    <xsd:documentation>
+    A utility type, not for public use</xsd:documentation>
+    </xsd:annotation>
+    <xsd:union>
+    <xsd:simpleType>
+    <xsd:restriction base="xsd:token">
+    <xsd:enumeration value="##any"/>
+    <xsd:enumeration value="##other"/>
+    </xsd:restriction>
+    </xsd:simpleType>
+    <xsd:simpleType>
+    <xsd:list>
+    <xsd:simpleType>
+    <xsd:union memberTypes="xsd:anyURI">
+    <xsd:simpleType>
+    <xsd:restriction base="xsd:token">
+    <xsd:enumeration value="##targetNamespace"/>
+    <xsd:enumeration value="##local"/>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:union>
+    </xsd:simpleType>
+    </xsd:list>
+    </xsd:simpleType>
+    </xsd:union>
+    </xsd:simpleType>
+  -->
+  <!--
+    <xsd:element name="attribute" type="sub:topLevelAttribute" id="attribute">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
+    </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="attributeGroup" abstract="true">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:group ref="sub:attrDecls"/>
+    <xsd:attributeGroup ref="sub:defRef"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="namedAttributeGroup">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:attributeGroup">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    <xsd:group ref="sub:attrDecls"/>
+    </xsd:sequence>
+    <xsd:attribute name="name" use="required" type="xsd:NCName"/>
+    <xsd:attribute name="ref" use="prohibited"/>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="attributeGroupRef">
+    <xsd:complexContent>
+    <xsd:restriction base="sub:attributeGroup">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="ref" use="required" type="xsd:QName"/>
+    <xsd:attribute name="name" use="prohibited"/>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:element name="attributeGroup" type="sub:namedAttributeGroup" id="attributeGroup">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
+    </xsd:annotation>
+    </xsd:element>
+  -->
+
+  <xsd:element name="include" id="include">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-include" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="sub:annotated">
+          <xsd:attribute name="schemaLocation" type="xsd:anyURI"
+            use="required" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <!--
+    <xsd:element name="redefine" id="redefine">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:openAttrs">
+    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+    <xsd:element ref="sub:annotation"/>
+    <xsd:group ref="sub:redefinable"/>
+    </xsd:choice>
+    <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+
+  <xsd:element name="import" id="import">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-import" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="sub:annotated">
+          <xsd:attribute name="namespace" type="xsd:anyURI" />
+          <xsd:attribute name="schemaLocation" type="xsd:anyURI" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <!--
+    <xsd:element name="__selector" id="selector">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:attribute name="xpath" use="required">
+    <xsd:simpleType>
+    <xsd:annotation>
+    <xsd:documentation>A subset of XPath expressions for use
+    in selectors</xsd:documentation>
+    <xsd:documentation>A utility type, not for public
+    use</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+    <xsd:annotation>
+    <xsd:documentation>The following pattern is intended to allow XPath
+    expressions per the following EBNF:
+    Selector ::= Path ( '|' Path )*
+    Path ::= ('.//')? Step ( '/' Step )*
+    Step ::= '.' | NameTest
+    NameTest ::= QName | '*' | NCName ':' '*'
+    child:: is also allowed
+    </xsd:documentation>
+    </xsd:annotation>
+    <xsd:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
+    </xsd:pattern>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:attribute>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+
+    <xsd:element name="__field" id="field">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:attribute name="xpath" use="required">
+    <xsd:simpleType>
+    <xsd:annotation>
+    <xsd:documentation>A subset of XPath expressions for use
+    in fields</xsd:documentation>
+    <xsd:documentation>A utility type, not for public
+    use</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+    <xsd:annotation>
+    <xsd:documentation>The following pattern is intended to allow XPath
+    expressions per the same EBNF as for selector,
+    with the following change:
+    Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
+    </xsd:documentation>
+    </xsd:annotation>
+    <xsd:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
+    </xsd:pattern>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:attribute>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+
+    <xsd:complexType name="__keybase">
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:sequence>
+    <xsd:element ref="sub:selector"/>
+    <xsd:element ref="sub:field" minOccurs="1" maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:NCName" use="required"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:group name="__identityConstraint">
+    <xsd:annotation>
+    <xsd:documentation>The three kinds of identity constraints, all with
+    type of or derived from 'keybase'.
+    </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+    <xsd:element ref="sub:unique"/>
+    <xsd:element ref="sub:key"/>
+    <xsd:element ref="sub:keyref"/>
+    </xsd:choice>
+    </xsd:group>
+
+    <xsd:element name="__unique" type="sub:keybase" id="unique">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
+    </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="__key" type="sub:keybase" id="key">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
+    </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="__keyref" id="keyref">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:keybase">
+    <xsd:attribute name="refer" type="xsd:QName" use="required"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+
+    <xsd:element name="__notation" id="notation">
+    <xsd:annotation>
+    <xsd:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:attribute name="name" type="xsd:NCName" use="required"/>
+    <xsd:attribute name="public" type="sub:public"/>
+    <xsd:attribute name="system" type="xsd:anyURI"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+
+    <xsd:simpleType name="public">
+    <xsd:annotation>
+    <xsd:documentation>
+    A utility type, not for public use</xsd:documentation>
+    <xsd:documentation>
+    A public identifier, per ISO 8879</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token"/>
+    </xsd:simpleType>
+  -->
+  <xsd:element name="appinfo" id="appinfo">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-appinfo" />
+    </xsd:annotation>
+    <xsd:complexType mixed="true">
+      <xsd:choice minOccurs="0" maxOccurs="unbounded">
+        <xsd:any processContents="lax" />
+        <!--
+           strict so tooling will check DFDL annotations 
+          <xsd:any namespace="http://www.ogf.org/dfdl/dfdl-1.0/" processContents="strict"/>
+          <xsd:any namespace="##targetNamespace" processContents="lax"/>
+          <xsd:any namespace="##other" processContents="lax"/>
+        -->
+      </xsd:choice>
+      <xsd:attribute name="source" type="xsd:anyURI" />
+      <xsd:attributeGroup ref="sub:anyOther" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="documentation" id="documentation">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-documentation" />
+    </xsd:annotation>
+    <xsd:complexType mixed="true">
+      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+        <xsd:any processContents="lax" />
+      </xsd:sequence>
+      <xsd:attribute name="source" type="xsd:anyURI" />
+      <xsd:attribute ref="xml:lang" />
+      <xsd:attributeGroup ref="sub:anyOther" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="annotation" id="annotation">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-1/#element-annotation" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="sub:openAttrs">
+          <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element ref="sub:appinfo" />
+            <xsd:element ref="sub:documentation" />
+          </xsd:choice>
+          <xsd:attribute name="id" type="xsd:ID" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+
+
+  <xsd:simpleType name="derivationControl">
+    <xsd:annotation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <!-- <xsd:enumeration value="substitution"/> -->
+      <!-- <xsd:enumeration value="extension"/> -->
+      <xsd:enumeration value="restriction" />
+      <!-- <xsd:enumeration value="list"/> -->
+      <xsd:enumeration value="union" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:group name="simpleDerivation">
+    <xsd:choice>
+      <xsd:element ref="sub:restriction" />
+      <!-- <xsd:element ref="sub:list"/> Not in DFDL v1.0 -->
+      <xsd:element ref="sub:union" />
+    </xsd:choice>
+  </xsd:group>
+
+
+
+  <xsd:simpleType name="simpleDerivationSet">
+    <xsd:annotation>
+      <xsd:documentation>
+        #all or (possibly empty) subset of {restriction, union, list}
+      </xsd:documentation>
+      <xsd:documentation>
+        A utility type, not for public use
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union>
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:token">
+          <xsd:enumeration value="#all" />
+        </xsd:restriction>
+      </xsd:simpleType>
+      <xsd:simpleType>
+        <xsd:list>
+          <xsd:simpleType>
+            <xsd:restriction base="sub:derivationControl">
+              <!-- <xsd:enumeration value="list"/> -->
+              <xsd:enumeration value="union" />
+              <xsd:enumeration value="restriction" />
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:list>
+      </xsd:simpleType>
+    </xsd:union>
+  </xsd:simpleType>
+
+  <xsd:complexType name="simpleType" abstract="true">
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:group ref="sub:simpleDerivation" />
+        <xsd:attribute name="final" type="sub:simpleDerivationSet" />
+        <xsd:attribute name="name" type="xsd:NCName">
+          <xsd:annotation>
+            <xsd:documentation>
+              Can be restricted to required or
+              forbidden
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:attribute>
+
+        <!-- DFDL -->
+        <xsd:attributeGroup ref="dfdl:BaseAGQualified" />
+        <xsd:attributeGroup ref="dfdl:CommonAGQualified" />
+        <xsd:attributeGroup ref="dfdl:AlignmentAGQualified" />
+        <xsd:attributeGroup ref="dfdl:MarkupAGQualified" />
+        <xsd:attributeGroup ref="dfdl:SimpleTypeAGQualified" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="topLevelSimpleType">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:simpleType">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:group ref="sub:simpleDerivation" />
+        </xsd:sequence>
+        <xsd:attribute name="name" use="required" type="xsd:NCName">
+          <xsd:annotation>
+            <xsd:documentation>
+              Required at the top level
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="localSimpleType">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:simpleType">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+          <xsd:group ref="sub:simpleDerivation" />
+        </xsd:sequence>
+        <xsd:attribute name="name" use="prohibited">
+          <xsd:annotation>
+            <xsd:documentation>
+              Forbidden when nested
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="final" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="simpleType" type="sub:topLevelSimpleType"
+    id="simpleType">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:group name="facets">
+    <xsd:annotation>
+      <xsd:documentation>
+        We should use a substitution group for facets, but
+        that's ruled out because it would allow users to
+        add their own, which we're not ready for yet.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element ref="sub:minExclusive" />
+      <xsd:element ref="sub:minInclusive" />
+      <xsd:element ref="sub:maxExclusive" />
+      <xsd:element ref="sub:maxInclusive" />
+      <xsd:element ref="sub:totalDigits" />
+      <xsd:element ref="sub:fractionDigits" />
+      <xsd:element ref="sub:length" />
+      <xsd:element ref="sub:minLength" />
+      <xsd:element ref="sub:maxLength" />
+      <xsd:element ref="sub:enumeration" />
+      <!-- <xsd:element ref="sub:whiteSpace"/> -->
+      <xsd:element ref="sub:pattern" />
+    </xsd:choice>
+  </xsd:group>
+
+  <xsd:group name="simpleRestrictionModel">
+    <xsd:sequence>
+      <xsd:element name="simpleType" type="sub:localSimpleType"
+        minOccurs="0" />
+      <xsd:group ref="sub:facets" minOccurs="0" maxOccurs="unbounded" />
+    </xsd:sequence>
+  </xsd:group>
+
+  <xsd:element name="restriction" id="restriction">
+    <xsd:complexType>
+      <xsd:annotation>
+        <xsd:documentation
+          source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
+          base attribute and simpleType child are mutually
+          exclusive, but one or other is required
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:complexContent>
+        <xsd:extension base="sub:annotated">
+          <xsd:group ref="sub:simpleRestrictionModel" />
+          <xsd:attribute name="base" type="xsd:QName" use="optional" />
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <!--
+    <xsd:element name="list" id="list">
+    <xsd:complexType>
+    <xsd:annotation>
+    <xsd:documentation
+    source="http://www.w3.org/TR/xmlschema-2/#element-list">
+    itemType attribute and simpleType child are mutually
+    exclusive, but one or other is required
+    </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexContent>
+    <xsd:extension base="sub:annotated">
+    <xsd:sequence>
+    <xsd:element name="simpleType" type="sub:localSimpleType"
+    minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="itemType" type="xsd:QName" use="optional"/>
+    </xsd:extension>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+  <xsd:element name="union" id="union">
+    <xsd:complexType>
+      <xsd:annotation>
+        <xsd:documentation
+          source="http://www.w3.org/TR/xmlschema-2/#element-union">
+          memberTypes attribute must be non-empty or there must
+          be
+          at least one simpleType child
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:complexContent>
+        <xsd:extension base="sub:annotated">
+          <xsd:sequence>
+            <xsd:element name="simpleType" type="sub:localSimpleType"
+              minOccurs="0" maxOccurs="unbounded" />
+          </xsd:sequence>
+          <xsd:attribute name="memberTypes" use="optional">
+            <xsd:simpleType>
+              <xsd:list itemType="xsd:QName" />
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:complexType name="facet">
+    <xsd:complexContent>
+      <xsd:extension base="sub:annotated">
+        <xsd:attribute name="value" use="required" />
+        <xsd:attribute name="fixed" type="xsd:boolean"
+          use="optional" default="false" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="noFixedFacet">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:facet">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+        </xsd:sequence>
+        <xsd:attribute name="fixed" use="prohibited" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="minExclusive" id="minExclusive" type="sub:facet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive" />
+    </xsd:annotation>
+  </xsd:element>
+  <xsd:element name="minInclusive" id="minInclusive" type="sub:facet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:element name="maxExclusive" id="maxExclusive" type="sub:facet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive" />
+    </xsd:annotation>
+  </xsd:element>
+  <xsd:element name="maxInclusive" id="maxInclusive" type="sub:facet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:complexType name="numFacet">
+    <xsd:complexContent>
+      <xsd:restriction base="sub:facet">
+        <xsd:sequence>
+          <xsd:element ref="sub:annotation" minOccurs="0" />
+        </xsd:sequence>
+        <xsd:attribute name="value" type="xsd:nonNegativeInteger"
+          use="required" />
+        <xsd:attributeGroup ref="sub:anyOther" />
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="totalDigits" id="totalDigits">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:restriction base="sub:numFacet">
+          <xsd:sequence>
+            <xsd:element ref="sub:annotation" minOccurs="0" />
+          </xsd:sequence>
+          <xsd:attribute name="value" type="xsd:positiveInteger"
+            use="required" />
+          <xsd:attributeGroup ref="sub:anyOther" />
+        </xsd:restriction>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="fractionDigits" id="fractionDigits"
+    type="sub:numFacet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:element name="length" id="length" type="sub:numFacet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-length" />
+    </xsd:annotation>
+  </xsd:element>
+  <xsd:element name="minLength" id="minLength" type="sub:numFacet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minLength" />
+    </xsd:annotation>
+  </xsd:element>
+  <xsd:element name="maxLength" id="maxLength" type="sub:numFacet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:element name="enumeration" id="enumeration" type="sub:noFixedFacet">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration" />
+    </xsd:annotation>
+  </xsd:element>
+
+  <!--
+    <xsd:element name="whiteSpace" id="whiteSpace">
+    <xsd:annotation>
+    <xsd:documentation
+    source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
+    </xsd:annotation>
+    <xsd:complexType>
+    <xsd:complexContent>
+    <xsd:restriction base="sub:facet">
+    <xsd:sequence>
+    <xsd:element ref="sub:annotation" minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="value" use="required">
+    <xsd:simpleType>
+    <xsd:restriction base="xsd:NMTOKEN">
+    <xsd:enumeration value="preserve"/>
+    <xsd:enumeration value="replace"/>
+    <xsd:enumeration value="collapse"/>
+    </xsd:restriction>
+    </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attributeGroup ref="sub:anyOther"/>
+    </xsd:restriction>
+    </xsd:complexContent>
+    </xsd:complexType>
+    </xsd:element>
+  -->
+  <xsd:element name="pattern" id="pattern">
+    <xsd:annotation>
+      <xsd:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-pattern" />
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:restriction base="sub:noFixedFacet">
+          <xsd:sequence>
+            <xsd:element ref="sub:annotation" minOccurs="0" />
+          </xsd:sequence>
+          <xsd:attribute name="value" type="xsd:string"
+            use="required" />
+          <xsd:attributeGroup ref="sub:anyOther" />
+        </xsd:restriction>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      Subset of XSD types for DFDL v1.0
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:simpleType name="string" id="string">
+    <xsd:restriction base="xsd:string">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="boolean" id="boolean">
+    <xsd:restriction base="xsd:boolean">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="float" id="float">
+    <xsd:restriction base="xsd:float">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="double" id="double">
+    <xsd:restriction base="xsd:double">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="decimal" id="decimal">
+    <xsd:restriction base="xsd:decimal">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="dateTime" id="dateTime">
+    <xsd:restriction base="xsd:dateTime">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="time" id="time">
+    <xsd:restriction base="xsd:time">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="date" id="date">
+    <xsd:restriction base="xsd:date">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="hexBinary" id="hexBinary">
+    <xsd:restriction base="xsd:hexBinary">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      Now the derived primitive types
+    </xsd:documentation>
+  </xsd:annotation>
+
+
+  <xsd:simpleType name="long" id="long">
+    <xsd:restriction base="xsd:long">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="int" id="int">
+    <xsd:restriction base="xsd:int">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="short" id="short">
+    <xsd:restriction base="xsd:short">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="byte" id="byte">
+    <xsd:restriction base="xsd:byte">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="unsignedLong" id="unsignedLong">
+    <xsd:restriction base="xsd:unsignedLong">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="unsignedInt" id="unsignedInt">
+    <xsd:restriction base="xsd:unsignedInt">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="unsignedShort" id="unsignedShort">
+    <xsd:restriction base="xsd:unsignedShort">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="unsignedByte" id="unsignedByte">
+    <xsd:restriction base="xsd:unsignedByte">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+</xsd:schema>
diff --git a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/dafint.xsd b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/dafint.xsd
index a41a8b8..7f8361c 100644
--- a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/dafint.xsd
+++ b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/dafint.xsd
@@ -16,33 +16,33 @@
   limitations under the License.
 -->
 
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  attributeFormDefault="unqualified" elementFormDefault="qualified"
-  targetNamespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
-  xmlns:dafint="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <!--
-    This schema is for daffodil-specific internal use attribute definitions.
-  -->
-
-  <!-- Attributes to carry file and line number information -->
-  <xsd:attribute name="line" type="xsd:int"  />
-  <xsd:attribute name="col" type="xsd:int"  />
-  <xsd:attribute name="file" type="xsd:token" />
-
-  <xsd:attributeGroup name="daffodilAG">
-    <!-- allows xsi prefixed attributes, and also dafint and daf prefixed
-      attributes -->
-    <xsd:anyAttribute
-      namespace="http://www.w3.org/XML/1998/namespace 
-    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int 
-    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" />
-  </xsd:attributeGroup>
-
-  <xsd:element name="testElement">
-    <xsd:complexType>
-      <xsd:attributeGroup ref="dafint:daffodilAG" />
-    </xsd:complexType>
-  </xsd:element>
-
-</xsd:schema>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  attributeFormDefault="unqualified" elementFormDefault="qualified"
+  targetNamespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
+  xmlns:dafint="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--
+    This schema is for daffodil-specific internal use attribute definitions.
+  -->
+
+  <!-- Attributes to carry file and line number information -->
+  <xsd:attribute name="line" type="xsd:int"  />
+  <xsd:attribute name="col" type="xsd:int"  />
+  <xsd:attribute name="file" type="xsd:token" />
+
+  <xsd:attributeGroup name="daffodilAG">
+    <!-- allows xsi prefixed attributes, and also dafint and daf prefixed
+      attributes -->
+    <xsd:anyAttribute
+      namespace="http://www.w3.org/XML/1998/namespace 
+    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int 
+    urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" />
+  </xsd:attributeGroup>
+
+  <xsd:element name="testElement">
+    <xsd:complexType>
+      <xsd:attributeGroup ref="dafint:daffodilAG" />
+    </xsd:complexType>
+  </xsd:element>
+
+</xsd:schema>
diff --git a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/xml.xsd b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/xml.xsd
index f484b4e..7f475dd 100644
--- a/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/xml.xsd
+++ b/daffodil-lib/src/main/resources/org/apache/daffodil/xsd/xml.xsd
@@ -1,144 +1,144 @@
-<?xml version='1.0'?>
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-  <xs:annotation>
-    <xs:documentation>
-      See http://www.w3.org/XML/1998/namespace.html and
-      http://www.w3.org/TR/REC-xml for information about this namespace.
-
-      This schema document describes the XML namespace, in a form
-      suitable for import by other schema documents.
-
-      Note that local names in this namespace are intended to be defined
-      only by the World Wide Web Consortium or its subgroups. The
-      following names are currently defined in this namespace and should
-      not be used with conflicting semantics by any Working Group,
-      specification, or document instance:
-
-      base (as an attribute name): denotes an attribute whose value
-      provides a URI to be used as the base for interpreting any
-      relative URIs in the scope of the element on which it
-      appears; its value is inherited. This name is reserved
-      by virtue of its definition in the XML Base specification.
-
-      id (as an attribute name): denotes an attribute whose value
-      should be interpreted as if declared to be of type ID.
-      The xml:id specification is not yet a W3C Recommendation,
-      but this attribute is included here to facilitate experimentation
-      with the mechanisms it proposes. Note that it is _not_ included
-      in the specialAttrs attribute group.
-
-      lang (as an attribute name): denotes an attribute whose value
-      is a language code for the natural language of the content of
-      any element; its value is inherited. This name is reserved
-      by virtue of its definition in the XML specification.
-
-      space (as an attribute name): denotes an attribute whose
-      value is a keyword indicating what whitespace processing
-      discipline is intended for the content of the element; its
-      value is inherited. This name is reserved by virtue of its
-      definition in the XML specification.
-
-      Father (in any context at all): denotes Jon Bosak, the chair of
-      the original XML Working Group. This name is reserved by
-      the following decision of the W3C XML Plenary and
-      XML Coordination groups:
-
-      In appreciation for his vision, leadership and dedication
-      the W3C XML Plenary on this 10th day of February, 2000
-      reserves for Jon Bosak in perpetuity the XML name
-      xml:Father
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:annotation>
-    <xs:documentation>This schema defines attributes and an attribute
-      group
-      suitable for use by
-      schemas wishing to allow xml:base, xml:lang or xml:space attributes
-      on elements they define.
-
-      To enable this, such a schema must import this schema
-      for the XML namespace, e.g. as follows:
-      &lt;schema . . .>
-      . . .
-      &lt;import namespace="http://www.w3.org/XML/1998/namespace"
-      schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
-
-      Subsequently, qualified reference to any of the attributes
-      or the group defined below will have the desired effect, e.g.
-
-      &lt;type . . .>
-      . . .
-      &lt;attributeGroup ref="xml:specialAttrs"/>
-
-      will define a type which will schema-validate an instance
-      element with any of those attributes
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:annotation>
-    <xs:documentation>In keeping with the XML Schema WG's standard
-      versioning
-      policy, this schema document will persist at
-      http://www.w3.org/2004/10/xml.xsd.
-      At the date of issue it can also be found at
-      http://www.w3.org/2001/xml.xsd.
-      The schema document at that URI may however change in the future,
-      in order to remain compatible with the latest version of XML Schema
-      itself, or with the XML namespace itself. In other words, if the
-      XML
-      Schema or XML namespaces change, the version of this document at
-      http://www.w3.org/2001/xml.xsd will change
-      accordingly; the version at
-      http://www.w3.org/2004/10/xml.xsd will not change.
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:attribute name="lang" type="xs:language">
-    <xs:annotation>
-      <xs:documentation>Attempting to install the relevant ISO 2- and
-        3-letter
-        codes as the enumerated possible values is probably never
-        going to be a realistic possibility. See
-        RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
-        at http://www.iana.org/assignments/lang-tag-apps.htm for
-        further information.
-      </xs:documentation>
-    </xs:annotation>
-  </xs:attribute>
-
-  <xs:attribute name="space">
-    <xs:simpleType>
-      <xs:restriction base="xs:NCName">
-        <xs:enumeration value="default" />
-        <xs:enumeration value="preserve" />
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:attribute>
-
-  <xs:attribute name="base" type="xs:anyURI">
-    <xs:annotation>
-      <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
-        information about this attribute.
-      </xs:documentation>
-    </xs:annotation>
-  </xs:attribute>
-
-  <xs:attribute name="id" type="xs:ID">
-    <xs:annotation>
-      <xs:documentation>See http://www.w3.org/TR/xml-id/ for
-        information about this attribute.
-      </xs:documentation>
-    </xs:annotation>
-  </xs:attribute>
-
-  <xs:attributeGroup name="specialAttrs">
-    <xs:attribute ref="xml:base" />
-    <xs:attribute ref="xml:lang" />
-    <xs:attribute ref="xml:space" />
-  </xs:attributeGroup>
-
-</xs:schema>
+<?xml version='1.0'?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+  <xs:annotation>
+    <xs:documentation>
+      See http://www.w3.org/XML/1998/namespace.html and
+      http://www.w3.org/TR/REC-xml for information about this namespace.
+
+      This schema document describes the XML namespace, in a form
+      suitable for import by other schema documents.
+
+      Note that local names in this namespace are intended to be defined
+      only by the World Wide Web Consortium or its subgroups. The
+      following names are currently defined in this namespace and should
+      not be used with conflicting semantics by any Working Group,
+      specification, or document instance:
+
+      base (as an attribute name): denotes an attribute whose value
+      provides a URI to be used as the base for interpreting any
+      relative URIs in the scope of the element on which it
+      appears; its value is inherited. This name is reserved
+      by virtue of its definition in the XML Base specification.
+
+      id (as an attribute name): denotes an attribute whose value
+      should be interpreted as if declared to be of type ID.
+      The xml:id specification is not yet a W3C Recommendation,
+      but this attribute is included here to facilitate experimentation
+      with the mechanisms it proposes. Note that it is _not_ included
+      in the specialAttrs attribute group.
+
+      lang (as an attribute name): denotes an attribute whose value
+      is a language code for the natural language of the content of
+      any element; its value is inherited. This name is reserved
+      by virtue of its definition in the XML specification.
+
+      space (as an attribute name): denotes an attribute whose
+      value is a keyword indicating what whitespace processing
+      discipline is intended for the content of the element; its
+      value is inherited. This name is reserved by virtue of its
+      definition in the XML specification.
+
+      Father (in any context at all): denotes Jon Bosak, the chair of
+      the original XML Working Group. This name is reserved by
+      the following decision of the W3C XML Plenary and
+      XML Coordination groups:
+
+      In appreciation for his vision, leadership and dedication
+      the W3C XML Plenary on this 10th day of February, 2000
+      reserves for Jon Bosak in perpetuity the XML name
+      xml:Father
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:annotation>
+    <xs:documentation>This schema defines attributes and an attribute
+      group
+      suitable for use by
+      schemas wishing to allow xml:base, xml:lang or xml:space attributes
+      on elements they define.
+
+      To enable this, such a schema must import this schema
+      for the XML namespace, e.g. as follows:
+      &lt;schema . . .>
+      . . .
+      &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+      schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+
+      Subsequently, qualified reference to any of the attributes
+      or the group defined below will have the desired effect, e.g.
+
+      &lt;type . . .>
+      . . .
+      &lt;attributeGroup ref="xml:specialAttrs"/>
+
+      will define a type which will schema-validate an instance
+      element with any of those attributes
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:annotation>
+    <xs:documentation>In keeping with the XML Schema WG's standard
+      versioning
+      policy, this schema document will persist at
+      http://www.w3.org/2004/10/xml.xsd.
+      At the date of issue it can also be found at
+      http://www.w3.org/2001/xml.xsd.
+      The schema document at that URI may however change in the future,
+      in order to remain compatible with the latest version of XML Schema
+      itself, or with the XML namespace itself. In other words, if the
+      XML
+      Schema or XML namespaces change, the version of this document at
+      http://www.w3.org/2001/xml.xsd will change
+      accordingly; the version at
+      http://www.w3.org/2004/10/xml.xsd will not change.
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:attribute name="lang" type="xs:language">
+    <xs:annotation>
+      <xs:documentation>Attempting to install the relevant ISO 2- and
+        3-letter
+        codes as the enumerated possible values is probably never
+        going to be a realistic possibility. See
+        RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
+        at http://www.iana.org/assignments/lang-tag-apps.htm for
+        further information.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:attribute>
+
+  <xs:attribute name="space">
+    <xs:simpleType>
+      <xs:restriction base="xs:NCName">
+        <xs:enumeration value="default" />
+        <xs:enumeration value="preserve" />
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+
+  <xs:attribute name="base" type="xs:anyURI">
+    <xs:annotation>
+      <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
+        information about this attribute.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:attribute>
+
+  <xs:attribute name="id" type="xs:ID">
+    <xs:annotation>
+      <xs:documentation>See http://www.w3.org/TR/xml-id/ for
+        information about this attribute.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:attribute>
+
+  <xs:attributeGroup name="specialAttrs">
+    <xs:attribute ref="xml:base" />
+    <xs:attribute ref="xml:lang" />
+    <xs:attribute ref="xml:space" />
+  </xs:attributeGroup>
+
+</xs:schema>
diff --git a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part2_attributes.xsd b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part2_attributes.xsd
index c12f30d..ae54ee6 100644
--- a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part2_attributes.xsd
+++ b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part2_attributes.xsd
@@ -16,963 +16,963 @@
   limitations under the License.
 -->
 
-<xsd:schema targetNamespace="http://www.ogf.org/dfdl/dfdl-1.0/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
-  attributeFormDefault="unqualified" elementFormDefault="qualified"
-  xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd">
-
-<xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" schemaLocation="org/apache/daffodil/xsd/dafext.xsd"/>
-  <xsd:include schemaLocation="DFDL_part1_simpletypes.xsd" />
-
-  <!-- ==================================================================== -->
-  <!-- Basic Attributes and Attribute Groups representing DFDL properties -->
-  <!-- ==================================================================== -->
-
-  <xsd:attribute name="ref" type="xsd:QName" />
-
-  <xsd:attributeGroup name="BaseAG">
-    <xsd:attribute name="ref" type="xsd:QName" />
-    <xsd:anyAttribute namespace="http://www.ibm.com/xmlns/dfdl/testData" processContents="lax"/> 
-  </xsd:attributeGroup>
-
-  <!-- 11 Properties Common to Both Content and Framing -->
-  <xsd:attribute name="byteOrder"
-    type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
-  
-  <!-- ADDED PER PUBLIC COMMENT ON Sept 2013 DRAFT -->
-  <xsd:attribute name="bitOrder" type="dfdl:BitOrderEnum"/>
-  
-  <xsd:attribute name="encoding"
-    type="dfdl:EncodingEnum_Or_DFDLExpression" />
-  <xsd:attribute name="utf16Width" type="dfdl:UTF16WidthEnum" />
-  <xsd:attribute name="ignoreCase" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="choiceBranchKey" type="dfdl:ListOfDFDLStringLiteral" />
-  
-  <!-- Added to DFDL -->
-  <xsd:attribute name="encodingErrorPolicy" type="dfdl:EncodingErrorPolicyEnum"/>
-
-  <xsd:attributeGroup name="CommonAG">
-    <xsd:attribute name="byteOrder"
-      type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
-      
-    <xsd:attribute name="bitOrder" type="dfdl:BitOrderEnum"/>
-    <xsd:attribute ref="daf:parseUnparsePolicy"/>
-      
-    <xsd:attribute name="encoding"
-      type="dfdl:EncodingEnum_Or_DFDLExpression" />
-    <xsd:attribute name="utf16Width" type="dfdl:UTF16WidthEnum" />
-    <xsd:attribute name="encodingErrorPolicy" type="dfdl:EncodingErrorPolicyEnum"/>
-    <xsd:attribute name="ignoreCase" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="choiceBranchKey" type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 12.1 Aligned Data -->
-  <xsd:attribute name="alignment" type="dfdl:AlignmentType" />
-  <xsd:attribute name="alignmentUnits" type="dfdl:AlignmentUnitsEnum" />
-  <xsd:attribute name="fillByte" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="leadingSkip" type="dfdl:DFDLNonNegativeInteger" />
-  <xsd:attribute name="trailingSkip" type="dfdl:DFDLNonNegativeInteger" />
-
-  <xsd:attributeGroup name="AlignmentAG">
-    <xsd:attribute name="alignment" type="dfdl:AlignmentType" />
-    <xsd:attribute name="alignmentUnits" type="dfdl:AlignmentUnitsEnum" />
-    <xsd:attribute name="fillByte" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="leadingSkip" type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute name="trailingSkip" type="dfdl:DFDLNonNegativeInteger" />
-  </xsd:attributeGroup>
-
-  <!-- 12.2 Delimiters and Text Mark up -->
-  <xsd:attribute name="initiator"
-    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="terminator"
-    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="outputNewLine" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="emptyValueDelimiterPolicy" type="dfdl:EmptyValueDelimiterPolicyEnum" />
-
-  <xsd:attributeGroup name="MarkupAG">
-    <xsd:attribute name="initiator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="terminator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="outputNewLine" type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="NonGroupMarkupAG">
-    <xsd:attribute name="emptyValueDelimiterPolicy"
-      type="dfdl:EmptyValueDelimiterPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 12.3 Length Properties -->
-  <xsd:attribute name="lengthKind" type="dfdl:LengthKindEnum" />
-  <xsd:attribute name="length"
-    type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
-  <xsd:attribute name="lengthPattern" type="dfdl:DFDLRegularExpression" />
-  <xsd:attribute name="lengthUnits" type="dfdl:LengthUnitsEnum" />
-  <xsd:attribute name="prefixIncludesPrefixLength" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="prefixLengthType" type="xsd:QName" />
-
-  <xsd:attributeGroup name="LengthAG">
-    <xsd:attribute name="lengthKind" type="dfdl:LengthKindEnum" />
-    <xsd:attribute name="length"
-      type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
-    <xsd:attribute name="lengthPattern" type="dfdl:DFDLRegularExpression" />
-    <xsd:attribute name="lengthUnits" type="dfdl:LengthUnitsEnum" />
-    <xsd:attribute name="prefixIncludesPrefixLength" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="prefixLengthType" type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <!-- 13 Simple Types -->
-  <xsd:attribute name="representation" type="dfdl:RepresentationEnum" />
-
-  <xsd:attributeGroup name="RepresentationAG">
-    <xsd:attribute name="representation" type="dfdl:RepresentationEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 14.4 Simple or complex local element or element reference -->
-  <xsd:attribute name="floating" type="dfdl:YesNoEnum" />
-
-  <xsd:attributeGroup name="FloatingAG">
-    <xsd:attribute name="floating" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!--13.2 Properties Common to All Simple Types with Text representation -->
-  <xsd:attribute name="textPadKind" type="dfdl:TextPadKindEnum" />
-  <xsd:attribute name="textTrimKind" type="dfdl:TextTrimKindEnum" />
-  <xsd:attribute name="textOutputMinLength" type="dfdl:DFDLNonNegativeInteger" />
-  <xsd:attribute name="escapeSchemeRef" type="xsd:QName" />
-
-  <xsd:attributeGroup name="SimpleTypesTextAG">
-    <xsd:attribute name="textPadKind" type="dfdl:TextPadKindEnum" />
-    <xsd:attribute name="textTrimKind" type="dfdl:TextTrimKindEnum" />
-    <xsd:attribute name="textOutputMinLength" type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute name="escapeSchemeRef" type="dfdl:DFDLQName" />
-  </xsd:attributeGroup>
-
-  <!-- 13.2.1 Escape Scheme -->
-  <!-- Note that these can never appear in short form -->
-  <xsd:attributeGroup name="EscapeSchemeAG">
-    <xsd:attribute name="escapeKind" type="dfdl:EscapeKindEnum" />
-    <xsd:attribute name="escapeCharacter"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="escapeBlockStart" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="escapeBlockEnd" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="escapeEscapeCharacter"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="extraEscapedCharacters" type="dfdl:ListOfDFDLStringLiteral" />
-    <xsd:attribute name="generateEscapeBlock" type="dfdl:GenerateEscapeEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.3 Properties for Bidirectional support for all Simple Types with 
-    Text representation -->
-  <xsd:attribute name="textBidi" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="textBidiTextOrdering" type="dfdl:TextBidiTextOrderingEnum" />
-  <xsd:attribute name="textBidiOrientation" type="dfdl:TextBidiOrientationEnum" />
-  <xsd:attribute name="textBidiSymmetric" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="textBidiTextShaped" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="textBidiNumeralShapes" type="dfdl:TextBidiNumeralShapesEnum" />
-
-  <xsd:attributeGroup name="TextBidiSchemeAG">
-    <xsd:attribute name="textBidi" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="textBidiTextOrdering" type="dfdl:TextBidiTextOrderingEnum" />
-    <xsd:attribute name="textBidiOrientation" type="dfdl:TextBidiOrientationEnum" />
-    <xsd:attribute name="textBidiSymmetric" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="textBidiTextShaped" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="textBidiNumeralShapes" type="dfdl:TextBidiNumeralShapesEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.4 Properties Specific to Strings with Text representation -->
-  <xsd:attribute name="textStringJustification" type="dfdl:TextStringJustificationEnum" />
-  <xsd:attribute name="textStringPadCharacter" type="dfdl:NonEmptyStringLiteral" />
-  <xsd:attribute name="truncateSpecifiedLengthString"
-    type="dfdl:YesNoEnum" />
-
-  <xsd:attributeGroup name="StringTextAG">
-    <xsd:attribute name="textStringJustification" type="dfdl:TextStringJustificationEnum" />
-    <xsd:attribute name="textStringPadCharacter" type="dfdl:NonEmptyStringLiteral" />
-    <xsd:attribute name="truncateSpecifiedLengthString"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Properties Specific to Number with Text or Binary representation -->
-  <xsd:attribute name="decimalSigned" type="dfdl:YesNoEnum" />
-
-  <xsd:attributeGroup name="NumberAG">
-    <xsd:attribute name="decimalSigned" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Properties Specific to Number with Text representation -->
-  <xsd:attribute name="textNumberRep" type="dfdl:TextNumberRepEnum" />
-  <xsd:attribute name="textNumberJustification" type="dfdl:TextNumberJustificationEnum" />
-  <xsd:attribute name="textNumberPadCharacter" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="textStandardBase" type="dfdl:TextNumberBaseEnum" />
-
-  <xsd:attributeGroup name="NumberTextAG">
-    <xsd:attribute name="textNumberRep" type="dfdl:TextNumberRepEnum" />
-    <xsd:attribute name="textNumberJustification" type="dfdl:TextNumberJustificationEnum" />
-    <xsd:attribute name="textNumberPadCharacter" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="textStandardBase" type="dfdl:TextNumberBaseEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Text number format attributes -->
-  <xsd:attribute name="textNumberPattern" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="textStandardGroupingSeparator"
-    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="textStandardDecimalSeparator"
-    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="textStandardExponentRep"
-    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="textNumberCheckPolicy" type="dfdl:TextNumberCheckPolicyEnum" />
-  <xsd:attribute name="textStandardInfinityRep" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="textStandardNaNRep" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="textNumberRoundingMode" type="dfdl:TextNumberRoundingModeEnum" />
-  <xsd:attribute name="textNumberRounding" type="dfdl:TextNumberRoundingEnum" />
-  <xsd:attribute name="textNumberRoundingIncrement" type="xsd:double" />
-  <xsd:attribute name="textZonedSignStyle" type="dfdl:TextZonedSignStyleEnum" />
-  <xsd:attribute name="textStandardZeroRep" type="dfdl:ListOfDFDLStringLiteral" />
-
-  <xsd:attributeGroup name="TextNumberFormatAG">
-    <xsd:attribute name="textNumberPattern" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="textStandardGroupingSeparator"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="textStandardDecimalSeparator"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="textStandardExponentRep"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="textNumberCheckPolicy" type="dfdl:TextNumberCheckPolicyEnum" />
-    <xsd:attribute name="textStandardInfinityRep" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="textStandardNaNRep" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="textNumberRoundingMode" type="dfdl:TextNumberRoundingModeEnum" />
-    <xsd:attribute name="textNumberRounding" type="dfdl:TextNumberRoundingEnum" />
-    <xsd:attribute name="textNumberRoundingIncrement"
-      type="xsd:double" />
-    <xsd:attribute name="textZonedSignStyle" type="dfdl:TextZonedSignStyleEnum" />
-    <xsd:attribute name="textStandardZeroRep" type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.6 Properties Specific to Number with Binary representation -->
-  <xsd:attribute name="binaryNumberRep" type="dfdl:BinaryNumberRepEnum" />
-  <xsd:attribute name="binaryDecimalVirtualPoint" type="xsd:int" />
-  <xsd:attribute name="binaryPackedSignCodes" type="dfdl:BinaryPackedSignCodes" />
-  <xsd:attribute name="binaryNumberCheckPolicy" type="dfdl:BinaryNumberCheckPolicyEnum" />
-
-  <xsd:attributeGroup name="NumberBinaryAG">
-    <xsd:attribute name="binaryNumberRep" type="dfdl:BinaryNumberRepEnum" />
-    <xsd:attribute name="binaryDecimalVirtualPoint" type="xsd:int" />
-    <xsd:attribute name="binaryPackedSignCodes" type="dfdl:BinaryPackedSignCodes" />
-    <xsd:attribute name="binaryNumberCheckPolicy" type="dfdl:BinaryNumberCheckPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.7 Float/Double with Binary representation -->
-  <xsd:attribute name="binaryFloatRep"
-    type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
-
-  <xsd:attributeGroup name="FloatBinaryAG">
-    <xsd:attribute name="binaryFloatRep"
-      type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!-- 13.8 Properties Specific to Boolean with Text representation -->
-  <xsd:attribute name="textBooleanTrueRep"
-    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="textBooleanFalseRep"
-    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="textBooleanJustification" type="dfdl:TextBooleanJustificationEnum" />
-  <xsd:attribute name="textBooleanPadCharacter" type="dfdl:DFDLStringLiteral" />
-
-  <xsd:attributeGroup name="BooleanTextAG">
-    <xsd:attribute name="textBooleanTrueRep"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="textBooleanFalseRep"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="textBooleanJustification"
-      type="dfdl:TextBooleanJustificationEnum" />
-    <xsd:attribute name="textBooleanPadCharacter" type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.9 Properties Specific to Boolean with Binary representation -->
-  <xsd:attribute name="binaryBooleanTrueRep" type="dfdl:BinaryBooleanTrueRepType" />
-  <xsd:attribute name="binaryBooleanFalseRep" type="dfdl:BinaryBooleanFalseRepType" />
-
-  <xsd:attributeGroup name="BooleanBinaryAG">
-    <xsd:attribute name="binaryBooleanTrueRep" type="dfdl:BinaryBooleanTrueRepType" />
-    <xsd:attribute name="binaryBooleanFalseRep" type="dfdl:BinaryBooleanFalseRepType" />
-  </xsd:attributeGroup>
-
-  <!-- 13.10 Properties Specific to Calendar Format -->
-  <xsd:attribute name="calendarPattern" type="dfdl:DFDLStringLiteral" />
-  <xsd:attribute name="calendarPatternKind" type="dfdl:CalendarPatternKindEnum" />
-  <xsd:attribute name="calendarCheckPolicy" type="dfdl:CalendarCheckPolicyEnum" />
-  <xsd:attribute name="calendarTimeZone" type="dfdl:CalendarTimeZoneType" />
-  <xsd:attribute name="calendarObserveDST" type="dfdl:YesNoEnum" />
-  <xsd:attribute name="calendarFirstDayOfWeek" type="dfdl:CalendarFirstDayOfWeekEnum" />
-  <xsd:attribute name="calendarDaysInFirstWeek" type="dfdl:CalendarDaysInFirstWeek" />
-  <xsd:attribute name="calendarCenturyStart" type="dfdl:CalendarCenturyStart" />
-  <xsd:attribute name="calendarLanguage" type="dfdl:CalendarLanguageType" />
-
-  <xsd:attributeGroup name="CalendarFormatAG">
-    <xsd:attribute name="calendarPattern" type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute name="calendarPatternKind" type="dfdl:CalendarPatternKindEnum" />
-    <xsd:attribute name="calendarCheckPolicy" type="dfdl:CalendarCheckPolicyEnum" />
-    <xsd:attribute name="calendarTimeZone" type="dfdl:CalendarTimeZoneType" />
-    <xsd:attribute name="calendarObserveDST" type="dfdl:YesNoEnum" />
-    <xsd:attribute name="calendarFirstDayOfWeek" type="dfdl:CalendarFirstDayOfWeekEnum" />
-    <xsd:attribute name="calendarDaysInFirstWeek" type="dfdl:CalendarDaysInFirstWeek" />
-    <xsd:attribute name="calendarCenturyStart" type="dfdl:CalendarCenturyStart" />
-    <xsd:attribute name="calendarLanguage" type="dfdl:CalendarLanguageType" />
-  </xsd:attributeGroup>
-
-  <!-- 13.11 Properties Specific to Calendar with Text Representation -->
-  <xsd:attribute name="textCalendarJustification" type="dfdl:TextCalendarJustificationEnum" />
-  <xsd:attribute name="textCalendarPadCharacter" type="dfdl:DFDLStringLiteral" />
-
-  <xsd:attributeGroup name="CalendarTextAG">
-    <xsd:attribute name="textCalendarJustification"
-      type="dfdl:TextCalendarJustificationEnum" />
-    <xsd:attribute name="textCalendarPadCharacter" type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.12 Properties Specific to Calendar with Binary Representation -->
-  <xsd:attribute name="binaryCalendarRep" type="dfdl:BinaryCalendarRepEnum" />
-  <xsd:attribute name="binaryCalendarEpoch" type="xsd:string" />
-
-  <xsd:attributeGroup name="CalendarBinaryAG">
-    <xsd:attribute name="binaryCalendarRep" type="dfdl:BinaryCalendarRepEnum" />
-    <xsd:attribute name="binaryCalendarEpoch" type="xsd:string" />
-  </xsd:attributeGroup>
-
-  <!-- 13.13 Properties Specific to Opaque Types (hexBinary) -->
-  <xsd:attributeGroup name="OpaqueAG">
-  </xsd:attributeGroup>
-
-  <!-- 13.14 Properties for Nillable Elements -->
-  <xsd:attribute name="nilKind" type="dfdl:NilKindEnum" />
-  <xsd:attribute name="nilValue" type="dfdl:NonEmptyListOfDFDLStringLiteral" />
-  <xsd:attribute name="nilValueDelimiterPolicy" type="dfdl:NilValueDelimiterPolicyEnum" />
-
-  <xsd:attributeGroup name="NillableAG">
-    <xsd:attribute name="nilKind" type="dfdl:NilKindEnum" />
-    <xsd:attribute name="nilValue" type="dfdl:NonEmptyListOfDFDLStringLiteral" />
-    <xsd:attribute name="nilValueDelimiterPolicy" type="dfdl:NilValueDelimiterPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.15 Properties for Default Value Control -->
-  <xsd:attribute name="useNilForDefault" type="dfdl:YesNoEnum" />
-
-  <xsd:attributeGroup name="DefaultValueControlAG">
-    <xsd:attribute name="useNilForDefault" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 14 Sequence Groups -->
-  <xsd:attribute name="sequenceKind" type="dfdl:SequenceKindEnum" />
-  <xsd:attribute name="hiddenGroupRef" type="xsd:QName" />
-
-  <xsd:attributeGroup name="SequenceAG">
-    <xsd:attribute name="sequenceKind" type="dfdl:SequenceKindEnum" />
-    <xsd:attribute name="hiddenGroupRef" type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <!-- 14.2 Sequence Groups with Delimiters -->
-  <xsd:attribute name="separator"
-    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-  <xsd:attribute name="separatorPosition" type="dfdl:SeparatorPositionEnum" />
-  <xsd:attribute name="separatorPolicy" type="dfdl:SeparatorPolicyEnum" />
+<xsd:schema targetNamespace="http://www.ogf.org/dfdl/dfdl-1.0/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
+  attributeFormDefault="unqualified" elementFormDefault="qualified"
+  xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd">
+
+<xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" schemaLocation="org/apache/daffodil/xsd/dafext.xsd"/>
+  <xsd:include schemaLocation="DFDL_part1_simpletypes.xsd" />
+
+  <!-- ==================================================================== -->
+  <!-- Basic Attributes and Attribute Groups representing DFDL properties -->
+  <!-- ==================================================================== -->
+
+  <xsd:attribute name="ref" type="xsd:QName" />
+
+  <xsd:attributeGroup name="BaseAG">
+    <xsd:attribute name="ref" type="xsd:QName" />
+    <xsd:anyAttribute namespace="http://www.ibm.com/xmlns/dfdl/testData" processContents="lax"/> 
+  </xsd:attributeGroup>
+
+  <!-- 11 Properties Common to Both Content and Framing -->
+  <xsd:attribute name="byteOrder"
+    type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
+  
+  <!-- ADDED PER PUBLIC COMMENT ON Sept 2013 DRAFT -->
+  <xsd:attribute name="bitOrder" type="dfdl:BitOrderEnum"/>
+  
+  <xsd:attribute name="encoding"
+    type="dfdl:EncodingEnum_Or_DFDLExpression" />
+  <xsd:attribute name="utf16Width" type="dfdl:UTF16WidthEnum" />
+  <xsd:attribute name="ignoreCase" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="choiceBranchKey" type="dfdl:ListOfDFDLStringLiteral" />
+  
+  <!-- Added to DFDL -->
+  <xsd:attribute name="encodingErrorPolicy" type="dfdl:EncodingErrorPolicyEnum"/>
+
+  <xsd:attributeGroup name="CommonAG">
+    <xsd:attribute name="byteOrder"
+      type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
+      
+    <xsd:attribute name="bitOrder" type="dfdl:BitOrderEnum"/>
+    <xsd:attribute ref="daf:parseUnparsePolicy"/>
+      
+    <xsd:attribute name="encoding"
+      type="dfdl:EncodingEnum_Or_DFDLExpression" />
+    <xsd:attribute name="utf16Width" type="dfdl:UTF16WidthEnum" />
+    <xsd:attribute name="encodingErrorPolicy" type="dfdl:EncodingErrorPolicyEnum"/>
+    <xsd:attribute name="ignoreCase" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="choiceBranchKey" type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 12.1 Aligned Data -->
+  <xsd:attribute name="alignment" type="dfdl:AlignmentType" />
+  <xsd:attribute name="alignmentUnits" type="dfdl:AlignmentUnitsEnum" />
+  <xsd:attribute name="fillByte" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="leadingSkip" type="dfdl:DFDLNonNegativeInteger" />
+  <xsd:attribute name="trailingSkip" type="dfdl:DFDLNonNegativeInteger" />
+
+  <xsd:attributeGroup name="AlignmentAG">
+    <xsd:attribute name="alignment" type="dfdl:AlignmentType" />
+    <xsd:attribute name="alignmentUnits" type="dfdl:AlignmentUnitsEnum" />
+    <xsd:attribute name="fillByte" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="leadingSkip" type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute name="trailingSkip" type="dfdl:DFDLNonNegativeInteger" />
+  </xsd:attributeGroup>
+
+  <!-- 12.2 Delimiters and Text Mark up -->
+  <xsd:attribute name="initiator"
+    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="terminator"
+    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="outputNewLine" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="emptyValueDelimiterPolicy" type="dfdl:EmptyValueDelimiterPolicyEnum" />
+
+  <xsd:attributeGroup name="MarkupAG">
+    <xsd:attribute name="initiator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="terminator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="outputNewLine" type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="NonGroupMarkupAG">
+    <xsd:attribute name="emptyValueDelimiterPolicy"
+      type="dfdl:EmptyValueDelimiterPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 12.3 Length Properties -->
+  <xsd:attribute name="lengthKind" type="dfdl:LengthKindEnum" />
+  <xsd:attribute name="length"
+    type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
+  <xsd:attribute name="lengthPattern" type="dfdl:DFDLRegularExpression" />
+  <xsd:attribute name="lengthUnits" type="dfdl:LengthUnitsEnum" />
+  <xsd:attribute name="prefixIncludesPrefixLength" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="prefixLengthType" type="xsd:QName" />
+
+  <xsd:attributeGroup name="LengthAG">
+    <xsd:attribute name="lengthKind" type="dfdl:LengthKindEnum" />
+    <xsd:attribute name="length"
+      type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
+    <xsd:attribute name="lengthPattern" type="dfdl:DFDLRegularExpression" />
+    <xsd:attribute name="lengthUnits" type="dfdl:LengthUnitsEnum" />
+    <xsd:attribute name="prefixIncludesPrefixLength" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="prefixLengthType" type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <!-- 13 Simple Types -->
+  <xsd:attribute name="representation" type="dfdl:RepresentationEnum" />
+
+  <xsd:attributeGroup name="RepresentationAG">
+    <xsd:attribute name="representation" type="dfdl:RepresentationEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 14.4 Simple or complex local element or element reference -->
+  <xsd:attribute name="floating" type="dfdl:YesNoEnum" />
+
+  <xsd:attributeGroup name="FloatingAG">
+    <xsd:attribute name="floating" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!--13.2 Properties Common to All Simple Types with Text representation -->
+  <xsd:attribute name="textPadKind" type="dfdl:TextPadKindEnum" />
+  <xsd:attribute name="textTrimKind" type="dfdl:TextTrimKindEnum" />
+  <xsd:attribute name="textOutputMinLength" type="dfdl:DFDLNonNegativeInteger" />
+  <xsd:attribute name="escapeSchemeRef" type="xsd:QName" />
+
+  <xsd:attributeGroup name="SimpleTypesTextAG">
+    <xsd:attribute name="textPadKind" type="dfdl:TextPadKindEnum" />
+    <xsd:attribute name="textTrimKind" type="dfdl:TextTrimKindEnum" />
+    <xsd:attribute name="textOutputMinLength" type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute name="escapeSchemeRef" type="dfdl:DFDLQName" />
+  </xsd:attributeGroup>
+
+  <!-- 13.2.1 Escape Scheme -->
+  <!-- Note that these can never appear in short form -->
+  <xsd:attributeGroup name="EscapeSchemeAG">
+    <xsd:attribute name="escapeKind" type="dfdl:EscapeKindEnum" />
+    <xsd:attribute name="escapeCharacter"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="escapeBlockStart" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="escapeBlockEnd" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="escapeEscapeCharacter"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="extraEscapedCharacters" type="dfdl:ListOfDFDLStringLiteral" />
+    <xsd:attribute name="generateEscapeBlock" type="dfdl:GenerateEscapeEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.3 Properties for Bidirectional support for all Simple Types with 
+    Text representation -->
+  <xsd:attribute name="textBidi" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="textBidiTextOrdering" type="dfdl:TextBidiTextOrderingEnum" />
+  <xsd:attribute name="textBidiOrientation" type="dfdl:TextBidiOrientationEnum" />
+  <xsd:attribute name="textBidiSymmetric" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="textBidiTextShaped" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="textBidiNumeralShapes" type="dfdl:TextBidiNumeralShapesEnum" />
+
+  <xsd:attributeGroup name="TextBidiSchemeAG">
+    <xsd:attribute name="textBidi" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="textBidiTextOrdering" type="dfdl:TextBidiTextOrderingEnum" />
+    <xsd:attribute name="textBidiOrientation" type="dfdl:TextBidiOrientationEnum" />
+    <xsd:attribute name="textBidiSymmetric" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="textBidiTextShaped" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="textBidiNumeralShapes" type="dfdl:TextBidiNumeralShapesEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.4 Properties Specific to Strings with Text representation -->
+  <xsd:attribute name="textStringJustification" type="dfdl:TextStringJustificationEnum" />
+  <xsd:attribute name="textStringPadCharacter" type="dfdl:NonEmptyStringLiteral" />
+  <xsd:attribute name="truncateSpecifiedLengthString"
+    type="dfdl:YesNoEnum" />
+
+  <xsd:attributeGroup name="StringTextAG">
+    <xsd:attribute name="textStringJustification" type="dfdl:TextStringJustificationEnum" />
+    <xsd:attribute name="textStringPadCharacter" type="dfdl:NonEmptyStringLiteral" />
+    <xsd:attribute name="truncateSpecifiedLengthString"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Properties Specific to Number with Text or Binary representation -->
+  <xsd:attribute name="decimalSigned" type="dfdl:YesNoEnum" />
+
+  <xsd:attributeGroup name="NumberAG">
+    <xsd:attribute name="decimalSigned" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Properties Specific to Number with Text representation -->
+  <xsd:attribute name="textNumberRep" type="dfdl:TextNumberRepEnum" />
+  <xsd:attribute name="textNumberJustification" type="dfdl:TextNumberJustificationEnum" />
+  <xsd:attribute name="textNumberPadCharacter" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="textStandardBase" type="dfdl:TextNumberBaseEnum" />
+
+  <xsd:attributeGroup name="NumberTextAG">
+    <xsd:attribute name="textNumberRep" type="dfdl:TextNumberRepEnum" />
+    <xsd:attribute name="textNumberJustification" type="dfdl:TextNumberJustificationEnum" />
+    <xsd:attribute name="textNumberPadCharacter" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="textStandardBase" type="dfdl:TextNumberBaseEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Text number format attributes -->
+  <xsd:attribute name="textNumberPattern" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="textStandardGroupingSeparator"
+    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="textStandardDecimalSeparator"
+    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="textStandardExponentRep"
+    type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="textNumberCheckPolicy" type="dfdl:TextNumberCheckPolicyEnum" />
+  <xsd:attribute name="textStandardInfinityRep" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="textStandardNaNRep" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="textNumberRoundingMode" type="dfdl:TextNumberRoundingModeEnum" />
+  <xsd:attribute name="textNumberRounding" type="dfdl:TextNumberRoundingEnum" />
+  <xsd:attribute name="textNumberRoundingIncrement" type="xsd:double" />
+  <xsd:attribute name="textZonedSignStyle" type="dfdl:TextZonedSignStyleEnum" />
+  <xsd:attribute name="textStandardZeroRep" type="dfdl:ListOfDFDLStringLiteral" />
+
+  <xsd:attributeGroup name="TextNumberFormatAG">
+    <xsd:attribute name="textNumberPattern" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="textStandardGroupingSeparator"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="textStandardDecimalSeparator"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="textStandardExponentRep"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="textNumberCheckPolicy" type="dfdl:TextNumberCheckPolicyEnum" />
+    <xsd:attribute name="textStandardInfinityRep" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="textStandardNaNRep" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="textNumberRoundingMode" type="dfdl:TextNumberRoundingModeEnum" />
+    <xsd:attribute name="textNumberRounding" type="dfdl:TextNumberRoundingEnum" />
+    <xsd:attribute name="textNumberRoundingIncrement"
+      type="xsd:double" />
+    <xsd:attribute name="textZonedSignStyle" type="dfdl:TextZonedSignStyleEnum" />
+    <xsd:attribute name="textStandardZeroRep" type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.6 Properties Specific to Number with Binary representation -->
+  <xsd:attribute name="binaryNumberRep" type="dfdl:BinaryNumberRepEnum" />
+  <xsd:attribute name="binaryDecimalVirtualPoint" type="xsd:int" />
+  <xsd:attribute name="binaryPackedSignCodes" type="dfdl:BinaryPackedSignCodes" />
+  <xsd:attribute name="binaryNumberCheckPolicy" type="dfdl:BinaryNumberCheckPolicyEnum" />
+
+  <xsd:attributeGroup name="NumberBinaryAG">
+    <xsd:attribute name="binaryNumberRep" type="dfdl:BinaryNumberRepEnum" />
+    <xsd:attribute name="binaryDecimalVirtualPoint" type="xsd:int" />
+    <xsd:attribute name="binaryPackedSignCodes" type="dfdl:BinaryPackedSignCodes" />
+    <xsd:attribute name="binaryNumberCheckPolicy" type="dfdl:BinaryNumberCheckPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.7 Float/Double with Binary representation -->
+  <xsd:attribute name="binaryFloatRep"
+    type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
+
+  <xsd:attributeGroup name="FloatBinaryAG">
+    <xsd:attribute name="binaryFloatRep"
+      type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!-- 13.8 Properties Specific to Boolean with Text representation -->
+  <xsd:attribute name="textBooleanTrueRep"
+    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="textBooleanFalseRep"
+    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="textBooleanJustification" type="dfdl:TextBooleanJustificationEnum" />
+  <xsd:attribute name="textBooleanPadCharacter" type="dfdl:DFDLStringLiteral" />
+
+  <xsd:attributeGroup name="BooleanTextAG">
+    <xsd:attribute name="textBooleanTrueRep"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="textBooleanFalseRep"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="textBooleanJustification"
+      type="dfdl:TextBooleanJustificationEnum" />
+    <xsd:attribute name="textBooleanPadCharacter" type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.9 Properties Specific to Boolean with Binary representation -->
+  <xsd:attribute name="binaryBooleanTrueRep" type="dfdl:BinaryBooleanTrueRepType" />
+  <xsd:attribute name="binaryBooleanFalseRep" type="dfdl:BinaryBooleanFalseRepType" />
+
+  <xsd:attributeGroup name="BooleanBinaryAG">
+    <xsd:attribute name="binaryBooleanTrueRep" type="dfdl:BinaryBooleanTrueRepType" />
+    <xsd:attribute name="binaryBooleanFalseRep" type="dfdl:BinaryBooleanFalseRepType" />
+  </xsd:attributeGroup>
+
+  <!-- 13.10 Properties Specific to Calendar Format -->
+  <xsd:attribute name="calendarPattern" type="dfdl:DFDLStringLiteral" />
+  <xsd:attribute name="calendarPatternKind" type="dfdl:CalendarPatternKindEnum" />
+  <xsd:attribute name="calendarCheckPolicy" type="dfdl:CalendarCheckPolicyEnum" />
+  <xsd:attribute name="calendarTimeZone" type="dfdl:CalendarTimeZoneType" />
+  <xsd:attribute name="calendarObserveDST" type="dfdl:YesNoEnum" />
+  <xsd:attribute name="calendarFirstDayOfWeek" type="dfdl:CalendarFirstDayOfWeekEnum" />
+  <xsd:attribute name="calendarDaysInFirstWeek" type="dfdl:CalendarDaysInFirstWeek" />
+  <xsd:attribute name="calendarCenturyStart" type="dfdl:CalendarCenturyStart" />
+  <xsd:attribute name="calendarLanguage" type="dfdl:CalendarLanguageType" />
+
+  <xsd:attributeGroup name="CalendarFormatAG">
+    <xsd:attribute name="calendarPattern" type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute name="calendarPatternKind" type="dfdl:CalendarPatternKindEnum" />
+    <xsd:attribute name="calendarCheckPolicy" type="dfdl:CalendarCheckPolicyEnum" />
+    <xsd:attribute name="calendarTimeZone" type="dfdl:CalendarTimeZoneType" />
+    <xsd:attribute name="calendarObserveDST" type="dfdl:YesNoEnum" />
+    <xsd:attribute name="calendarFirstDayOfWeek" type="dfdl:CalendarFirstDayOfWeekEnum" />
+    <xsd:attribute name="calendarDaysInFirstWeek" type="dfdl:CalendarDaysInFirstWeek" />
+    <xsd:attribute name="calendarCenturyStart" type="dfdl:CalendarCenturyStart" />
+    <xsd:attribute name="calendarLanguage" type="dfdl:CalendarLanguageType" />
+  </xsd:attributeGroup>
+
+  <!-- 13.11 Properties Specific to Calendar with Text Representation -->
+  <xsd:attribute name="textCalendarJustification" type="dfdl:TextCalendarJustificationEnum" />
+  <xsd:attribute name="textCalendarPadCharacter" type="dfdl:DFDLStringLiteral" />
+
+  <xsd:attributeGroup name="CalendarTextAG">
+    <xsd:attribute name="textCalendarJustification"
+      type="dfdl:TextCalendarJustificationEnum" />
+    <xsd:attribute name="textCalendarPadCharacter" type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.12 Properties Specific to Calendar with Binary Representation -->
+  <xsd:attribute name="binaryCalendarRep" type="dfdl:BinaryCalendarRepEnum" />
+  <xsd:attribute name="binaryCalendarEpoch" type="xsd:string" />
+
+  <xsd:attributeGroup name="CalendarBinaryAG">
+    <xsd:attribute name="binaryCalendarRep" type="dfdl:BinaryCalendarRepEnum" />
+    <xsd:attribute name="binaryCalendarEpoch" type="xsd:string" />
+  </xsd:attributeGroup>
+
+  <!-- 13.13 Properties Specific to Opaque Types (hexBinary) -->
+  <xsd:attributeGroup name="OpaqueAG">
+  </xsd:attributeGroup>
+
+  <!-- 13.14 Properties for Nillable Elements -->
+  <xsd:attribute name="nilKind" type="dfdl:NilKindEnum" />
+  <xsd:attribute name="nilValue" type="dfdl:NonEmptyListOfDFDLStringLiteral" />
+  <xsd:attribute name="nilValueDelimiterPolicy" type="dfdl:NilValueDelimiterPolicyEnum" />
+
+  <xsd:attributeGroup name="NillableAG">
+    <xsd:attribute name="nilKind" type="dfdl:NilKindEnum" />
+    <xsd:attribute name="nilValue" type="dfdl:NonEmptyListOfDFDLStringLiteral" />
+    <xsd:attribute name="nilValueDelimiterPolicy" type="dfdl:NilValueDelimiterPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.15 Properties for Default Value Control -->
+  <xsd:attribute name="useNilForDefault" type="dfdl:YesNoEnum" />
+
+  <xsd:attributeGroup name="DefaultValueControlAG">
+    <xsd:attribute name="useNilForDefault" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 14 Sequence Groups -->
+  <xsd:attribute name="sequenceKind" type="dfdl:SequenceKindEnum" />
+  <xsd:attribute name="hiddenGroupRef" type="xsd:QName" />
+
+  <xsd:attributeGroup name="SequenceAG">
+    <xsd:attribute name="sequenceKind" type="dfdl:SequenceKindEnum" />
+    <xsd:attribute name="hiddenGroupRef" type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <!-- 14.2 Sequence Groups with Delimiters -->
+  <xsd:attribute name="separator"
+    type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+  <xsd:attribute name="separatorPosition" type="dfdl:SeparatorPositionEnum" />
+  <xsd:attribute name="separatorPolicy" type="dfdl:SeparatorPolicyEnum" />
   <xsd:attribute name="separatorSuppressionPolicy" type="dfdl:SeparatorSuppressionPolicyEnum" />  
-
-  <xsd:attributeGroup name="SeparatorAG">
-    <xsd:attribute name="separator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute name="separatorPosition" type="dfdl:SeparatorPositionEnum" />
-    <xsd:attribute name="separatorPolicy" type="dfdl:SeparatorPolicyEnum" />
+
+  <xsd:attributeGroup name="SeparatorAG">
+    <xsd:attribute name="separator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute name="separatorPosition" type="dfdl:SeparatorPositionEnum" />
+    <xsd:attribute name="separatorPolicy" type="dfdl:SeparatorPolicyEnum" />
     <xsd:attribute name="separatorSuppressionPolicy" type="dfdl:SeparatorSuppressionPolicyEnum" />  
-  </xsd:attributeGroup>
-
-  <xsd:attribute name="initiatedContent" type="dfdl:YesNoEnum" />
-  <xsd:attributeGroup name="GroupCommonAG">
-    <xsd:attribute name="initiatedContent" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 15 Choices -->
-  <xsd:attribute name="choiceLengthKind" type="dfdl:ChoiceLengthKindEnum" />
-  <xsd:attribute name="choiceLength" type="dfdl:DFDLNonNegativeInteger" />
-  <xsd:attribute name="choiceDispatchKey" type="dfdl:DFDLExpression" />
-
-  <xsd:attributeGroup name="ChoiceAG">
-    <xsd:attribute name="choiceLengthKind" type="dfdl:ChoiceLengthKindEnum" />
-    <xsd:attribute name="choiceLength" type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute name="choiceDispatchKey" type="dfdl:DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!--16 Arrays and Optional Elements: Properties for Repeating and Variable-Occurrence 
-    Data Items -->
-  <xsd:attribute name="occursCountKind" type="dfdl:OccursCountKindEnum" />
-  <xsd:attribute name="occursCount" type="dfdl:DFDLExpression" />
-  <xsd:attribute name="occursStopValue" type="dfdl:ListOfDFDLStringLiteral" />
-
-  <xsd:attributeGroup name="OccursAG">
-    <xsd:attribute name="occursCountKind" type="dfdl:OccursCountKindEnum" />
-    <xsd:attribute name="occursCount" type="dfdl:DFDLExpression" />
-    <xsd:attribute name="occursStopValue" type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 19 Calculated Value Properties. -->
-  <xsd:attribute name="inputValueCalc" type="dfdl:DFDLExpression" />
-  <xsd:attribute name="outputValueCalc" type="dfdl:DFDLExpression" />
-
-  <xsd:attributeGroup name="CalculatedValueAG">
-    <xsd:attribute name="inputValueCalc" type="dfdl:DFDLExpression" />
-    <xsd:attribute name="outputValueCalc" type="dfdl:DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!-- document only markup properties -->
-  <xsd:attribute name="documentFinalTerminatorCanBeMissing"
-    type="dfdl:YesNoEnum" />
-
-  <xsd:attributeGroup name="DocumentPropertiesAG">
-    <xsd:attribute name="documentFinalTerminatorCanBeMissing"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-
-  <!-- ========================================================== -->
-  <!-- Enumeration of simple name of all DFDL properties that can -->
-  <!-- appear in element form. -->
-  <!-- ========================================================== -->
-
-  <xsd:simpleType name="PropertyNameType">
-    <xsd:restriction base="xsd:string">
-
-      <!-- List of properties that are string types -->
-      <xsd:enumeration value="initiator" />
-      <xsd:enumeration value="terminator" />
-      <xsd:enumeration value="documentFinalTerminatorCanBeMissing" />
-      <xsd:enumeration value="outputNewLine" />
-      <xsd:enumeration value="length" />
-      <xsd:enumeration value="lengthPattern" />
-      <xsd:enumeration value="textStringPadCharacter" />
-      <xsd:enumeration value="textNumberPadCharacter" />
-      <xsd:enumeration value="textCalendarPadCharacter" />
-      <xsd:enumeration value="textBooleanPadCharacter" />
-      <xsd:enumeration value="escapeCharacter" />
-      <xsd:enumeration value="escapeBlockStart" />
-      <xsd:enumeration value="escapeBlockEnd" />
-      <xsd:enumeration value="escapeEscapeCharacter" />
-      <xsd:enumeration value="extraEscapedCharacters" />
-      <xsd:enumeration value="textNumberPattern" />
-      <xsd:enumeration value="textStandardGroupingSeparator" />
-      <xsd:enumeration value="textStandardDecimalSeparator" />
-      <xsd:enumeration value="textStandardExponentRep" />
-      <xsd:enumeration value="textStandardInfinityRep" />
-      <xsd:enumeration value="textStandardNaNRep" />
-      <xsd:enumeration value="textStandardZeroRep" />
-      <xsd:enumeration value="textBooleanTrueRep" />
-      <xsd:enumeration value="textBooleanFalseRep" />
-      <xsd:enumeration value="calendarPattern" />
-      <xsd:enumeration value="calendarLanguage" />
-      <xsd:enumeration value="binaryCalendarEpoch" />
-      <xsd:enumeration value="nilValue" />
-      <xsd:enumeration value="separator" />
-      <xsd:enumeration value="occursStopValue" />
-      <xsd:enumeration value="inputValueCalc" />
-      <xsd:enumeration value="outputValueCalc" />
-
-      <!-- Bidirectional Properties for all Simple Types with Text representation -->
-      <xsd:enumeration value="textBidi" />
-      <xsd:enumeration value="textBidiTextOrdering" />
-      <xsd:enumeration value="textBidiOrientation" />
-      <xsd:enumeration value="textBidiSymmetric" />
-      <xsd:enumeration value="textBidiTextShaped" />
-      <xsd:enumeration value="textBidiNumeralShapes" />
-
-      <!-- List of properties with non-string types -->
-      <xsd:enumeration value="byteOrder" />
-      <xsd:enumeration value="bitOrder"/>
-      <xsd:enumeration value="encoding" />
-      <xsd:enumeration value="encodingErrorPolicy"/>
-      <xsd:enumeration value="utf16Width" />
-      <xsd:enumeration value="ignoreCase" />
-
-      <xsd:enumeration value="alignment" />
-      <xsd:enumeration value="alignmentUnits" />
-      <xsd:enumeration value="fillByte" />
-      <xsd:enumeration value="leadingSkip" />
-      <xsd:enumeration value="trailingSkip" />
-
-      <xsd:enumeration value="lengthKind" />
-      <xsd:enumeration value="lengthUnits" />
-
-      <xsd:enumeration value="prefixIncludesPrefixLength" />
-      <xsd:enumeration value="prefixLengthType" />
-
-      <xsd:enumeration value="representation" />
-
-      <xsd:enumeration value="textPadKind" />
-      <xsd:enumeration value="textTrimKind" />
-      <xsd:enumeration value="textOutputMinLength" />
-
-      <xsd:enumeration value="escapeKind" />
-      <xsd:enumeration value="generateEscapeBlock" />
-
-      <xsd:enumeration value="textStringJustification" />
-      <xsd:enumeration value="textNumberRep" />
-      <xsd:enumeration value="textNumberJustification" />
-
-      <xsd:enumeration value="textNumberCheckPolicy" />
-      <xsd:enumeration value="textStandardBase" />
-      <xsd:enumeration value="textNumberRoundingMode" />
-      <xsd:enumeration value="textNumberRounding" />
-      <xsd:enumeration value="textNumberRoundingIncrement" />
-      <xsd:enumeration value="textZonedSignStyle" />
-
-      <xsd:enumeration value="binaryNumberRep" />
-      <xsd:enumeration value="binaryDecimalVirtualPoint" />
-      <xsd:enumeration value="binaryNumberCheckPolicy" />
-      <xsd:enumeration value="binaryPackedSignCodes" />
-      <xsd:enumeration value="binaryFloatRep" />
-
-      <xsd:enumeration value="textBooleanJustification" />
-
-      <xsd:enumeration value="binaryBooleanTrueRep" />
-      <xsd:enumeration value="binaryBooleanFalseRep" />
-
-      <xsd:enumeration value="textCalendarJustification" />
-
-      <xsd:enumeration value="calendarPatternKind" />
-      <xsd:enumeration value="calendarCheckPolicy" />
-      <xsd:enumeration value="calendarTimeZone" />
-      <xsd:enumeration value="calendarObserveDST" />
-      <xsd:enumeration value="calendarFirstDayOfWeek" />
-      <xsd:enumeration value="calendarDaysInFirstWeek" />
-      <xsd:enumeration value="calendarCenturyStart" />
-      <xsd:enumeration value="binaryCalendarRep" />
-
-      <xsd:enumeration value="nilKind" />
-      <xsd:enumeration value="nilValueDelimiterPolicy" />
-
-      <xsd:enumeration value="useNilForDefault" />
-      <xsd:enumeration value="emptyValueDelimiterPolicy" />
-
-      <xsd:enumeration value="sequenceKind" />
-      <xsd:enumeration value="hiddenGroupRef" />
-      <xsd:enumeration value="initiatedContent" />
-
-      <xsd:enumeration value="separatorPosition" />
-      <xsd:enumeration value="separatorPolicy" />
-      <xsd:enumeration value="separatorSuppressionPolicy" />      
-
-      <xsd:enumeration value="choiceLengthKind" />
-      <xsd:enumeration value="choiceLength" />
-      <xsd:enumeration value="choiceDispatchKey" />
-      <xsd:enumeration value="choiceBranchKey" />
-
-      <xsd:enumeration value="occursCountKind" />
-      <xsd:enumeration value="occursCount" />
-
-      <xsd:enumeration value="floating" />
-      <xsd:enumeration value="truncateSpecifiedLengthString" />
-
-      <xsd:enumeration value="decimalSigned" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- Qualified Form Attributes (for validating Short-form annotations) -->
-
-  <xsd:attributeGroup name="BaseAGQualified">
-    <xsd:attribute form="qualified" name="ref" type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="CommonAGQualified">
-    <xsd:attribute form="qualified" name="byteOrder"
-      type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="encoding"
-      type="dfdl:EncodingEnum_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="encodingErrorPolicy"
+  </xsd:attributeGroup>
+
+  <xsd:attribute name="initiatedContent" type="dfdl:YesNoEnum" />
+  <xsd:attributeGroup name="GroupCommonAG">
+    <xsd:attribute name="initiatedContent" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 15 Choices -->
+  <xsd:attribute name="choiceLengthKind" type="dfdl:ChoiceLengthKindEnum" />
+  <xsd:attribute name="choiceLength" type="dfdl:DFDLNonNegativeInteger" />
+  <xsd:attribute name="choiceDispatchKey" type="dfdl:DFDLExpression" />
+
+  <xsd:attributeGroup name="ChoiceAG">
+    <xsd:attribute name="choiceLengthKind" type="dfdl:ChoiceLengthKindEnum" />
+    <xsd:attribute name="choiceLength" type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute name="choiceDispatchKey" type="dfdl:DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!--16 Arrays and Optional Elements: Properties for Repeating and Variable-Occurrence 
+    Data Items -->
+  <xsd:attribute name="occursCountKind" type="dfdl:OccursCountKindEnum" />
+  <xsd:attribute name="occursCount" type="dfdl:DFDLExpression" />
+  <xsd:attribute name="occursStopValue" type="dfdl:ListOfDFDLStringLiteral" />
+
+  <xsd:attributeGroup name="OccursAG">
+    <xsd:attribute name="occursCountKind" type="dfdl:OccursCountKindEnum" />
+    <xsd:attribute name="occursCount" type="dfdl:DFDLExpression" />
+    <xsd:attribute name="occursStopValue" type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 19 Calculated Value Properties. -->
+  <xsd:attribute name="inputValueCalc" type="dfdl:DFDLExpression" />
+  <xsd:attribute name="outputValueCalc" type="dfdl:DFDLExpression" />
+
+  <xsd:attributeGroup name="CalculatedValueAG">
+    <xsd:attribute name="inputValueCalc" type="dfdl:DFDLExpression" />
+    <xsd:attribute name="outputValueCalc" type="dfdl:DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!-- document only markup properties -->
+  <xsd:attribute name="documentFinalTerminatorCanBeMissing"
+    type="dfdl:YesNoEnum" />
+
+  <xsd:attributeGroup name="DocumentPropertiesAG">
+    <xsd:attribute name="documentFinalTerminatorCanBeMissing"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+
+  <!-- ========================================================== -->
+  <!-- Enumeration of simple name of all DFDL properties that can -->
+  <!-- appear in element form. -->
+  <!-- ========================================================== -->
+
+  <xsd:simpleType name="PropertyNameType">
+    <xsd:restriction base="xsd:string">
+
+      <!-- List of properties that are string types -->
+      <xsd:enumeration value="initiator" />
+      <xsd:enumeration value="terminator" />
+      <xsd:enumeration value="documentFinalTerminatorCanBeMissing" />
+      <xsd:enumeration value="outputNewLine" />
+      <xsd:enumeration value="length" />
+      <xsd:enumeration value="lengthPattern" />
+      <xsd:enumeration value="textStringPadCharacter" />
+      <xsd:enumeration value="textNumberPadCharacter" />
+      <xsd:enumeration value="textCalendarPadCharacter" />
+      <xsd:enumeration value="textBooleanPadCharacter" />
+      <xsd:enumeration value="escapeCharacter" />
+      <xsd:enumeration value="escapeBlockStart" />
+      <xsd:enumeration value="escapeBlockEnd" />
+      <xsd:enumeration value="escapeEscapeCharacter" />
+      <xsd:enumeration value="extraEscapedCharacters" />
+      <xsd:enumeration value="textNumberPattern" />
+      <xsd:enumeration value="textStandardGroupingSeparator" />
+      <xsd:enumeration value="textStandardDecimalSeparator" />
+      <xsd:enumeration value="textStandardExponentRep" />
+      <xsd:enumeration value="textStandardInfinityRep" />
+      <xsd:enumeration value="textStandardNaNRep" />
+      <xsd:enumeration value="textStandardZeroRep" />
+      <xsd:enumeration value="textBooleanTrueRep" />
+      <xsd:enumeration value="textBooleanFalseRep" />
+      <xsd:enumeration value="calendarPattern" />
+      <xsd:enumeration value="calendarLanguage" />
+      <xsd:enumeration value="binaryCalendarEpoch" />
+      <xsd:enumeration value="nilValue" />
+      <xsd:enumeration value="separator" />
+      <xsd:enumeration value="occursStopValue" />
+      <xsd:enumeration value="inputValueCalc" />
+      <xsd:enumeration value="outputValueCalc" />
+
+      <!-- Bidirectional Properties for all Simple Types with Text representation -->
+      <xsd:enumeration value="textBidi" />
+      <xsd:enumeration value="textBidiTextOrdering" />
+      <xsd:enumeration value="textBidiOrientation" />
+      <xsd:enumeration value="textBidiSymmetric" />
+      <xsd:enumeration value="textBidiTextShaped" />
+      <xsd:enumeration value="textBidiNumeralShapes" />
+
+      <!-- List of properties with non-string types -->
+      <xsd:enumeration value="byteOrder" />
+      <xsd:enumeration value="bitOrder"/>
+      <xsd:enumeration value="encoding" />
+      <xsd:enumeration value="encodingErrorPolicy"/>
+      <xsd:enumeration value="utf16Width" />
+      <xsd:enumeration value="ignoreCase" />
+
+      <xsd:enumeration value="alignment" />
+      <xsd:enumeration value="alignmentUnits" />
+      <xsd:enumeration value="fillByte" />
+      <xsd:enumeration value="leadingSkip" />
+      <xsd:enumeration value="trailingSkip" />
+
+      <xsd:enumeration value="lengthKind" />
+      <xsd:enumeration value="lengthUnits" />
+
+      <xsd:enumeration value="prefixIncludesPrefixLength" />
+      <xsd:enumeration value="prefixLengthType" />
+
+      <xsd:enumeration value="representation" />
+
+      <xsd:enumeration value="textPadKind" />
+      <xsd:enumeration value="textTrimKind" />
+      <xsd:enumeration value="textOutputMinLength" />
+
+      <xsd:enumeration value="escapeKind" />
+      <xsd:enumeration value="generateEscapeBlock" />
+
+      <xsd:enumeration value="textStringJustification" />
+      <xsd:enumeration value="textNumberRep" />
+      <xsd:enumeration value="textNumberJustification" />
+
+      <xsd:enumeration value="textNumberCheckPolicy" />
+      <xsd:enumeration value="textStandardBase" />
+      <xsd:enumeration value="textNumberRoundingMode" />
+      <xsd:enumeration value="textNumberRounding" />
+      <xsd:enumeration value="textNumberRoundingIncrement" />
+      <xsd:enumeration value="textZonedSignStyle" />
+
+      <xsd:enumeration value="binaryNumberRep" />
+      <xsd:enumeration value="binaryDecimalVirtualPoint" />
+      <xsd:enumeration value="binaryNumberCheckPolicy" />
+      <xsd:enumeration value="binaryPackedSignCodes" />
+      <xsd:enumeration value="binaryFloatRep" />
+
+      <xsd:enumeration value="textBooleanJustification" />
+
+      <xsd:enumeration value="binaryBooleanTrueRep" />
+      <xsd:enumeration value="binaryBooleanFalseRep" />
+
+      <xsd:enumeration value="textCalendarJustification" />
+
+      <xsd:enumeration value="calendarPatternKind" />
+      <xsd:enumeration value="calendarCheckPolicy" />
+      <xsd:enumeration value="calendarTimeZone" />
+      <xsd:enumeration value="calendarObserveDST" />
+      <xsd:enumeration value="calendarFirstDayOfWeek" />
+      <xsd:enumeration value="calendarDaysInFirstWeek" />
+      <xsd:enumeration value="calendarCenturyStart" />
+      <xsd:enumeration value="binaryCalendarRep" />
+
+      <xsd:enumeration value="nilKind" />
+      <xsd:enumeration value="nilValueDelimiterPolicy" />
+
+      <xsd:enumeration value="useNilForDefault" />
+      <xsd:enumeration value="emptyValueDelimiterPolicy" />
+
+      <xsd:enumeration value="sequenceKind" />
+      <xsd:enumeration value="hiddenGroupRef" />
+      <xsd:enumeration value="initiatedContent" />
+
+      <xsd:enumeration value="separatorPosition" />
+      <xsd:enumeration value="separatorPolicy" />
+      <xsd:enumeration value="separatorSuppressionPolicy" />      
+
+      <xsd:enumeration value="choiceLengthKind" />
+      <xsd:enumeration value="choiceLength" />
+      <xsd:enumeration value="choiceDispatchKey" />
+      <xsd:enumeration value="choiceBranchKey" />
+
+      <xsd:enumeration value="occursCountKind" />
+      <xsd:enumeration value="occursCount" />
+
+      <xsd:enumeration value="floating" />
+      <xsd:enumeration value="truncateSpecifiedLengthString" />
+
+      <xsd:enumeration value="decimalSigned" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <!-- Qualified Form Attributes (for validating Short-form annotations) -->
+
+  <xsd:attributeGroup name="BaseAGQualified">
+    <xsd:attribute form="qualified" name="ref" type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="CommonAGQualified">
+    <xsd:attribute form="qualified" name="byteOrder"
+      type="dfdl:ByteOrderEnum_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="encoding"
+      type="dfdl:EncodingEnum_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="encodingErrorPolicy"
       type="dfdl:EncodingErrorPolicyEnum" />
-    <xsd:attribute form="qualified" name="utf16Width"
-      type="dfdl:UTF16WidthEnum" />
-    <xsd:attribute form="qualified" name="ignoreCase"
-      type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="choiceBranchKey"
-      type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 12.1 Aligned Data -->
-
-  <xsd:attributeGroup name="AlignmentAGQualified">
-    <xsd:attribute form="qualified" name="alignment"
-      type="dfdl:AlignmentType" />
-    <xsd:attribute form="qualified" name="alignmentUnits"
-      type="dfdl:AlignmentUnitsEnum" />
-    <xsd:attribute form="qualified" name="fillByte"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="leadingSkip"
-      type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute form="qualified" name="trailingSkip"
-      type="dfdl:DFDLNonNegativeInteger" />
-  </xsd:attributeGroup>
-
-  <!-- 12.2 Delimiters and Text Mark up -->
-
-  <xsd:attributeGroup name="MarkupAGQualified">
-    <xsd:attribute form="qualified" name="initiator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="terminator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="outputNewLine"
-      type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="NonGroupMarkupAGQualified">
-    <xsd:attribute form="qualified" name="emptyValueDelimiterPolicy"
-      type="dfdl:EmptyValueDelimiterPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 12.3 Length Properties -->
-
-  <xsd:attributeGroup name="LengthAGQualified">
-    <xsd:attribute form="qualified" name="lengthKind"
-      type="dfdl:LengthKindEnum" />
-    <xsd:attribute form="qualified" name="length"
-      type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="lengthPattern"
-      type="dfdl:DFDLRegularExpression" />
-    <xsd:attribute form="qualified" name="lengthUnits"
-      type="dfdl:LengthUnitsEnum" />
-    <xsd:attribute form="qualified" name="prefixIncludesPrefixLength"
-      type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="prefixLengthType"
-      type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <!-- 13 Simple Types -->
-
-  <xsd:attributeGroup name="RepresentationAGQualified">
-    <xsd:attribute form="qualified" name="representation"
-      type="dfdl:RepresentationEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 14.4 Simple or complex local element or element reference -->
-
-  <xsd:attributeGroup name="FloatingAGQualified">
-    <xsd:attribute form="qualified" name="floating" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!--13.2 Properties Common to All Simple Types with Text representation -->
-
-  <xsd:attributeGroup name="SimpleTypesTextAGQualified">
-    <xsd:attribute form="qualified" name="textPadKind"
-      type="dfdl:TextPadKindEnum" />
-    <xsd:attribute form="qualified" name="textTrimKind"
-      type="dfdl:TextTrimKindEnum" />
-    <xsd:attribute form="qualified" name="textOutputMinLength"
-      type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute form="qualified" name="escapeSchemeRef"
-      type="dfdl:DFDLQName" />
-  </xsd:attributeGroup>
-
-  <!-- 13.2.1 Escape Scheme -->
-  <!-- Note that these can never appear in short form -->
-  <xsd:attributeGroup name="EscapeSchemeAGQualified">
-    <xsd:attribute form="qualified" name="escapeKind"
-      type="dfdl:EscapeKindEnum" />
-    <xsd:attribute form="qualified" name="escapeCharacter"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="escapeBlockStart"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="escapeBlockEnd"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="escapeEscapeCharacter"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="extraEscapedCharacters"
-      type="dfdl:ListOfDFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="generateEscapeBlock"
-      type="dfdl:GenerateEscapeEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.3 Properties for Bidirectional support for all Simple Types with 
-    Text representation -->
-
-  <xsd:attributeGroup name="TextBidiSchemeAGQualified">
-    <xsd:attribute form="qualified" name="textBidi" type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="textBidiTextOrdering"
-      type="dfdl:TextBidiTextOrderingEnum" />
-    <xsd:attribute form="qualified" name="textBidiOrientation"
-      type="dfdl:TextBidiOrientationEnum" />
-    <xsd:attribute form="qualified" name="textBidiSymmetric"
-      type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="textBidiTextShaped"
-      type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="textBidiNumeralShapes"
-      type="dfdl:TextBidiNumeralShapesEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.4 Properties Specific to Strings with Text representation -->
-
-  <xsd:attributeGroup name="StringTextAGQualified">
-    <xsd:attribute form="qualified" name="textStringJustification"
-      type="dfdl:TextStringJustificationEnum" />
-    <xsd:attribute form="qualified" name="textStringPadCharacter"
-      type="dfdl:NonEmptyStringLiteral" />
-    <xsd:attribute form="qualified" name="truncateSpecifiedLengthString"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Properties Specific to Number with Text or Binary representation -->
-
-  <xsd:attributeGroup name="NumberAGQualified">
-    <xsd:attribute form="qualified" name="decimalSigned"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Properties Specific to Number with Text representation -->
-
-  <xsd:attributeGroup name="NumberTextAGQualified">
-    <xsd:attribute form="qualified" name="textNumberRep"
-      type="dfdl:TextNumberRepEnum" />
-    <xsd:attribute form="qualified" name="textNumberJustification"
-      type="dfdl:TextNumberJustificationEnum" />
-    <xsd:attribute form="qualified" name="textNumberPadCharacter"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="textStandardBase"
-      type="dfdl:TextNumberBaseEnum" />
-  </xsd:attributeGroup>
-
-  <!-- Text number format attributes -->
-
-  <xsd:attributeGroup name="TextNumberFormatAGQualified">
-    <xsd:attribute form="qualified" name="textNumberPattern"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="textStandardGroupingSeparator"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="textStandardDecimalSeparator"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="textStandardExponentRep"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="textNumberCheckPolicy"
-      type="dfdl:TextNumberCheckPolicyEnum" />
-    <xsd:attribute form="qualified" name="textStandardInfinityRep"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="textStandardNaNRep"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="textNumberRoundingMode"
-      type="dfdl:TextNumberRoundingModeEnum" />
-    <xsd:attribute form="qualified" name="textNumberRounding"
-      type="dfdl:TextNumberRoundingEnum" />
-    <xsd:attribute form="qualified" name="textNumberRoundingIncrement"
-      type="xsd:double" />
-    <xsd:attribute form="qualified" name="textZonedSignStyle"
-      type="dfdl:TextZonedSignStyleEnum" />
-    <xsd:attribute form="qualified" name="textStandardZeroRep"
-      type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.6 Properties Specific to Number with Binary representation -->
-
-  <xsd:attributeGroup name="NumberBinaryAGQualified">
-    <xsd:attribute form="qualified" name="binaryNumberRep"
-      type="dfdl:BinaryNumberRepEnum" />
-    <xsd:attribute form="qualified" name="binaryDecimalVirtualPoint"
-      type="xsd:int" />
-    <xsd:attribute form="qualified" name="binaryPackedSignCodes"
-      type="dfdl:BinaryPackedSignCodes" />
-    <xsd:attribute form="qualified" name="binaryNumberCheckPolicy"
-      type="dfdl:BinaryNumberCheckPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.7 Float/Double with Binary representation -->
-
-  <xsd:attributeGroup name="FloatBinaryAGQualified">
-    <xsd:attribute form="qualified" name="binaryFloatRep"
-      type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!-- 13.8 Properties Specific to Boolean with Text representation -->
-
-  <xsd:attributeGroup name="BooleanTextAGQualified">
-    <xsd:attribute form="qualified" name="textBooleanTrueRep"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="textBooleanFalseRep"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="textBooleanJustification"
-      type="dfdl:TextBooleanJustificationEnum" />
-    <xsd:attribute form="qualified" name="textBooleanPadCharacter"
-      type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.9 Properties Specific to Boolean with Binary representation -->
-
-  <xsd:attributeGroup name="BooleanBinaryAGQualified">
-    <xsd:attribute form="qualified" name="binaryBooleanTrueRep"
-      type="dfdl:BinaryBooleanTrueRepType" />
-    <xsd:attribute form="qualified" name="binaryBooleanFalseRep"
-      type="dfdl:BinaryBooleanFalseRepType" />
-  </xsd:attributeGroup>
-
-  <!-- 13.10 Properties Specific to Calendar Format -->
-
-  <xsd:attributeGroup name="CalendarFormatAGQualified">
-    <xsd:attribute form="qualified" name="calendarPattern"
-      type="dfdl:DFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="calendarPatternKind"
-      type="dfdl:CalendarPatternKindEnum" />
-    <xsd:attribute form="qualified" name="calendarCheckPolicy"
-      type="dfdl:CalendarCheckPolicyEnum" />
-    <xsd:attribute form="qualified" name="calendarTimeZone"
-      type="dfdl:CalendarTimeZoneType" />
-    <xsd:attribute form="qualified" name="calendarObserveDST"
-      type="dfdl:YesNoEnum" />
-    <xsd:attribute form="qualified" name="calendarFirstDayOfWeek"
-      type="dfdl:CalendarFirstDayOfWeekEnum" />
-    <xsd:attribute form="qualified" name="calendarDaysInFirstWeek"
-      type="dfdl:CalendarDaysInFirstWeek" />
-    <xsd:attribute form="qualified" name="calendarCenturyStart"
-      type="dfdl:CalendarCenturyStart" />
-    <xsd:attribute form="qualified" name="calendarLanguage"
-      type="dfdl:CalendarLanguageType" />
-  </xsd:attributeGroup>
-
-  <!-- 13.11 Properties Specific to Calendar with Text Representation -->
-
-  <xsd:attributeGroup name="CalendarTextAGQualified">
-    <xsd:attribute form="qualified" name="textCalendarJustification"
-      type="dfdl:TextCalendarJustificationEnum" />
-    <xsd:attribute form="qualified" name="textCalendarPadCharacter"
-      type="dfdl:DFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 13.12 Properties Specific to Calendar with Binary Representation -->
-
-  <xsd:attributeGroup name="CalendarBinaryAGQualified">
-    <xsd:attribute form="qualified" name="binaryCalendarRep"
-      type="dfdl:BinaryCalendarRepEnum" />
-    <xsd:attribute form="qualified" name="binaryCalendarEpoch"
-      type="xsd:string" />
-  </xsd:attributeGroup>
-
-  <!-- 13.13 Properties Specific to Opaque Types (hexBinary) -->
-  <xsd:attributeGroup name="OpaqueAGQualified">
-  </xsd:attributeGroup>
-
-  <!-- 13.14 Properties for Nillable Elements -->
-
-  <xsd:attributeGroup name="NillableAGQualified">
-    <xsd:attribute form="qualified" name="nilKind"
-      type="dfdl:NilKindEnum" />
-    <xsd:attribute form="qualified" name="nilValue"
-      type="dfdl:NonEmptyListOfDFDLStringLiteral" />
-    <xsd:attribute form="qualified" name="nilValueDelimiterPolicy"
-      type="dfdl:NilValueDelimiterPolicyEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 13.15 Properties for Default Value Control -->
-
-  <xsd:attributeGroup name="DefaultValueControlAGQualified">
-    <xsd:attribute form="qualified" name="useNilForDefault"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 14 Sequence Groups -->
-
-  <xsd:attributeGroup name="SequenceAGQualified">
-    <xsd:attribute form="qualified" name="sequenceKind"
-      type="dfdl:SequenceKindEnum" />
-    <xsd:attribute form="qualified" name="hiddenGroupRef"
-      type="xsd:QName" />
-  </xsd:attributeGroup>
-
-  <!-- 14.2 Sequence Groups with Delimiters -->
-
-  <xsd:attributeGroup name="SeparatorAGQualified">
-    <xsd:attribute form="qualified" name="separator"
-      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
-    <xsd:attribute form="qualified" name="separatorPosition"
-      type="dfdl:SeparatorPositionEnum" />
-    <xsd:attribute form="qualified" name="separatorPolicy"
-      type="dfdl:SeparatorPolicyEnum" />
-    <xsd:attribute form="qualified" name="separatorSuppressionPolicy"
-      type="dfdl:SeparatorSuppressionPolicyEnum" />      
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="GroupCommonAGQualified">
-    <xsd:attribute form="qualified" name="initiatedContent"
-      type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <!-- 15 Choices -->
-
-  <xsd:attributeGroup name="ChoiceAGQualified">
-    <xsd:attribute form="qualified" name="choiceLengthKind"
-      type="dfdl:ChoiceLengthKindEnum" />
-    <xsd:attribute form="qualified" name="choiceLength"
-      type="dfdl:DFDLNonNegativeInteger" />
-    <xsd:attribute form="qualified" name="choiceDispatchKey"
-      type="dfdl:DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!--16 Arrays and Optional Elements: Properties for Repeating and Variable-Occurrence 
-    Data Items -->
-
-  <xsd:attributeGroup name="OccursAGQualified">
-    <xsd:attribute form="qualified" name="occursCountKind"
-      type="dfdl:OccursCountKindEnum" />
-    <xsd:attribute form="qualified" name="occursCount"
-      type="dfdl:DFDLExpression" />
-    <xsd:attribute form="qualified" name="occursStopValue"
-      type="dfdl:ListOfDFDLStringLiteral" />
-  </xsd:attributeGroup>
-
-  <!-- 19 Calculated Value Properties. -->
-
-  <xsd:attributeGroup name="CalculatedValueAGQualified">
-    <xsd:attribute form="qualified" name="inputValueCalc"
-      type="dfdl:DFDLExpression" />
-    <xsd:attribute form="qualified" name="outputValueCalc"
-      type="dfdl:DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <!-- document only markup properties -->
-
-  <xsd:attributeGroup name="DocumentPropertiesAGQualified">
-    <xsd:attribute form="qualified"
-      name="documentFinalTerminatorCanBeMissing" type="dfdl:YesNoEnum" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="ElementAGQualified">
-    <xsd:attributeGroup ref="dfdl:SimpleTypeAGQualified" />
-    <xsd:attributeGroup ref="dfdl:FloatingAGQualified" />
-    <xsd:attributeGroup ref="dfdl:NillableAGQualified" />
-    <xsd:attributeGroup ref="dfdl:DefaultValueControlAGQualified" />
-    <xsd:attributeGroup ref="dfdl:OccursAGQualified" />
-    <xsd:attributeGroup ref="dfdl:CalculatedValueAGQualified" />
-  </xsd:attributeGroup>
-
-  <!-- dfdl:group takes the union of dfdl:sequence and dfdl:choice properties -->
-  <xsd:attributeGroup name="GroupAGQualified">
-    <xsd:attributeGroup ref="dfdl:GroupCommonAGQualified" />
-    <xsd:attributeGroup ref="dfdl:SequenceAGQualified" />
-    <xsd:attributeGroup ref="dfdl:ChoiceAGQualified" />
-    <xsd:attributeGroup ref="dfdl:SeparatorAGQualified" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="SimpleTypeAGQualified">
-    <xsd:attributeGroup ref="dfdl:RepresentationAGQualified" />
-    <xsd:attributeGroup ref="dfdl:NonGroupMarkupAGQualified" />
-    <xsd:attributeGroup ref="dfdl:LengthAGQualified" />
-    <xsd:attributeGroup ref="dfdl:SimpleTypesTextAGQualified" />
-    <xsd:attributeGroup ref="dfdl:StringTextAGQualified" />
-    <xsd:attributeGroup ref="dfdl:NumberAGQualified" />
-    <xsd:attributeGroup ref="dfdl:NumberTextAGQualified" />
-    <xsd:attributeGroup ref="dfdl:TextNumberFormatAGQualified" />
-    <xsd:attributeGroup ref="dfdl:NumberBinaryAGQualified" />
-    <xsd:attributeGroup ref="dfdl:FloatBinaryAGQualified" />
-    <xsd:attributeGroup ref="dfdl:TextBidiSchemeAGQualified" />
-    <xsd:attributeGroup ref="dfdl:CalendarTextAGQualified" />
-    <xsd:attributeGroup ref="dfdl:CalendarBinaryAGQualified" />
-    <xsd:attributeGroup ref="dfdl:CalendarFormatAGQualified" />
-    <xsd:attributeGroup ref="dfdl:BooleanTextAGQualified" />
-    <xsd:attributeGroup ref="dfdl:BooleanBinaryAGQualified" />
-  </xsd:attributeGroup>
-
-</xsd:schema>
+    <xsd:attribute form="qualified" name="utf16Width"
+      type="dfdl:UTF16WidthEnum" />
+    <xsd:attribute form="qualified" name="ignoreCase"
+      type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="choiceBranchKey"
+      type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 12.1 Aligned Data -->
+
+  <xsd:attributeGroup name="AlignmentAGQualified">
+    <xsd:attribute form="qualified" name="alignment"
+      type="dfdl:AlignmentType" />
+    <xsd:attribute form="qualified" name="alignmentUnits"
+      type="dfdl:AlignmentUnitsEnum" />
+    <xsd:attribute form="qualified" name="fillByte"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="leadingSkip"
+      type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute form="qualified" name="trailingSkip"
+      type="dfdl:DFDLNonNegativeInteger" />
+  </xsd:attributeGroup>
+
+  <!-- 12.2 Delimiters and Text Mark up -->
+
+  <xsd:attributeGroup name="MarkupAGQualified">
+    <xsd:attribute form="qualified" name="initiator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="terminator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="outputNewLine"
+      type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="NonGroupMarkupAGQualified">
+    <xsd:attribute form="qualified" name="emptyValueDelimiterPolicy"
+      type="dfdl:EmptyValueDelimiterPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 12.3 Length Properties -->
+
+  <xsd:attributeGroup name="LengthAGQualified">
+    <xsd:attribute form="qualified" name="lengthKind"
+      type="dfdl:LengthKindEnum" />
+    <xsd:attribute form="qualified" name="length"
+      type="dfdl:DFDLNonNegativeInteger_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="lengthPattern"
+      type="dfdl:DFDLRegularExpression" />
+    <xsd:attribute form="qualified" name="lengthUnits"
+      type="dfdl:LengthUnitsEnum" />
+    <xsd:attribute form="qualified" name="prefixIncludesPrefixLength"
+      type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="prefixLengthType"
+      type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <!-- 13 Simple Types -->
+
+  <xsd:attributeGroup name="RepresentationAGQualified">
+    <xsd:attribute form="qualified" name="representation"
+      type="dfdl:RepresentationEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 14.4 Simple or complex local element or element reference -->
+
+  <xsd:attributeGroup name="FloatingAGQualified">
+    <xsd:attribute form="qualified" name="floating" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!--13.2 Properties Common to All Simple Types with Text representation -->
+
+  <xsd:attributeGroup name="SimpleTypesTextAGQualified">
+    <xsd:attribute form="qualified" name="textPadKind"
+      type="dfdl:TextPadKindEnum" />
+    <xsd:attribute form="qualified" name="textTrimKind"
+      type="dfdl:TextTrimKindEnum" />
+    <xsd:attribute form="qualified" name="textOutputMinLength"
+      type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute form="qualified" name="escapeSchemeRef"
+      type="dfdl:DFDLQName" />
+  </xsd:attributeGroup>
+
+  <!-- 13.2.1 Escape Scheme -->
+  <!-- Note that these can never appear in short form -->
+  <xsd:attributeGroup name="EscapeSchemeAGQualified">
+    <xsd:attribute form="qualified" name="escapeKind"
+      type="dfdl:EscapeKindEnum" />
+    <xsd:attribute form="qualified" name="escapeCharacter"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="escapeBlockStart"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="escapeBlockEnd"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="escapeEscapeCharacter"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="extraEscapedCharacters"
+      type="dfdl:ListOfDFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="generateEscapeBlock"
+      type="dfdl:GenerateEscapeEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.3 Properties for Bidirectional support for all Simple Types with 
+    Text representation -->
+
+  <xsd:attributeGroup name="TextBidiSchemeAGQualified">
+    <xsd:attribute form="qualified" name="textBidi" type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="textBidiTextOrdering"
+      type="dfdl:TextBidiTextOrderingEnum" />
+    <xsd:attribute form="qualified" name="textBidiOrientation"
+      type="dfdl:TextBidiOrientationEnum" />
+    <xsd:attribute form="qualified" name="textBidiSymmetric"
+      type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="textBidiTextShaped"
+      type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="textBidiNumeralShapes"
+      type="dfdl:TextBidiNumeralShapesEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.4 Properties Specific to Strings with Text representation -->
+
+  <xsd:attributeGroup name="StringTextAGQualified">
+    <xsd:attribute form="qualified" name="textStringJustification"
+      type="dfdl:TextStringJustificationEnum" />
+    <xsd:attribute form="qualified" name="textStringPadCharacter"
+      type="dfdl:NonEmptyStringLiteral" />
+    <xsd:attribute form="qualified" name="truncateSpecifiedLengthString"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Properties Specific to Number with Text or Binary representation -->
+
+  <xsd:attributeGroup name="NumberAGQualified">
+    <xsd:attribute form="qualified" name="decimalSigned"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Properties Specific to Number with Text representation -->
+
+  <xsd:attributeGroup name="NumberTextAGQualified">
+    <xsd:attribute form="qualified" name="textNumberRep"
+      type="dfdl:TextNumberRepEnum" />
+    <xsd:attribute form="qualified" name="textNumberJustification"
+      type="dfdl:TextNumberJustificationEnum" />
+    <xsd:attribute form="qualified" name="textNumberPadCharacter"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="textStandardBase"
+      type="dfdl:TextNumberBaseEnum" />
+  </xsd:attributeGroup>
+
+  <!-- Text number format attributes -->
+
+  <xsd:attributeGroup name="TextNumberFormatAGQualified">
+    <xsd:attribute form="qualified" name="textNumberPattern"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="textStandardGroupingSeparator"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="textStandardDecimalSeparator"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="textStandardExponentRep"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="textNumberCheckPolicy"
+      type="dfdl:TextNumberCheckPolicyEnum" />
+    <xsd:attribute form="qualified" name="textStandardInfinityRep"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="textStandardNaNRep"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="textNumberRoundingMode"
+      type="dfdl:TextNumberRoundingModeEnum" />
+    <xsd:attribute form="qualified" name="textNumberRounding"
+      type="dfdl:TextNumberRoundingEnum" />
+    <xsd:attribute form="qualified" name="textNumberRoundingIncrement"
+      type="xsd:double" />
+    <xsd:attribute form="qualified" name="textZonedSignStyle"
+      type="dfdl:TextZonedSignStyleEnum" />
+    <xsd:attribute form="qualified" name="textStandardZeroRep"
+      type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.6 Properties Specific to Number with Binary representation -->
+
+  <xsd:attributeGroup name="NumberBinaryAGQualified">
+    <xsd:attribute form="qualified" name="binaryNumberRep"
+      type="dfdl:BinaryNumberRepEnum" />
+    <xsd:attribute form="qualified" name="binaryDecimalVirtualPoint"
+      type="xsd:int" />
+    <xsd:attribute form="qualified" name="binaryPackedSignCodes"
+      type="dfdl:BinaryPackedSignCodes" />
+    <xsd:attribute form="qualified" name="binaryNumberCheckPolicy"
+      type="dfdl:BinaryNumberCheckPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.7 Float/Double with Binary representation -->
+
+  <xsd:attributeGroup name="FloatBinaryAGQualified">
+    <xsd:attribute form="qualified" name="binaryFloatRep"
+      type="dfdl:BinaryFloatRepEnum_Or_DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!-- 13.8 Properties Specific to Boolean with Text representation -->
+
+  <xsd:attributeGroup name="BooleanTextAGQualified">
+    <xsd:attribute form="qualified" name="textBooleanTrueRep"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="textBooleanFalseRep"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="textBooleanJustification"
+      type="dfdl:TextBooleanJustificationEnum" />
+    <xsd:attribute form="qualified" name="textBooleanPadCharacter"
+      type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.9 Properties Specific to Boolean with Binary representation -->
+
+  <xsd:attributeGroup name="BooleanBinaryAGQualified">
+    <xsd:attribute form="qualified" name="binaryBooleanTrueRep"
+      type="dfdl:BinaryBooleanTrueRepType" />
+    <xsd:attribute form="qualified" name="binaryBooleanFalseRep"
+      type="dfdl:BinaryBooleanFalseRepType" />
+  </xsd:attributeGroup>
+
+  <!-- 13.10 Properties Specific to Calendar Format -->
+
+  <xsd:attributeGroup name="CalendarFormatAGQualified">
+    <xsd:attribute form="qualified" name="calendarPattern"
+      type="dfdl:DFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="calendarPatternKind"
+      type="dfdl:CalendarPatternKindEnum" />
+    <xsd:attribute form="qualified" name="calendarCheckPolicy"
+      type="dfdl:CalendarCheckPolicyEnum" />
+    <xsd:attribute form="qualified" name="calendarTimeZone"
+      type="dfdl:CalendarTimeZoneType" />
+    <xsd:attribute form="qualified" name="calendarObserveDST"
+      type="dfdl:YesNoEnum" />
+    <xsd:attribute form="qualified" name="calendarFirstDayOfWeek"
+      type="dfdl:CalendarFirstDayOfWeekEnum" />
+    <xsd:attribute form="qualified" name="calendarDaysInFirstWeek"
+      type="dfdl:CalendarDaysInFirstWeek" />
+    <xsd:attribute form="qualified" name="calendarCenturyStart"
+      type="dfdl:CalendarCenturyStart" />
+    <xsd:attribute form="qualified" name="calendarLanguage"
+      type="dfdl:CalendarLanguageType" />
+  </xsd:attributeGroup>
+
+  <!-- 13.11 Properties Specific to Calendar with Text Representation -->
+
+  <xsd:attributeGroup name="CalendarTextAGQualified">
+    <xsd:attribute form="qualified" name="textCalendarJustification"
+      type="dfdl:TextCalendarJustificationEnum" />
+    <xsd:attribute form="qualified" name="textCalendarPadCharacter"
+      type="dfdl:DFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 13.12 Properties Specific to Calendar with Binary Representation -->
+
+  <xsd:attributeGroup name="CalendarBinaryAGQualified">
+    <xsd:attribute form="qualified" name="binaryCalendarRep"
+      type="dfdl:BinaryCalendarRepEnum" />
+    <xsd:attribute form="qualified" name="binaryCalendarEpoch"
+      type="xsd:string" />
+  </xsd:attributeGroup>
+
+  <!-- 13.13 Properties Specific to Opaque Types (hexBinary) -->
+  <xsd:attributeGroup name="OpaqueAGQualified">
+  </xsd:attributeGroup>
+
+  <!-- 13.14 Properties for Nillable Elements -->
+
+  <xsd:attributeGroup name="NillableAGQualified">
+    <xsd:attribute form="qualified" name="nilKind"
+      type="dfdl:NilKindEnum" />
+    <xsd:attribute form="qualified" name="nilValue"
+      type="dfdl:NonEmptyListOfDFDLStringLiteral" />
+    <xsd:attribute form="qualified" name="nilValueDelimiterPolicy"
+      type="dfdl:NilValueDelimiterPolicyEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 13.15 Properties for Default Value Control -->
+
+  <xsd:attributeGroup name="DefaultValueControlAGQualified">
+    <xsd:attribute form="qualified" name="useNilForDefault"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 14 Sequence Groups -->
+
+  <xsd:attributeGroup name="SequenceAGQualified">
+    <xsd:attribute form="qualified" name="sequenceKind"
+      type="dfdl:SequenceKindEnum" />
+    <xsd:attribute form="qualified" name="hiddenGroupRef"
+      type="xsd:QName" />
+  </xsd:attributeGroup>
+
+  <!-- 14.2 Sequence Groups with Delimiters -->
+
+  <xsd:attributeGroup name="SeparatorAGQualified">
+    <xsd:attribute form="qualified" name="separator"
+      type="dfdl:ListOfDFDLStringLiteral_Or_DFDLExpression" />
+    <xsd:attribute form="qualified" name="separatorPosition"
+      type="dfdl:SeparatorPositionEnum" />
+    <xsd:attribute form="qualified" name="separatorPolicy"
+      type="dfdl:SeparatorPolicyEnum" />
+    <xsd:attribute form="qualified" name="separatorSuppressionPolicy"
+      type="dfdl:SeparatorSuppressionPolicyEnum" />      
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="GroupCommonAGQualified">
+    <xsd:attribute form="qualified" name="initiatedContent"
+      type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <!-- 15 Choices -->
+
+  <xsd:attributeGroup name="ChoiceAGQualified">
+    <xsd:attribute form="qualified" name="choiceLengthKind"
+      type="dfdl:ChoiceLengthKindEnum" />
+    <xsd:attribute form="qualified" name="choiceLength"
+      type="dfdl:DFDLNonNegativeInteger" />
+    <xsd:attribute form="qualified" name="choiceDispatchKey"
+      type="dfdl:DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!--16 Arrays and Optional Elements: Properties for Repeating and Variable-Occurrence 
+    Data Items -->
+
+  <xsd:attributeGroup name="OccursAGQualified">
+    <xsd:attribute form="qualified" name="occursCountKind"
+      type="dfdl:OccursCountKindEnum" />
+    <xsd:attribute form="qualified" name="occursCount"
+      type="dfdl:DFDLExpression" />
+    <xsd:attribute form="qualified" name="occursStopValue"
+      type="dfdl:ListOfDFDLStringLiteral" />
+  </xsd:attributeGroup>
+
+  <!-- 19 Calculated Value Properties. -->
+
+  <xsd:attributeGroup name="CalculatedValueAGQualified">
+    <xsd:attribute form="qualified" name="inputValueCalc"
+      type="dfdl:DFDLExpression" />
+    <xsd:attribute form="qualified" name="outputValueCalc"
+      type="dfdl:DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <!-- document only markup properties -->
+
+  <xsd:attributeGroup name="DocumentPropertiesAGQualified">
+    <xsd:attribute form="qualified"
+      name="documentFinalTerminatorCanBeMissing" type="dfdl:YesNoEnum" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="ElementAGQualified">
+    <xsd:attributeGroup ref="dfdl:SimpleTypeAGQualified" />
+    <xsd:attributeGroup ref="dfdl:FloatingAGQualified" />
+    <xsd:attributeGroup ref="dfdl:NillableAGQualified" />
+    <xsd:attributeGroup ref="dfdl:DefaultValueControlAGQualified" />
+    <xsd:attributeGroup ref="dfdl:OccursAGQualified" />
+    <xsd:attributeGroup ref="dfdl:CalculatedValueAGQualified" />
+  </xsd:attributeGroup>
+
+  <!-- dfdl:group takes the union of dfdl:sequence and dfdl:choice properties -->
+  <xsd:attributeGroup name="GroupAGQualified">
+    <xsd:attributeGroup ref="dfdl:GroupCommonAGQualified" />
+    <xsd:attributeGroup ref="dfdl:SequenceAGQualified" />
+    <xsd:attributeGroup ref="dfdl:ChoiceAGQualified" />
+    <xsd:attributeGroup ref="dfdl:SeparatorAGQualified" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="SimpleTypeAGQualified">
+    <xsd:attributeGroup ref="dfdl:RepresentationAGQualified" />
+    <xsd:attributeGroup ref="dfdl:NonGroupMarkupAGQualified" />
+    <xsd:attributeGroup ref="dfdl:LengthAGQualified" />
+    <xsd:attributeGroup ref="dfdl:SimpleTypesTextAGQualified" />
+    <xsd:attributeGroup ref="dfdl:StringTextAGQualified" />
+    <xsd:attributeGroup ref="dfdl:NumberAGQualified" />
+    <xsd:attributeGroup ref="dfdl:NumberTextAGQualified" />
+    <xsd:attributeGroup ref="dfdl:TextNumberFormatAGQualified" />
+    <xsd:attributeGroup ref="dfdl:NumberBinaryAGQualified" />
+    <xsd:attributeGroup ref="dfdl:FloatBinaryAGQualified" />
+    <xsd:attributeGroup ref="dfdl:TextBidiSchemeAGQualified" />
+    <xsd:attributeGroup ref="dfdl:CalendarTextAGQualified" />
+    <xsd:attributeGroup ref="dfdl:CalendarBinaryAGQualified" />
+    <xsd:attributeGroup ref="dfdl:CalendarFormatAGQualified" />
+    <xsd:attributeGroup ref="dfdl:BooleanTextAGQualified" />
+    <xsd:attributeGroup ref="dfdl:BooleanBinaryAGQualified" />
+  </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part3_model.xsd b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part3_model.xsd
index 6adf213..a1cafe5 100644
--- a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part3_model.xsd
+++ b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part3_model.xsd
@@ -16,318 +16,318 @@
   limitations under the License.
 -->
 
-<xsd:schema targetNamespace="http://www.ogf.org/dfdl/dfdl-1.0/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
-  xmlns:dafint="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
-  attributeFormDefault="unqualified" elementFormDefault="qualified"
-  xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd 
-  urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int org/apache/daffodil/xsd/dafint.xsd
-  urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int org/apache/daffodil/xsd/dafext.xsd">
-
-  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int" schemaLocation="org/apache/daffodil/xsd/dafint.xsd" />
-  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" schemaLocation="org/apache/daffodil/xsd/dafext.xsd" />
-  <xsd:include schemaLocation="DFDL_part2_attributes.xsd" />
-
-
-  <!-- ======================================================== -->
-  <!-- DFDL Format definition types -->
-  <!-- ======================================================== -->
-
-  <!-- 7.2 dfdl:defineFormat -->
-  <xsd:element name="defineFormat" type="dfdl:DFDLDefineFormat" />
-  <xsd:complexType name="DFDLDefineFormat">
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0"
-        ref="dfdl:format" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
-    <xsd:attributeGroup ref="dafint:daffodilAG"/>
-  </xsd:complexType>
-
-  <xsd:element name="format" type="dfdl:DFDLFormat" />
-  <xsd:complexType name="DFDLFormat">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:FormatAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <!-- 7.5 dfdl:defineEscapeScheme -->
-  <xsd:element name="defineEscapeScheme" type="dfdl:DFDLDefineEscapeScheme" />
-
-  <xsd:complexType name="DFDLDefineEscapeScheme">
-    <xsd:sequence>
-      <xsd:element ref="dfdl:escapeScheme" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
-    <xsd:attributeGroup ref="dafint:daffodilAG"/>
-  </xsd:complexType>
-
-  <xsd:element name="escapeScheme" type="dfdl:DFDLEscapeScheme" />
-
-  <xsd:complexType name="DFDLEscapeScheme">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:EscapeSchemeAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <!-- ================================================================= -->
-  <!-- Element form for properties -->
-  <!-- ================================================================= -->
-
-  <xsd:element name="property" type="dfdl:PropertyType" />
-
-  <xsd:complexType name="PropertyType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="name" type="dfdl:PropertyNameType" use='required'/>
-        <xsd:attributeGroup ref="dafint:daffodilAG"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <!-- ================================================================= -->
-  <!-- Elements, types and attribute groups to specify DFDL Variables -->
-  <!-- ================================================================= -->
-
-  <xsd:complexType name="DFDLVariableType">
-    <xsd:simpleContent>
-      <xsd:extension base="dfdl:DFDLStringLiteral_Or_DFDLExpression">
-        <xsd:attributeGroup ref="dafint:daffodilAG"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:attributeGroup name="DefineVariableAG">
-    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
-    <xsd:attribute name="predefined" type="xsd:boolean" />
-    <xsd:attribute name="type" type="xsd:QName" />
-    <xsd:attribute name="external" type="xsd:boolean" />
-    <xsd:attribute name="defaultValue"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="SetVariableAG">
-    <xsd:attribute name="ref" type="xsd:QName" use='required'/>
-    <xsd:attribute name="value"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="NewVariableInstanceAG">
-    <xsd:attribute name="ref" type="xsd:QName" use='required'/>
-    <xsd:attribute name="defaultValue"
-      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
-  </xsd:attributeGroup>
-
-  <xsd:element name="defineVariable">
-    <xsd:complexType>
-      <xsd:simpleContent>
-        <xsd:extension base="dfdl:DFDLVariableType">
-          <xsd:attributeGroup ref="dfdl:DefineVariableAG" />
-        </xsd:extension>
-      </xsd:simpleContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="newVariableInstance">
-    <xsd:complexType>
-      <xsd:simpleContent>
-        <xsd:extension base="dfdl:DFDLVariableType">
-          <xsd:attributeGroup ref="dfdl:NewVariableInstanceAG" />
-        </xsd:extension>
-      </xsd:simpleContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="setVariable">
-    <xsd:complexType>
-      <xsd:simpleContent>
-        <xsd:extension base="dfdl:DFDLVariableType">
-          <xsd:attributeGroup ref="dfdl:SetVariableAG" />
-        </xsd:extension>
-      </xsd:simpleContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- ================================================================================ -->
-  <!-- Elements, types and attribute groups to specify DFDL Assert and Discriminator -->
-  <!-- ================================================================================ -->
-
-  <!-- The type that models element value as DFDL expression -->
-  <xsd:attributeGroup name="TestConditionAG">
-    <xsd:attribute name="test" type="dfdl:DFDLExpression" />
-    <xsd:attribute name="testKind" type="dfdl:TestKindEnum" />
-    <xsd:attribute name="testPattern" type="dfdl:DFDLRegularExpression" />
-    <xsd:attribute name="message" type="xsd:string" />
-  </xsd:attributeGroup>
-
-  <xsd:complexType name="TestCondition">
-    <xsd:simpleContent>
-      <xsd:extension base="dfdl:DFDLExpressionOrPatternOrNothing"> <!-- changed to accept regex -->
-        <xsd:attributeGroup ref="dfdl:TestConditionAG" />
-        <xsd:attributeGroup ref="dafint:daffodilAG" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:element name="assert">
-    <xsd:complexType>
-      <xsd:simpleContent>
-        <xsd:extension base="dfdl:TestCondition">
-        </xsd:extension>
-      </xsd:simpleContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="discriminator">
-    <xsd:complexType>
-      <xsd:simpleContent>
-        <xsd:extension base="dfdl:TestCondition">
-        </xsd:extension>
-      </xsd:simpleContent>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- ============================================================ -->
-  <!-- Specialized annotations element definitions -->
-  <!-- ============================================================ -->
-
-  <xsd:element name="element" type="dfdl:DFDLElementType" />
-  <xsd:element name="sequence" type="dfdl:DFDLSequenceType" />
-  <xsd:element name="choice" type="dfdl:DFDLChoiceType" />
-  <xsd:element name="group" type="dfdl:DFDLGroupType" />
-  <xsd:element name="simpleType" type="dfdl:DFDLSimpleType" />
-
-  <!-- ============================================================= -->
-  <!-- Specialized annotations types -->
-  <!-- ============================================================= -->
-
-  <xsd:complexType abstract="true" name="DFDLType">
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0"
-        ref="dfdl:property" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0"
-        ref="daf:property" />
-    </xsd:sequence>
-    <xsd:attributeGroup ref="dafint:daffodilAG"/> 
-  </xsd:complexType>
-
-  <xsd:complexType abstract="true" name="DFDLBaseType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:BaseAG" />
-        <xsd:attributeGroup ref="dfdl:CommonAG" />
-        <xsd:attributeGroup ref="dfdl:AlignmentAG" />
-        <xsd:attributeGroup ref="dfdl:MarkupAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="DFDLElementType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:ElementAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="DFDLSequenceType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
-        <xsd:attributeGroup ref="dfdl:SequenceAG" />
-        <xsd:attributeGroup ref="dfdl:SeparatorAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="DFDLChoiceType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
-        <xsd:attributeGroup ref="dfdl:ChoiceAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="DFDLSimpleType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:SimpleTypeAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="DFDLGroupType">
-    <xsd:complexContent>
-      <xsd:extension base="dfdl:DFDLBaseType">
-        <xsd:sequence />
-        <xsd:attributeGroup ref="dfdl:GroupAG" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-
-  <!-- ======================================================== -->
-  <!-- Specialized annotations attribute groups -->
-  <!-- ======================================================== -->
-
-  <xsd:attributeGroup name="FormatAG">
-    <xsd:attributeGroup ref="dfdl:ElementFormatSubsetAG" />
-    <xsd:attributeGroup ref="dfdl:GroupAG" />
-    <xsd:attributeGroup ref="dfdl:DocumentPropertiesAG" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="ElementFormatSubsetAG">
-    <xsd:attributeGroup ref="dfdl:SimpleTypeAG" />
-    <xsd:attributeGroup ref="dfdl:FloatingAG" />
-    <xsd:attributeGroup ref="dfdl:NillableAG" />
-    <xsd:attributeGroup ref="dfdl:DefaultValueControlAG" />
-    <xsd:attributeGroup ref="dfdl:OccursAG" />
-  </xsd:attributeGroup>
-  
-   <xsd:attributeGroup name="ElementAG">
-    <xsd:attributeGroup ref="dfdl:ElementFormatSubsetAG" />
-    <xsd:attributeGroup ref="dfdl:CalculatedValueAG" />
-  </xsd:attributeGroup>
-
-  <!-- dfdl:group takes the union of dfdl:sequence and dfdl:choice properties -->
-  <xsd:attributeGroup name="GroupAG">
-    <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
-    <xsd:attributeGroup ref="dfdl:SequenceAG" />
-    <xsd:attributeGroup ref="dfdl:ChoiceAG" />
-    <xsd:attributeGroup ref="dfdl:SeparatorAG" />
-  </xsd:attributeGroup>
-
-  <xsd:attributeGroup name="SimpleTypeAG">
-    <xsd:attributeGroup ref="dfdl:RepresentationAG" />
-    <xsd:attributeGroup ref="dfdl:NonGroupMarkupAG" />
-    <xsd:attributeGroup ref="dfdl:LengthAG" />
-    <xsd:attributeGroup ref="dfdl:SimpleTypesTextAG" />
-    <xsd:attributeGroup ref="dfdl:StringTextAG" />
-    <xsd:attributeGroup ref="dfdl:NumberAG" />
-    <xsd:attributeGroup ref="dfdl:NumberTextAG" />
-    <xsd:attributeGroup ref="dfdl:TextNumberFormatAG" />
-    <xsd:attributeGroup ref="dfdl:NumberBinaryAG" />
-    <xsd:attributeGroup ref="dfdl:FloatBinaryAG" />
-    <xsd:attributeGroup ref="dfdl:TextBidiSchemeAG" />
-    <xsd:attributeGroup ref="dfdl:CalendarTextAG" />
-    <xsd:attributeGroup ref="dfdl:CalendarBinaryAG" />
-    <xsd:attributeGroup ref="dfdl:CalendarFormatAG" />
-    <xsd:attributeGroup ref="dfdl:BooleanTextAG" />
-    <xsd:attributeGroup ref="dfdl:BooleanBinaryAG" />
-  </xsd:attributeGroup>
-
-</xsd:schema>
+<xsd:schema targetNamespace="http://www.ogf.org/dfdl/dfdl-1.0/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
+  xmlns:dafint="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"
+  attributeFormDefault="unqualified" elementFormDefault="qualified"
+  xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd 
+  urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int org/apache/daffodil/xsd/dafint.xsd
+  urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int org/apache/daffodil/xsd/dafext.xsd">
+
+  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int" schemaLocation="org/apache/daffodil/xsd/dafint.xsd" />
+  <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext" schemaLocation="org/apache/daffodil/xsd/dafext.xsd" />
+  <xsd:include schemaLocation="DFDL_part2_attributes.xsd" />
+
+
+  <!-- ======================================================== -->
+  <!-- DFDL Format definition types -->
+  <!-- ======================================================== -->
+
+  <!-- 7.2 dfdl:defineFormat -->
+  <xsd:element name="defineFormat" type="dfdl:DFDLDefineFormat" />
+  <xsd:complexType name="DFDLDefineFormat">
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0"
+        ref="dfdl:format" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
+    <xsd:attributeGroup ref="dafint:daffodilAG"/>
+  </xsd:complexType>
+
+  <xsd:element name="format" type="dfdl:DFDLFormat" />
+  <xsd:complexType name="DFDLFormat">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:FormatAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <!-- 7.5 dfdl:defineEscapeScheme -->
+  <xsd:element name="defineEscapeScheme" type="dfdl:DFDLDefineEscapeScheme" />
+
+  <xsd:complexType name="DFDLDefineEscapeScheme">
+    <xsd:sequence>
+      <xsd:element ref="dfdl:escapeScheme" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
+    <xsd:attributeGroup ref="dafint:daffodilAG"/>
+  </xsd:complexType>
+
+  <xsd:element name="escapeScheme" type="dfdl:DFDLEscapeScheme" />
+
+  <xsd:complexType name="DFDLEscapeScheme">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:EscapeSchemeAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <!-- ================================================================= -->
+  <!-- Element form for properties -->
+  <!-- ================================================================= -->
+
+  <xsd:element name="property" type="dfdl:PropertyType" />
+
+  <xsd:complexType name="PropertyType">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+        <xsd:attribute name="name" type="dfdl:PropertyNameType" use='required'/>
+        <xsd:attributeGroup ref="dafint:daffodilAG"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <!-- ================================================================= -->
+  <!-- Elements, types and attribute groups to specify DFDL Variables -->
+  <!-- ================================================================= -->
+
+  <xsd:complexType name="DFDLVariableType">
+    <xsd:simpleContent>
+      <xsd:extension base="dfdl:DFDLStringLiteral_Or_DFDLExpression">
+        <xsd:attributeGroup ref="dafint:daffodilAG"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:attributeGroup name="DefineVariableAG">
+    <xsd:attribute name="name" type="xsd:NCName" use='required'/>
+    <xsd:attribute name="predefined" type="xsd:boolean" />
+    <xsd:attribute name="type" type="xsd:QName" />
+    <xsd:attribute name="external" type="xsd:boolean" />
+    <xsd:attribute name="defaultValue"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="SetVariableAG">
+    <xsd:attribute name="ref" type="xsd:QName" use='required'/>
+    <xsd:attribute name="value"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="NewVariableInstanceAG">
+    <xsd:attribute name="ref" type="xsd:QName" use='required'/>
+    <xsd:attribute name="defaultValue"
+      type="dfdl:DFDLStringLiteral_Or_DFDLExpression" />
+  </xsd:attributeGroup>
+
+  <xsd:element name="defineVariable">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="dfdl:DFDLVariableType">
+          <xsd:attributeGroup ref="dfdl:DefineVariableAG" />
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="newVariableInstance">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="dfdl:DFDLVariableType">
+          <xsd:attributeGroup ref="dfdl:NewVariableInstanceAG" />
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="setVariable">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="dfdl:DFDLVariableType">
+          <xsd:attributeGroup ref="dfdl:SetVariableAG" />
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <!-- ================================================================================ -->
+  <!-- Elements, types and attribute groups to specify DFDL Assert and Discriminator -->
+  <!-- ================================================================================ -->
+
+  <!-- The type that models element value as DFDL expression -->
+  <xsd:attributeGroup name="TestConditionAG">
+    <xsd:attribute name="test" type="dfdl:DFDLExpression" />
+    <xsd:attribute name="testKind" type="dfdl:TestKindEnum" />
+    <xsd:attribute name="testPattern" type="dfdl:DFDLRegularExpression" />
+    <xsd:attribute name="message" type="xsd:string" />
+  </xsd:attributeGroup>
+
+  <xsd:complexType name="TestCondition">
+    <xsd:simpleContent>
+      <xsd:extension base="dfdl:DFDLExpressionOrPatternOrNothing"> <!-- changed to accept regex -->
+        <xsd:attributeGroup ref="dfdl:TestConditionAG" />
+        <xsd:attributeGroup ref="dafint:daffodilAG" />
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:element name="assert">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="dfdl:TestCondition">
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="discriminator">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="dfdl:TestCondition">
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <!-- ============================================================ -->
+  <!-- Specialized annotations element definitions -->
+  <!-- ============================================================ -->
+
+  <xsd:element name="element" type="dfdl:DFDLElementType" />
+  <xsd:element name="sequence" type="dfdl:DFDLSequenceType" />
+  <xsd:element name="choice" type="dfdl:DFDLChoiceType" />
+  <xsd:element name="group" type="dfdl:DFDLGroupType" />
+  <xsd:element name="simpleType" type="dfdl:DFDLSimpleType" />
+
+  <!-- ============================================================= -->
+  <!-- Specialized annotations types -->
+  <!-- ============================================================= -->
+
+  <xsd:complexType abstract="true" name="DFDLType">
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0"
+        ref="dfdl:property" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0"
+        ref="daf:property" />
+    </xsd:sequence>
+    <xsd:attributeGroup ref="dafint:daffodilAG"/> 
+  </xsd:complexType>
+
+  <xsd:complexType abstract="true" name="DFDLBaseType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:BaseAG" />
+        <xsd:attributeGroup ref="dfdl:CommonAG" />
+        <xsd:attributeGroup ref="dfdl:AlignmentAG" />
+        <xsd:attributeGroup ref="dfdl:MarkupAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="DFDLElementType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:ElementAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="DFDLSequenceType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
+        <xsd:attributeGroup ref="dfdl:SequenceAG" />
+        <xsd:attributeGroup ref="dfdl:SeparatorAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="DFDLChoiceType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
+        <xsd:attributeGroup ref="dfdl:ChoiceAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="DFDLSimpleType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:SimpleTypeAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="DFDLGroupType">
+    <xsd:complexContent>
+      <xsd:extension base="dfdl:DFDLBaseType">
+        <xsd:sequence />
+        <xsd:attributeGroup ref="dfdl:GroupAG" />
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <!-- ======================================================== -->
+  <!-- Specialized annotations attribute groups -->
+  <!-- ======================================================== -->
+
+  <xsd:attributeGroup name="FormatAG">
+    <xsd:attributeGroup ref="dfdl:ElementFormatSubsetAG" />
+    <xsd:attributeGroup ref="dfdl:GroupAG" />
+    <xsd:attributeGroup ref="dfdl:DocumentPropertiesAG" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="ElementFormatSubsetAG">
+    <xsd:attributeGroup ref="dfdl:SimpleTypeAG" />
+    <xsd:attributeGroup ref="dfdl:FloatingAG" />
+    <xsd:attributeGroup ref="dfdl:NillableAG" />
+    <xsd:attributeGroup ref="dfdl:DefaultValueControlAG" />
+    <xsd:attributeGroup ref="dfdl:OccursAG" />
+  </xsd:attributeGroup>
+  
+   <xsd:attributeGroup name="ElementAG">
+    <xsd:attributeGroup ref="dfdl:ElementFormatSubsetAG" />
+    <xsd:attributeGroup ref="dfdl:CalculatedValueAG" />
+  </xsd:attributeGroup>
+
+  <!-- dfdl:group takes the union of dfdl:sequence and dfdl:choice properties -->
+  <xsd:attributeGroup name="GroupAG">
+    <xsd:attributeGroup ref="dfdl:GroupCommonAG" />
+    <xsd:attributeGroup ref="dfdl:SequenceAG" />
+    <xsd:attributeGroup ref="dfdl:ChoiceAG" />
+    <xsd:attributeGroup ref="dfdl:SeparatorAG" />
+  </xsd:attributeGroup>
+
+  <xsd:attributeGroup name="SimpleTypeAG">
+    <xsd:attributeGroup ref="dfdl:RepresentationAG" />
+    <xsd:attributeGroup ref="dfdl:NonGroupMarkupAG" />
+    <xsd:attributeGroup ref="dfdl:LengthAG" />
+    <xsd:attributeGroup ref="dfdl:SimpleTypesTextAG" />
+    <xsd:attributeGroup ref="dfdl:StringTextAG" />
+    <xsd:attributeGroup ref="dfdl:NumberAG" />
+    <xsd:attributeGroup ref="dfdl:NumberTextAG" />
+    <xsd:attributeGroup ref="dfdl:TextNumberFormatAG" />
+    <xsd:attributeGroup ref="dfdl:NumberBinaryAG" />
+    <xsd:attributeGroup ref="dfdl:FloatBinaryAG" />
+    <xsd:attributeGroup ref="dfdl:TextBidiSchemeAG" />
+    <xsd:attributeGroup ref="dfdl:CalendarTextAG" />
+    <xsd:attributeGroup ref="dfdl:CalendarBinaryAG" />
+    <xsd:attributeGroup ref="dfdl:CalendarFormatAG" />
+    <xsd:attributeGroup ref="dfdl:BooleanTextAG" />
+    <xsd:attributeGroup ref="dfdl:BooleanBinaryAG" />
+  </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dafext.xsd b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dafext.xsd
index 696fbd8..66cccd7 100644
--- a/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dafext.xsd
+++ b/daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dafext.xsd
@@ -26,7 +26,7 @@
 
   <xsd:import namespace="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:int"/>
 
-  <xsd:attribute name="parseUnparsePolicy" type="daf:ParseUnparsePolicyEnum"/>
+  <xsd:attribute name="parseUnparsePolicy" type="daf:ParseUnparsePolicyEnum"/>
 
   <xsd:simpleType name="ParseUnparsePolicyEnum">
     <xsd:restriction base="xsd:string">
diff --git a/daffodil-sapi/src/test/resources/test/sapi/TopLevel.xsd b/daffodil-sapi/src/test/resources/test/sapi/TopLevel.xsd
index 972d9a1..d3d91b8 100644
--- a/daffodil-sapi/src/test/resources/test/sapi/TopLevel.xsd
+++ b/daffodil-sapi/src/test/resources/test/sapi/TopLevel.xsd
@@ -16,38 +16,38 @@
   limitations under the License.
 -->
 
-<xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	targetNamespace="http://example.com"
-	xmlns:tns="http://example.com">
-
-	<!-- include the default properties -->
-	<!-- <xsd:include schemaLocation="DefaultProperties.xsd"/> -->
-	<xsd:include
-		schemaLocation="/test/sapi/DefaultProperties.xsd"/>
-	<xsd:annotation>
-		<xsd:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format ref="tns:DefaultPropertiesFormat" separator=""/>
-		</xsd:appinfo>
-	</xsd:annotation>
-
-	<xsd:element name="TopLevel">
-		<xsd:complexType>
-			<xsd:sequence dfdl:separator="%NL;%NL;">
-				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
-					 type="xsd:string"/>
-				<xsd:element name="Body" type="xsd:string"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-
-  <xsd:element name="TopLevel2">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
-					 type="xsd:string" dfdl:terminator="%NL;%NL;"/>
-				<xsd:element name="Body" type="xsd:string"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
+<xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://example.com"
+	xmlns:tns="http://example.com">
+
+	<!-- include the default properties -->
+	<!-- <xsd:include schemaLocation="DefaultProperties.xsd"/> -->
+	<xsd:include
+		schemaLocation="/test/sapi/DefaultProperties.xsd"/>
+	<xsd:annotation>
+		<xsd:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format ref="tns:DefaultPropertiesFormat" separator=""/>
+		</xsd:appinfo>
+	</xsd:annotation>
+
+	<xsd:element name="TopLevel">
+		<xsd:complexType>
+			<xsd:sequence dfdl:separator="%NL;%NL;">
+				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
+					 type="xsd:string"/>
+				<xsd:element name="Body" type="xsd:string"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+
+  <xsd:element name="TopLevel2">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element name="MessageHeaders" dfdl:lengthKind="delimited"
+					 type="xsd:string" dfdl:terminator="%NL;%NL;"/>
+				<xsd:element name="Body" type="xsd:string"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+</xsd:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/alignment_bytes_12.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/alignment_bytes_12.dfdl.xsd
index 7ed361f..bf22249 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/alignment_bytes_12.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/alignment_bytes_12.dfdl.xsd
@@ -16,149 +16,149 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	elementFormDefault="unqualified" attributeFormDefault="unqualified"
-	>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	elementFormDefault="unqualified" attributeFormDefault="unqualified"
+	>
 
-<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-		   <dfdl:format representation="binary" initiator=""
-                    terminator="" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   escapeSchemeRef="" emptyValueDelimiterPolicy="none"
-					useNilForDefault="yes" nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
+<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+		   <dfdl:format representation="binary" initiator=""
+                    terminator="" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   escapeSchemeRef="" emptyValueDelimiterPolicy="none"
+					useNilForDefault="yes" nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
 					encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" lengthUnits="bytes" 
-					textOutputMinLength="1"
-					alignment="1" alignmentUnits="bytes" fillByte="f" leadingSkip="0" trailingSkip="0"
-					ignoreCase="no" lengthKind="implicit" sequenceKind="ordered"
-					initiatedContent="no"	textPadKind="none" textTrimKind="none" textStringJustification="left"
-					occursCountKind="implicit"	
-                    bitOrder="mostSignificantBitFirst"
-					/>
-				
-			</xs:appinfo>
-	</xs:annotation>
-
-	<!-- binary textNumber with alignment  - implicit length  short -->
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-						
-			<dfdl:defineFormat name="baseBinFloat">
-				<dfdl:format   representation="binary" lengthKind="explicit"
-					lengthUnits="bytes"  binaryFloatRep="ieee"  binaryNumberCheckPolicy="lax" />
-			</dfdl:defineFormat>
-			
-			<dfdl:defineFormat name="baseBinDateTime">
+					textOutputMinLength="1"
+					alignment="1" alignmentUnits="bytes" fillByte="f" leadingSkip="0" trailingSkip="0"
+					ignoreCase="no" lengthKind="implicit" sequenceKind="ordered"
+					initiatedContent="no"	textPadKind="none" textTrimKind="none" textStringJustification="left"
+					occursCountKind="implicit"	
+                    bitOrder="mostSignificantBitFirst"
+					/>
+				
+			</xs:appinfo>
+	</xs:annotation>
+
+	<!-- binary textNumber with alignment  - implicit length  short -->
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+						
+			<dfdl:defineFormat name="baseBinFloat">
+				<dfdl:format   representation="binary" lengthKind="explicit"
+					lengthUnits="bytes"  binaryFloatRep="ieee"  binaryNumberCheckPolicy="lax" />
+			</dfdl:defineFormat>
+			
+			<dfdl:defineFormat name="baseBinDateTime">
    			<dfdl:format  encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" representation="binary" lengthKind="explicit" length="4" lengthUnits="bytes"/>
-			</dfdl:defineFormat>
-			
-			<dfdl:defineFormat name="calendarFormat1">
-				<dfdl:format ref="baseBinDateTime" calendarPatternKind="implicit" calendarCheckPolicy="strict" calendarTimeZone="UTC" calendarObserveDST="yes"  calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="75"/>
-			</dfdl:defineFormat>
-			
-		</xs:appinfo>
-	</xs:annotation>
-
-
-	<xs:element name="Fixed_bin_flt_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
-		<xs:complexType>
-			<xs:sequence dfdl:sequenceKind="ordered"
-				dfdl:initiatedContent="no" dfdl:alignment="implicit">
-				
-				<!-- ffffxxxxf -->
-				<xs:element name="myFloat1" type="xs:float"
-					dfdl:ref="baseBinFloat"  dfdl:length="4"
-					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
-					dfdl:fillByte="g" dfdl:leadingSkip="1"
-					dfdl:trailingSkip="1" >
-
-				</xs:element>
-				
-				<!-- fffxxxx -->
-				<xs:element name="myFloat2" type="xs:float"
-					dfdl:ref="baseBinFloat"  dfdl:length="4"
-					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
-					dfdl:fillByte="g" dfdl:leadingSkip="0"
-					dfdl:trailingSkip="0" >
-
-				</xs:element>
-				
-				<!-- ffffxxxx  -->
-
-				<xs:element name="myFloat3" type="xs:float"
-					dfdl:ref="baseBinFloat"  dfdl:length="4"
-					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
-					dfdl:fillByte="g" dfdl:leadingSkip="1"
-					dfdl:trailingSkip="0" >
-
-				</xs:element>
-
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-   
-     <xs:element name="Fixed_bin_bol_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
-  <xs:complexType>
-    <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no"  dfdl:alignment="implicit">
-	<xs:element name="binbol" type="xs:boolean"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
-		
-		 dfdl:alignment="1"
-			dfdl:alignmentUnits="bytes"
-			dfdl:fillByte="%#r7e;"
-			dfdl:leadingSkip="0"
-			dfdl:trailingSkip="1"
-			dfdl:representation="binary"
-                      dfdl:binaryBooleanTrueRep="1"
-                      dfdl:binaryBooleanFalseRep="0" >
-	
-	</xs:element>
-	<xs:element name="binbol2" type="xs:boolean"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
-		 
-		 dfdl:alignment="implicit"
-			dfdl:alignmentUnits="bytes"
-			dfdl:fillByte="%#r7e;"
-			dfdl:leadingSkip="0"
-			dfdl:trailingSkip="0"
-			dfdl:representation="binary"
-                      dfdl:binaryBooleanTrueRep="1"
-                      dfdl:binaryBooleanFalseRep="0" >
-		
-	</xs:element>
-	
-	</xs:sequence>
-  </xs:complexType>
-  </xs:element>
-  
-  	
-	 <xs:element name="Fixed_bin_cal_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
-  <xs:complexType>
-    <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no" dfdl:alignment="implicit" >
-	<xs:element name="mystr" type="xs:string"  dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit" dfdl:length="1"
-		 
-		 dfdl:alignment="1"
-			dfdl:alignmentUnits="bytes"
-			dfdl:fillByte="%#r7e;"
-			dfdl:leadingSkip="0"
-			dfdl:trailingSkip="0"
-			dfdl:representation="text"
-                     >
-	
-	</xs:element>
-	<xs:element name="bincal2" type="xs:dateTime"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
-		 dfdl:ref="calendarFormat1"
-		 dfdl:alignment="implicit"
-			dfdl:alignmentUnits="bytes"
-			dfdl:fillByte="%#r7e;"
-			dfdl:leadingSkip="0"
-			dfdl:trailingSkip="0"
-			 dfdl:binaryCalendarRep="binarySeconds" dfdl:binaryCalendarEpoch="1970-01-01T00:00:00+00:00"
-			 >
-		
-	</xs:element>
-	
-	
-	</xs:sequence>
-  </xs:complexType>
-  </xs:element>
-  
-   
-</xs:schema>
+			</dfdl:defineFormat>
+			
+			<dfdl:defineFormat name="calendarFormat1">
+				<dfdl:format ref="baseBinDateTime" calendarPatternKind="implicit" calendarCheckPolicy="strict" calendarTimeZone="UTC" calendarObserveDST="yes"  calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="75"/>
+			</dfdl:defineFormat>
+			
+		</xs:appinfo>
+	</xs:annotation>
+
+
+	<xs:element name="Fixed_bin_flt_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
+		<xs:complexType>
+			<xs:sequence dfdl:sequenceKind="ordered"
+				dfdl:initiatedContent="no" dfdl:alignment="implicit">
+				
+				<!-- ffffxxxxf -->
+				<xs:element name="myFloat1" type="xs:float"
+					dfdl:ref="baseBinFloat"  dfdl:length="4"
+					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
+					dfdl:fillByte="g" dfdl:leadingSkip="1"
+					dfdl:trailingSkip="1" >
+
+				</xs:element>
+				
+				<!-- fffxxxx -->
+				<xs:element name="myFloat2" type="xs:float"
+					dfdl:ref="baseBinFloat"  dfdl:length="4"
+					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
+					dfdl:fillByte="g" dfdl:leadingSkip="0"
+					dfdl:trailingSkip="0" >
+
+				</xs:element>
+				
+				<!-- ffffxxxx  -->
+
+				<xs:element name="myFloat3" type="xs:float"
+					dfdl:ref="baseBinFloat"  dfdl:length="4"
+					dfdl:alignment="implicit" dfdl:alignmentUnits="bytes"
+					dfdl:fillByte="g" dfdl:leadingSkip="1"
+					dfdl:trailingSkip="0" >
+
+				</xs:element>
+
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+   
+     <xs:element name="Fixed_bin_bol_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
+  <xs:complexType>
+    <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no"  dfdl:alignment="implicit">
+	<xs:element name="binbol" type="xs:boolean"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
+		
+		 dfdl:alignment="1"
+			dfdl:alignmentUnits="bytes"
+			dfdl:fillByte="%#r7e;"
+			dfdl:leadingSkip="0"
+			dfdl:trailingSkip="1"
+			dfdl:representation="binary"
+                      dfdl:binaryBooleanTrueRep="1"
+                      dfdl:binaryBooleanFalseRep="0" >
+	
+	</xs:element>
+	<xs:element name="binbol2" type="xs:boolean"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
+		 
+		 dfdl:alignment="implicit"
+			dfdl:alignmentUnits="bytes"
+			dfdl:fillByte="%#r7e;"
+			dfdl:leadingSkip="0"
+			dfdl:trailingSkip="0"
+			dfdl:representation="binary"
+                      dfdl:binaryBooleanTrueRep="1"
+                      dfdl:binaryBooleanFalseRep="0" >
+		
+	</xs:element>
+	
+	</xs:sequence>
+  </xs:complexType>
+  </xs:element>
+  
+  	
+	 <xs:element name="Fixed_bin_cal_sequence"  dfdl:lengthKind="implicit" dfdl:alignment="implicit">
+  <xs:complexType>
+    <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no" dfdl:alignment="implicit" >
+	<xs:element name="mystr" type="xs:string"  dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit" dfdl:length="1"
+		 
+		 dfdl:alignment="1"
+			dfdl:alignmentUnits="bytes"
+			dfdl:fillByte="%#r7e;"
+			dfdl:leadingSkip="0"
+			dfdl:trailingSkip="0"
+			dfdl:representation="text"
+                     >
+	
+	</xs:element>
+	<xs:element name="bincal2" type="xs:dateTime"  dfdl:lengthUnits="bytes" dfdl:lengthKind="implicit"
+		 dfdl:ref="calendarFormat1"
+		 dfdl:alignment="implicit"
+			dfdl:alignmentUnits="bytes"
+			dfdl:fillByte="%#r7e;"
+			dfdl:leadingSkip="0"
+			dfdl:trailingSkip="0"
+			 dfdl:binaryCalendarRep="binarySeconds" dfdl:binaryCalendarEpoch="1970-01-01T00:00:00+00:00"
+			 >
+		
+	</xs:element>
+	
+	
+	</xs:sequence>
+  </xs:complexType>
+  </xs:element>
+  
+   
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/delimiter_12.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/delimiter_12.dfdl.xsd
index c1ba0f7..f0018ef 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/delimiter_12.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/delimiter_12.dfdl.xsd
@@ -16,123 +16,123 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" 
-	elementFormDefault="qualified" attributeFormDefault="unqualified" >
-
-
-    <xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-		   <dfdl:format initiator="" terminator="" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="config" escapeSchemeRef="" emptyValueDelimiterPolicy="none"
-					useNilForDefault="yes" nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
-					lengthUnits="characters" 
-					textOutputMinLength="1"
-					alignment="1" alignmentUnits="bytes" fillByte="%NUL;" leadingSkip="0" trailingSkip="0"
-					ignoreCase="no" lengthKind="delimited" sequenceKind="ordered"
-					outputNewLine="%CR;%LF;"
-					occursCountKind="implicit"
-					/>
-				
-			</xs:appinfo>
-	</xs:annotation>
-
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:defineFormat name="config">
-   <dfdl:format  encoding="UTF-8" byteOrder="littleEndian" ignoreCase="yes"
-				textStringJustification="right"
-				textStringPadCharacter="x" textTrimKind="padChar"  textPadKind="padChar" 
-				documentFinalTerminatorCanBeMissing="yes"/>
-			</dfdl:defineFormat>
-		</xs:appinfo>
-	</xs:annotation>
-
-	<xs:element name="Fixed_string_with_Pads_10_1" 
-	dfdl:representation="text" 
-	dfdl:lengthUnits="characters" 
-	dfdl:initiator="i"
-	dfdl:terminator="t"
-	
-	dfdl:nilValueDelimiterPolicy="both"
-	dfdl:nilKind="literalValue"
-	dfdl:nilValue="-"
-	dfdl:length="10" 
-	dfdl:lengthKind="explicit"
-	dfdl:ignoreCase="yes">
-	<xs:simpleType>
-			<xs:restriction base="xs:string">
-			
-<!-- xs:minLength value="10"/><xs:maxLength value="10"/> -->
-			</xs:restriction>
-		</xs:simpleType>
-	</xs:element>
-	
-	<xs:element name="Fixed_string_with_Pads_10_2" 
-	dfdl:representation="text" 
-	dfdl:lengthUnits="characters" 
-	dfdl:initiator="ST* i initiator :"
-	dfdl:terminator="*SE t terminator :"
-	
-	dfdl:nilValueDelimiterPolicy="both"
-	dfdl:nilKind="literalValue"
-	dfdl:nilValue="-"
-	dfdl:length="10" 
-	dfdl:lengthKind="explicit">
-	<xs:simpleType>
-			<xs:restriction base="xs:string">
-			
-<!-- xs:minLength value="10"/><xs:maxLength value="10"/> -->
-			</xs:restriction>
-		</xs:simpleType>
-	</xs:element>
-	
-	<xs:element name="Fixed_text_sequence"  dfdl:lengthKind="implicit">
-  <xs:complexType>
-  
-  <xs:sequence  dfdl:sequenceKind="ordered" >
-  
-    <xs:element name="element1" 
-	minOccurs="1" maxOccurs="1" 
-	dfdl:representation="text"
-	dfdl:length="1" 
-	dfdl:lengthKind="explicit"
-	dfdl:lengthUnits="characters"
-	dfdl:initiator="%NL;"
-	dfdl:terminator=""
-	
-	dfdl:nilValueDelimiterPolicy="both"
-	dfdl:nilKind="literalValue"
-	dfdl:nilValue="-"> 
-	
-	    <xs:simpleType>
-			<xs:restriction base="xs:string">
-	
-			</xs:restriction>
-		</xs:simpleType>
-    </xs:element>
-    
-    <xs:element name="element2" 
-	minOccurs="1" maxOccurs="1" 
-	dfdl:representation="text"
-	dfdl:length="1" 
-	dfdl:lengthKind="explicit"
-	dfdl:lengthUnits="characters"
-	dfdl:initiator=""
-	dfdl:terminator="%NL;"
-		
-	dfdl:nilValueDelimiterPolicy="both"
-	dfdl:nilKind="literalValue"
-	dfdl:nilValue="-"> 
-	
-	    <xs:simpleType>
-			<xs:restriction base="xs:string">
-			
-			</xs:restriction>
-		</xs:simpleType>
-    </xs:element>
-  </xs:sequence>
-  </xs:complexType>
-  </xs:element>
-  
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" 
+	elementFormDefault="qualified" attributeFormDefault="unqualified" >
+
+
+    <xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+		   <dfdl:format initiator="" terminator="" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="config" escapeSchemeRef="" emptyValueDelimiterPolicy="none"
+					useNilForDefault="yes" nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
+					lengthUnits="characters" 
+					textOutputMinLength="1"
+					alignment="1" alignmentUnits="bytes" fillByte="%NUL;" leadingSkip="0" trailingSkip="0"
+					ignoreCase="no" lengthKind="delimited" sequenceKind="ordered"
+					outputNewLine="%CR;%LF;"
+					occursCountKind="implicit"
+					/>
+				
+			</xs:appinfo>
+	</xs:annotation>
+
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:defineFormat name="config">
+   <dfdl:format  encoding="UTF-8" byteOrder="littleEndian" ignoreCase="yes"
+				textStringJustification="right"
+				textStringPadCharacter="x" textTrimKind="padChar"  textPadKind="padChar" 
+				documentFinalTerminatorCanBeMissing="yes"/>
+			</dfdl:defineFormat>
+		</xs:appinfo>
+	</xs:annotation>
+
+	<xs:element name="Fixed_string_with_Pads_10_1" 
+	dfdl:representation="text" 
+	dfdl:lengthUnits="characters" 
+	dfdl:initiator="i"
+	dfdl:terminator="t"
+	
+	dfdl:nilValueDelimiterPolicy="both"
+	dfdl:nilKind="literalValue"
+	dfdl:nilValue="-"
+	dfdl:length="10" 
+	dfdl:lengthKind="explicit"
+	dfdl:ignoreCase="yes">
+	<xs:simpleType>
+			<xs:restriction base="xs:string">
+			
+<!-- xs:minLength value="10"/><xs:maxLength value="10"/> -->
+			</xs:restriction>
+		</xs:simpleType>
+	</xs:element>
+	
+	<xs:element name="Fixed_string_with_Pads_10_2" 
+	dfdl:representation="text" 
+	dfdl:lengthUnits="characters" 
+	dfdl:initiator="ST* i initiator :"
+	dfdl:terminator="*SE t terminator :"
+	
+	dfdl:nilValueDelimiterPolicy="both"
+	dfdl:nilKind="literalValue"
+	dfdl:nilValue="-"
+	dfdl:length="10" 
+	dfdl:lengthKind="explicit">
+	<xs:simpleType>
+			<xs:restriction base="xs:string">
+			
+<!-- xs:minLength value="10"/><xs:maxLength value="10"/> -->
+			</xs:restriction>
+		</xs:simpleType>
+	</xs:element>
+	
+	<xs:element name="Fixed_text_sequence"  dfdl:lengthKind="implicit">
+  <xs:complexType>
+  
+  <xs:sequence  dfdl:sequenceKind="ordered" >
+  
+    <xs:element name="element1" 
+	minOccurs="1" maxOccurs="1" 
+	dfdl:representation="text"
+	dfdl:length="1" 
+	dfdl:lengthKind="explicit"
+	dfdl:lengthUnits="characters"
+	dfdl:initiator="%NL;"
+	dfdl:terminator=""
+	
+	dfdl:nilValueDelimiterPolicy="both"
+	dfdl:nilKind="literalValue"
+	dfdl:nilValue="-"> 
+	
+	    <xs:simpleType>
+			<xs:restriction base="xs:string">
+	
+			</xs:restriction>
+		</xs:simpleType>
+    </xs:element>
+    
+    <xs:element name="element2" 
+	minOccurs="1" maxOccurs="1" 
+	dfdl:representation="text"
+	dfdl:length="1" 
+	dfdl:lengthKind="explicit"
+	dfdl:lengthUnits="characters"
+	dfdl:initiator=""
+	dfdl:terminator="%NL;"
+		
+	dfdl:nilValueDelimiterPolicy="both"
+	dfdl:nilKind="literalValue"
+	dfdl:nilValue="-"> 
+	
+	    <xs:simpleType>
+			<xs:restriction base="xs:string">
+			
+			</xs:restriction>
+		</xs:simpleType>
+    </xs:element>
+  </xs:sequence>
+  </xs:complexType>
+  </xs:element>
+  
 </xs:schema>
\ No newline at end of file
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol101.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol101.dfdl.xsd
index 9fd7b25..7f9712e 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol101.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol101.dfdl.xsd
@@ -16,123 +16,123 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" elementFormDefault="qualified" attributeFormDefault="unqualified" >
-
-  <!-- Test two fixed length boolean elements.  -->
-
- 
-    <xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="booleanText" escapeSchemeRef=""
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" elementFormDefault="qualified" attributeFormDefault="unqualified" >
+
+  <!-- Test two fixed length boolean elements.  -->
+
+ 
+    <xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="booleanText" escapeSchemeRef=""
 				encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" lengthUnits="characters"
-				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
-				fillByte="f"  occursCountKind="implicit" ignoreCase="no"
-				lengthKind="delimited" sequenceKind="ordered" initiatedContent="no" />
-
-		</xs:appinfo>
-	</xs:annotation>
-	
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:defineFormat name="booleanText">
-   				<dfdl:format textPadKind="none" textTrimKind="none" textBooleanPadCharacter="0" representation="text"/>
-			</dfdl:defineFormat>
-		</xs:appinfo>
-	</xs:annotation>
-
-	<xs:element name="boolean1"  dfdl:lengthKind="implicit">
-		<xs:complexType>
-		  <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
-                    <xs:element name="MyBoolean1"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
-                      dfdl:representation="text" 
-                      dfdl:textBooleanJustification="left" 
-                      dfdl:lengthUnits="bytes" 
-                      dfdl:length="5" 
-                      dfdl:lengthKind="explicit"
-                      dfdl:textBooleanTrueRep="true%SP;"
-                      dfdl:textBooleanFalseRep="false">
-                    </xs:element>
-		   </xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	<xs:element name="boolean2"  dfdl:lengthKind="implicit">
-		<xs:complexType>
-		  <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
-                    <xs:element name="MyBoolean2"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
-                      dfdl:representation="text" 
-                      dfdl:textBooleanJustification="right" 
-                      dfdl:lengthUnits="bytes" 
-                      dfdl:length="1" 
-                      dfdl:lengthKind="explicit"
-                      dfdl:textBooleanTrueRep="1"
-                      dfdl:textBooleanFalseRep="0">
-                    </xs:element>
-		  </xs:sequence>
-		</xs:complexType>
-	</xs:element>
-
-	<xs:element name="boolean3"  dfdl:lengthKind="implicit">
-		<xs:complexType>
-		  <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
-                    <xs:element name="MyBoolean3" type="xs:boolean" minOccurs="2" maxOccurs="2" 
-                      dfdl:representation="text" 
-                      dfdl:textBooleanJustification="right" 
-                      dfdl:lengthUnits="bytes" 
-                      dfdl:lengthKind="implicit"
-                      dfdl:textBooleanTrueRep="true"
-                      dfdl:textBooleanFalseRep="no">
-                    </xs:element>
-		  </xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	     
-	    <!-- parse same as unparse - Tx*xFx*xxxF --> 
-	    <!-- parse different than unparse - T*xxFxx*xxxxxxxxxxxxxxxxxxxF -->
-		<xs:element name="boolean_group" dfdl:lengthKind="delimited">
-		<xs:complexType>
-			<xs:sequence dfdl:separatorSuppressionPolicy="never"
-				dfdl:separatorPosition="infix" dfdl:separator="*">
-				<!--  use space for separator, and show grouping of 4  -->
-				
-				<xs:element name="boolean_left" type="xs:boolean"
-					 dfdl:textBooleanJustification="left"
-					dfdl:lengthKind="delimited"
-					dfdl:textBooleanTrueRep="T"
-                      dfdl:textBooleanFalseRep="F"
-                      dfdl:textPadKind="padChar"
-                      dfdl:textTrimKind="padChar"
-                      dfdl:textBooleanPadCharacter="#"
-                      dfdl:textOutputMinLength="2"
-					 />
-					 
-				<xs:element name="boolean_center" type="xs:boolean"
-					 dfdl:textBooleanJustification="center"
-					dfdl:lengthKind="delimited"
-					dfdl:textBooleanTrueRep="T"
-                      dfdl:textBooleanFalseRep="F"
-                      dfdl:textPadKind="padChar"
-                      dfdl:textTrimKind="padChar"
-                      dfdl:textBooleanPadCharacter="#"
-                       dfdl:textOutputMinLength="3"
-					 />	 
-
- 				<xs:element name="boolean_right" type="xs:boolean"
-					 dfdl:textBooleanJustification="right"
-					dfdl:lengthKind="delimited"
-					dfdl:textBooleanTrueRep="T"
-                      dfdl:textBooleanFalseRep="F"
-                      dfdl:textPadKind="padChar"
-                      dfdl:textTrimKind="padChar"
-                      dfdl:textBooleanPadCharacter="#"
-                       dfdl:textOutputMinLength="4"
-					 />
-				
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	
-	
-
+				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
+				fillByte="f"  occursCountKind="implicit" ignoreCase="no"
+				lengthKind="delimited" sequenceKind="ordered" initiatedContent="no" />
+
+		</xs:appinfo>
+	</xs:annotation>
+	
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:defineFormat name="booleanText">
+   				<dfdl:format textPadKind="none" textTrimKind="none" textBooleanPadCharacter="0" representation="text"/>
+			</dfdl:defineFormat>
+		</xs:appinfo>
+	</xs:annotation>
+
+	<xs:element name="boolean1"  dfdl:lengthKind="implicit">
+		<xs:complexType>
+		  <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
+                    <xs:element name="MyBoolean1"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
+                      dfdl:representation="text" 
+                      dfdl:textBooleanJustification="left" 
+                      dfdl:lengthUnits="bytes" 
+                      dfdl:length="5" 
+                      dfdl:lengthKind="explicit"
+                      dfdl:textBooleanTrueRep="true%SP;"
+                      dfdl:textBooleanFalseRep="false">
+                    </xs:element>
+		   </xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	<xs:element name="boolean2"  dfdl:lengthKind="implicit">
+		<xs:complexType>
+		  <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
+                    <xs:element name="MyBoolean2"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
+                      dfdl:representation="text" 
+                      dfdl:textBooleanJustification="right" 
+                      dfdl:lengthUnits="bytes" 
+                      dfdl:length="1" 
+                      dfdl:lengthKind="explicit"
+                      dfdl:textBooleanTrueRep="1"
+                      dfdl:textBooleanFalseRep="0">
+                    </xs:element>
+		  </xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:element name="boolean3"  dfdl:lengthKind="implicit">
+		<xs:complexType>
+		  <xs:sequence  dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
+                    <xs:element name="MyBoolean3" type="xs:boolean" minOccurs="2" maxOccurs="2" 
+                      dfdl:representation="text" 
+                      dfdl:textBooleanJustification="right" 
+                      dfdl:lengthUnits="bytes" 
+                      dfdl:lengthKind="implicit"
+                      dfdl:textBooleanTrueRep="true"
+                      dfdl:textBooleanFalseRep="no">
+                    </xs:element>
+		  </xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	     
+	    <!-- parse same as unparse - Tx*xFx*xxxF --> 
+	    <!-- parse different than unparse - T*xxFxx*xxxxxxxxxxxxxxxxxxxF -->
+		<xs:element name="boolean_group" dfdl:lengthKind="delimited">
+		<xs:complexType>
+			<xs:sequence dfdl:separatorSuppressionPolicy="never"
+				dfdl:separatorPosition="infix" dfdl:separator="*">
+				<!--  use space for separator, and show grouping of 4  -->
+				
+				<xs:element name="boolean_left" type="xs:boolean"
+					 dfdl:textBooleanJustification="left"
+					dfdl:lengthKind="delimited"
+					dfdl:textBooleanTrueRep="T"
+                      dfdl:textBooleanFalseRep="F"
+                      dfdl:textPadKind="padChar"
+                      dfdl:textTrimKind="padChar"
+                      dfdl:textBooleanPadCharacter="#"
+                      dfdl:textOutputMinLength="2"
+					 />
+					 
+				<xs:element name="boolean_center" type="xs:boolean"
+					 dfdl:textBooleanJustification="center"
+					dfdl:lengthKind="delimited"
+					dfdl:textBooleanTrueRep="T"
+                      dfdl:textBooleanFalseRep="F"
+                      dfdl:textPadKind="padChar"
+                      dfdl:textTrimKind="padChar"
+                      dfdl:textBooleanPadCharacter="#"
+                       dfdl:textOutputMinLength="3"
+					 />	 
+
+ 				<xs:element name="boolean_right" type="xs:boolean"
+					 dfdl:textBooleanJustification="right"
+					dfdl:lengthKind="delimited"
+					dfdl:textBooleanTrueRep="T"
+                      dfdl:textBooleanFalseRep="F"
+                      dfdl:textPadKind="padChar"
+                      dfdl:textTrimKind="padChar"
+                      dfdl:textBooleanPadCharacter="#"
+                       dfdl:textOutputMinLength="4"
+					 />
+				
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	
+	
+
 </xs:schema>
\ No newline at end of file
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol102.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol102.dfdl.xsd
index 0d583e1..3e91a27 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol102.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpabol102.dfdl.xsd
@@ -16,42 +16,42 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" elementFormDefault="qualified" attributeFormDefault="unqualified" >
-
-  <!-- Test two fixed length boolean elements.  -->
-
-  
-    <xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="booleanBinary" escapeSchemeRef=""
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" elementFormDefault="qualified" attributeFormDefault="unqualified" >
+
+  <!-- Test two fixed length boolean elements.  -->
+
+  
+    <xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  separator="" textBidi="no" floating="no"   ref="booleanBinary" escapeSchemeRef=""
 				encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" lengthUnits="characters"
-				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
-				fillByte="f"  occursCountKind="implicit" ignoreCase="no"
-				lengthKind="delimited" sequenceKind="ordered" initiatedContent="no" />
-
-		</xs:appinfo>
-	</xs:annotation>
-	
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:defineFormat name="booleanBinary">
-   				<dfdl:format   representation="binary" binaryBooleanTrueRep="7" binaryBooleanFalseRep="0"/>
-			</dfdl:defineFormat>
-		</xs:appinfo>
-	</xs:annotation>
-
-	<xs:element name="boolean1"  dfdl:lengthKind="implicit">
-		<xs:complexType>
-		  <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
-                    <xs:element name="MyBoolean1"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
-                      dfdl:lengthUnits="bytes" 
-                      dfdl:length="2" 
-                      dfdl:lengthKind="explicit">
-                    </xs:element>
-		   </xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	
-
+				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
+				fillByte="f"  occursCountKind="implicit" ignoreCase="no"
+				lengthKind="delimited" sequenceKind="ordered" initiatedContent="no" />
+
+		</xs:appinfo>
+	</xs:annotation>
+	
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:defineFormat name="booleanBinary">
+   				<dfdl:format   representation="binary" binaryBooleanTrueRep="7" binaryBooleanFalseRep="0"/>
+			</dfdl:defineFormat>
+		</xs:appinfo>
+	</xs:annotation>
+
+	<xs:element name="boolean1"  dfdl:lengthKind="implicit">
+		<xs:complexType>
+		  <xs:sequence dfdl:sequenceKind="ordered" dfdl:initiatedContent="no">
+                    <xs:element name="MyBoolean1"  type="xs:boolean" minOccurs="2" maxOccurs="2" 
+                      dfdl:lengthUnits="bytes" 
+                      dfdl:length="2" 
+                      dfdl:lengthKind="explicit">
+                    </xs:element>
+		   </xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	
+
 </xs:schema>
\ No newline at end of file
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacalbin100_01.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacalbin100_01.dfdl.xsd
index 036853b..7f4fb13 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacalbin100_01.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacalbin100_01.dfdl.xsd
@@ -16,44 +16,44 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified" attributeFormDefault="unqualified" >
-	
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  textBidi="no" floating="no"   ref="calendarFormat1" escapeSchemeRef=""
-				emptyValueDelimiterPolicy="none" useNilForDefault="yes"
-				nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified" attributeFormDefault="unqualified" >
+	
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" truncateSpecifiedLengthString="no"  textBidi="no" floating="no"   ref="calendarFormat1" escapeSchemeRef=""
+				emptyValueDelimiterPolicy="none" useNilForDefault="yes"
+				nilValueDelimiterPolicy="none" nilKind="literalValue" nilValue="-"
 				encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" bitOrder="mostSignificantBitFirst" lengthUnits="bytes"
-				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
-				fillByte="%NUL;"  occursCountKind="implicit" ignoreCase="no"
-				lengthKind="implicit" sequenceKind="ordered" initiatedContent="no" />
-
-		</xs:appinfo>
-	</xs:annotation>
-	
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			
-			<dfdl:defineFormat name="calendarFormat1">
-				<dfdl:format representation="binary" calendarPatternKind="implicit" calendarCheckPolicy="strict" calendarTimeZone="UTC" calendarObserveDST="yes"  calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="75"/>
-			</dfdl:defineFormat>
-		</xs:appinfo>
-	</xs:annotation>
-	
-	<xs:element name="testBinarySeconds" type="xs:dateTime">
-		<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:element  binaryCalendarRep="binarySeconds" binaryCalendarEpoch="1970-01-01T00:00:00+00:00"/>
-				<!-- binary date time -->
-			</xs:appinfo>
-		</xs:annotation>
-	</xs:element>
-	
-	<xs:element name="testBinaryMilliseconds" type="xs:dateTime">
-		<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:element binaryCalendarRep="binaryMilliseconds" binaryCalendarEpoch="2009-12-24T05:15:00+05:00"/>
-			</xs:appinfo>
-		</xs:annotation>
-	</xs:element>
-</xs:schema>
+				textOutputMinLength="1" alignment="1" alignmentUnits="bytes"
+				fillByte="%NUL;"  occursCountKind="implicit" ignoreCase="no"
+				lengthKind="implicit" sequenceKind="ordered" initiatedContent="no" />
+
+		</xs:appinfo>
+	</xs:annotation>
+	
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			
+			<dfdl:defineFormat name="calendarFormat1">
+				<dfdl:format representation="binary" calendarPatternKind="implicit" calendarCheckPolicy="strict" calendarTimeZone="UTC" calendarObserveDST="yes"  calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="75"/>
+			</dfdl:defineFormat>
+		</xs:appinfo>
+	</xs:annotation>
+	
+	<xs:element name="testBinarySeconds" type="xs:dateTime">
+		<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:element  binaryCalendarRep="binarySeconds" binaryCalendarEpoch="1970-01-01T00:00:00+00:00"/>
+				<!-- binary date time -->
+			</xs:appinfo>
+		</xs:annotation>
+	</xs:element>
+	
+	<xs:element name="testBinaryMilliseconds" type="xs:dateTime">
+		<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:element binaryCalendarRep="binaryMilliseconds" binaryCalendarEpoch="2009-12-24T05:15:00+05:00"/>
+			</xs:appinfo>
+		</xs:annotation>
+	</xs:element>
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacaltxt_43.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacaltxt_43.dfdl.xsd
index 1ffa389..4109243 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacaltxt_43.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpacaltxt_43.dfdl.xsd
@@ -16,108 +16,108 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
-	attributeFormDefault="unqualified" >
-	<!--
-	-->
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			
-			<dfdl:format leadingSkip="0" trailingSkip="0" textBidi="no" floating="no"  
-			    encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" 
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
+	attributeFormDefault="unqualified" >
+	<!--
+	-->
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			
+			<dfdl:format leadingSkip="0" trailingSkip="0" textBidi="no" floating="no"  
+			    encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" 
 			    bitOrder="mostSignificantBitFirst"
-				truncateSpecifiedLengthString="no" ignoreCase="no"
-				representation="text"  textPadKind="padChar"
-				textTrimKind="padChar"  lengthKind="delimited" escapeSchemeRef=""
-				textOutputMinLength="0" lengthUnits="bytes"
-				textCalendarJustification="left" textCalendarPadCharacter="."
-				emptyValueDelimiterPolicy="none"  nilValueDelimiterPolicy="none" 
-				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
-				sequenceKind="ordered" alignment="1" alignmentUnits="bytes"
-				fillByte="%#r66;"  occursCountKind="implicit"
-				separatorSuppressionPolicy="never" textNumberRep="standard"
-				initiator="" terminator="@"
-				calendarPatternKind="implicit" calendarPattern="yyyymmddhhmmss" calendarCheckPolicy="lax" 
-				calendarTimeZone="UTC" calendarObserveDST="yes" 
-				calendarFirstDayOfWeek="Wednesday" calendarDaysInFirstWeek="7" calendarCenturyStart="50" 
-				calendarLanguage="it-IT" outputNewLine="%LF;"
-				/>
-
-		</xs:appinfo>
-	</xs:annotation>
-
-			
-	<!-- annotation on type -->
-    <xs:element name="myDateTime" type="newType">
-	</xs:element>
-
-	 <xs:element name="myDateTime3" type="newType_3">
-	</xs:element>
-		
-	 <xs:element name="myDateTime4" type="newType_4">
-	</xs:element>	
-	
-		
-	
-	<!--  leave terminator so we have something to escape -->
-	<xs:simpleType name="newType">
-		<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="YYYYHHmmssEEEww" calendarCheckPolicy="lax" 
-				 calendarObserveDST="yes" 
-				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="50"
-							calendarLanguage="en-US" 
-							textCalendarJustification="right" textCalendarPadCharacter="x"	/>
-			</xs:appinfo>
-		</xs:annotation>
-		<xs:restriction base="xs:dateTime">
-			
-		</xs:restriction>
-	</xs:simpleType>
-	
-	<xs:element name="calendar_group">
-		<xs:complexType>
-			<xs:sequence dfdl:separatorSuppressionPolicy="never"
-				dfdl:separatorPosition="infix" dfdl:separator="*">
-				
-				<xs:element name="date1" type="xs:date" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/>
-                <xs:element name="time1" type="xs:time" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/>
-                <xs:element name="datetime1" type="xs:dateTime" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/> 
-				
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	<!--  demonstrate TimeZone -->
-	<xs:simpleType name="newType_3"  >
-	<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="yyyyMMddHHmmss" calendarCheckPolicy="lax" 
-				calendarTimeZone="UTC-5" calendarObserveDST="yes" 
-				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="4" calendarCenturyStart="50"
-							calendarLanguage="en-US" 	/>
-			</xs:appinfo>
-		</xs:annotation>
-		<xs:restriction base="xs:dateTime">
-			
-		</xs:restriction>
-	</xs:simpleType>
-	
-	<!--  demonstrate calendarCenturyStart -->
-	<xs:simpleType name="newType_4"  >
-	<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="yyMMddHHmmss" calendarCheckPolicy="lax" 
-				calendarTimeZone="UTC-5" calendarObserveDST="yes" 
-				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="4" calendarCenturyStart="50"
-							calendarLanguage="en-US" 	/>
-			</xs:appinfo>
-		</xs:annotation>
-		<xs:restriction base="xs:dateTime">
-			
-		</xs:restriction>
-	</xs:simpleType>
-	
-</xs:schema>
+				truncateSpecifiedLengthString="no" ignoreCase="no"
+				representation="text"  textPadKind="padChar"
+				textTrimKind="padChar"  lengthKind="delimited" escapeSchemeRef=""
+				textOutputMinLength="0" lengthUnits="bytes"
+				textCalendarJustification="left" textCalendarPadCharacter="."
+				emptyValueDelimiterPolicy="none"  nilValueDelimiterPolicy="none" 
+				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
+				sequenceKind="ordered" alignment="1" alignmentUnits="bytes"
+				fillByte="%#r66;"  occursCountKind="implicit"
+				separatorSuppressionPolicy="never" textNumberRep="standard"
+				initiator="" terminator="@"
+				calendarPatternKind="implicit" calendarPattern="yyyymmddhhmmss" calendarCheckPolicy="lax" 
+				calendarTimeZone="UTC" calendarObserveDST="yes" 
+				calendarFirstDayOfWeek="Wednesday" calendarDaysInFirstWeek="7" calendarCenturyStart="50" 
+				calendarLanguage="it-IT" outputNewLine="%LF;"
+				/>
+
+		</xs:appinfo>
+	</xs:annotation>
+
+			
+	<!-- annotation on type -->
+    <xs:element name="myDateTime" type="newType">
+	</xs:element>
+
+	 <xs:element name="myDateTime3" type="newType_3">
+	</xs:element>
+		
+	 <xs:element name="myDateTime4" type="newType_4">
+	</xs:element>	
+	
+		
+	
+	<!--  leave terminator so we have something to escape -->
+	<xs:simpleType name="newType">
+		<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="YYYYHHmmssEEEww" calendarCheckPolicy="lax" 
+				 calendarObserveDST="yes" 
+				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="1" calendarCenturyStart="50"
+							calendarLanguage="en-US" 
+							textCalendarJustification="right" textCalendarPadCharacter="x"	/>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:dateTime">
+			
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="calendar_group">
+		<xs:complexType>
+			<xs:sequence dfdl:separatorSuppressionPolicy="never"
+				dfdl:separatorPosition="infix" dfdl:separator="*">
+				
+				<xs:element name="date1" type="xs:date" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/>
+                <xs:element name="time1" type="xs:time" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/>
+                <xs:element name="datetime1" type="xs:dateTime" dfdl:calendarPatternKind="implicit" dfdl:terminator=""/> 
+				
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	<!--  demonstrate TimeZone -->
+	<xs:simpleType name="newType_3"  >
+	<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="yyyyMMddHHmmss" calendarCheckPolicy="lax" 
+				calendarTimeZone="UTC-5" calendarObserveDST="yes" 
+				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="4" calendarCenturyStart="50"
+							calendarLanguage="en-US" 	/>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:dateTime">
+			
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<!--  demonstrate calendarCenturyStart -->
+	<xs:simpleType name="newType_4"  >
+	<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:simpleType calendarPatternKind="explicit" calendarPattern="yyMMddHHmmss" calendarCheckPolicy="lax" 
+				calendarTimeZone="UTC-5" calendarObserveDST="yes" 
+				calendarFirstDayOfWeek="Sunday" calendarDaysInFirstWeek="4" calendarCenturyStart="50"
+							calendarLanguage="en-US" 	/>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:dateTime">
+			
+		</xs:restriction>
+	</xs:simpleType>
+	
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelbcd_01.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelbcd_01.dfdl.xsd
index 1f70c89..1ea2089 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelbcd_01.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelbcd_01.dfdl.xsd
@@ -16,81 +16,81 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
-	attributeFormDefault="unqualified" >
-	<!--
-	-->
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<!--
-				This is the new schema level default format block. It doesn't get a
-				name
-			-->
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" 
-			    textBidi="no" floating="no"   encodingErrorPolicy="replace" encoding="utf-8" 
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
+	attributeFormDefault="unqualified" >
+	<!--
+	-->
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<!--
+				This is the new schema level default format block. It doesn't get a
+				name
+			-->
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" 
+			    textBidi="no" floating="no"   encodingErrorPolicy="replace" encoding="utf-8" 
 			    byteOrder="bigEndian" bitOrder="mostSignificantBitFirst" alignment="1" alignmentUnits="bytes" fillByte="f" outputNewLine="%LF;"
-				occursCountKind="implicit"
-				truncateSpecifiedLengthString="no" ignoreCase="no" representation="binary"
-				textPadKind="none" textTrimKind="none" lengthKind="delimited"
-				escapeSchemeRef="" textOutputMinLength="0" lengthUnits="bytes"
-				textStringJustification="left" textStringPadCharacter="%SP;"
-				textCalendarJustification="left" textCalendarPadCharacter="%SP;"
-				nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="none" 
-				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
-				sequenceKind="ordered" separatorSuppressionPolicy="never" 
-				binaryNumberRep="bcd" binaryDecimalVirtualPoint="2"
-                                decimalSigned="yes" binaryNumberCheckPolicy="lax"
-				 />
-
-		</xs:appinfo>
-	</xs:annotation>
-	
- 	
-
-
-	<!-- one fixed length element to confirm format -->
-	<xs:element name="mybinDecimal1" type="newType1"  dfdl:lengthKind="explicit" dfdl:length="4">
-	</xs:element>
-
-    <!-- same as delimited -->
-	<xs:element name="mybinDecimal2" type="newType1"  dfdl:terminator="@">
-	</xs:element>
-
-    <xs:element name="myDecimalSeq" dfdl:lengthKind="delimited" >
-		<xs:complexType>
-			<xs:sequence dfdl:initiatedContent="no" dfdl:separatorPosition="infix" 
-				dfdl:sequenceKind="ordered" dfdl:separator="~" >
-				
-				<xs:element name="mybinDecimal3" type="newType1"  >
-				</xs:element>
- 
-				
-				<xs:element name="Test2" type="xs:string"  dfdl:representation="text" >
-
-				</xs:element>
-				
-				<xs:element name="mybinDecimal4" type="newType1"  >
-				</xs:element>
- 
-			</xs:sequence>
-		</xs:complexType>
-
-	</xs:element>
-	
-	
-
-	<xs:simpleType name="newType1">
-		<xs:annotation>
-			<xs:appinfo source="http://www.ogf.org/dfdl/">
-				<dfdl:simpleType  />
-			</xs:appinfo>
-		</xs:annotation>
-		<xs:restriction base="xs:decimal">
-
-		</xs:restriction>
-	</xs:simpleType>
-
-	
-</xs:schema>
+				occursCountKind="implicit"
+				truncateSpecifiedLengthString="no" ignoreCase="no" representation="binary"
+				textPadKind="none" textTrimKind="none" lengthKind="delimited"
+				escapeSchemeRef="" textOutputMinLength="0" lengthUnits="bytes"
+				textStringJustification="left" textStringPadCharacter="%SP;"
+				textCalendarJustification="left" textCalendarPadCharacter="%SP;"
+				nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="none" 
+				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
+				sequenceKind="ordered" separatorSuppressionPolicy="never" 
+				binaryNumberRep="bcd" binaryDecimalVirtualPoint="2"
+                                decimalSigned="yes" binaryNumberCheckPolicy="lax"
+				 />
+
+		</xs:appinfo>
+	</xs:annotation>
+	
+ 	
+
+
+	<!-- one fixed length element to confirm format -->
+	<xs:element name="mybinDecimal1" type="newType1"  dfdl:lengthKind="explicit" dfdl:length="4">
+	</xs:element>
+
+    <!-- same as delimited -->
+	<xs:element name="mybinDecimal2" type="newType1"  dfdl:terminator="@">
+	</xs:element>
+
+    <xs:element name="myDecimalSeq" dfdl:lengthKind="delimited" >
+		<xs:complexType>
+			<xs:sequence dfdl:initiatedContent="no" dfdl:separatorPosition="infix" 
+				dfdl:sequenceKind="ordered" dfdl:separator="~" >
+				
+				<xs:element name="mybinDecimal3" type="newType1"  >
+				</xs:element>
+ 
+				
+				<xs:element name="Test2" type="xs:string"  dfdl:representation="text" >
+
+				</xs:element>
+				
+				<xs:element name="mybinDecimal4" type="newType1"  >
+				</xs:element>
+ 
+			</xs:sequence>
+		</xs:complexType>
+
+	</xs:element>
+	
+	
+
+	<xs:simpleType name="newType1">
+		<xs:annotation>
+			<xs:appinfo source="http://www.ogf.org/dfdl/">
+				<dfdl:simpleType  />
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:decimal">
+
+		</xs:restriction>
+	</xs:simpleType>
+
+	
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadeloneini_01.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadeloneini_01.dfdl.xsd
index 264299e..a64afef 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadeloneini_01.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadeloneini_01.dfdl.xsd
@@ -16,85 +16,85 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
-	attributeFormDefault="unqualified" >
-
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" 
-			    truncateSpecifiedLengthString="no"  textBidi="no" floating="no" 
-			    encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" 
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
+	attributeFormDefault="unqualified" >
+
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0" 
+			    truncateSpecifiedLengthString="no"  textBidi="no" floating="no" 
+			    encodingErrorPolicy="replace" encoding="utf-8" byteOrder="bigEndian" 
 			    bitOrder="mostSignificantBitFirst" alignment="1" alignmentUnits="bytes" fillByte="f" 
-				occursCountKind="implicit"
-				ignoreCase="no" representation="text" textStringPadCharacter=" "
-				textPadKind="none" textTrimKind="none" textStringJustification="left"
-				lengthKind="delimited" sequenceKind="ordered" initiatedContent="yes"
-				emptyValueDelimiterPolicy="none"  nilValueDelimiterPolicy="none"   textNumberRep="standard"
-				textStandardBase="10" textNumberPattern="##0" textNumberJustification="right"
-				textNumberPadCharacter="0" textStandardGroupingSeparator=","
-				textStandardDecimalSeparator="." textStandardExponentRep="e"
-				textNumberCheckPolicy="strict" textStandardInfinityRep="~"
-				textStandardNaNRep="z" textNumberRounding="pattern"
-				textStandardZeroRep="0" textOutputMinLength="1" lengthUnits="characters"
-				escapeSchemeRef="" documentFinalTerminatorCanBeMissing="no" outputNewLine="%LF;" />
-
-			
-		</xs:appinfo>
-	</xs:annotation>
-
-	<!-- dataDictionary -->
-	
-	<xs:element name="groupElem">
-		<xs:complexType>
-			<xs:sequence dfdl:sequenceKind="ordered"
-				dfdl:initiatedContent="no" dfdl:separator="* -"
-				dfdl:separatorPosition="infix" dfdl:separatorSuppressionPolicy="trailingEmpty">
-				<xs:element name="Test1"  type="xs:int"
-					dfdl:initiator="Test1:" dfdl:terminator="+" />
-				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
-					dfdl:initiator="Test2:" dfdl:terminator="+" />
-				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
-					dfdl:initiator="Test3:" dfdl:terminator="+" />
-			</xs:sequence>
-
-
-		</xs:complexType>
-	</xs:element>
-	
-	<xs:element name="groupElem2">
-		<xs:complexType>
-			<xs:sequence dfdl:sequenceKind="ordered"
-				dfdl:initiatedContent="no" dfdl:separator="* -"
-				dfdl:separatorPosition="prefix" dfdl:separatorSuppressionPolicy="never">
-				<xs:element name="Test1"  type="xs:int"
-					dfdl:initiator="Test1:" dfdl:terminator="+" />
-				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
-					dfdl:initiator="Test2:" dfdl:terminator="+" />
-				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
-					dfdl:initiator="Test3:" dfdl:terminator="+" />
-			</xs:sequence>
-
-
-		</xs:complexType>
-	</xs:element>
-	
-	<xs:element name="groupElem3">
-		<xs:complexType>
-			<xs:sequence dfdl:sequenceKind="ordered"
-				dfdl:initiatedContent="no" dfdl:separator="* -"
-				dfdl:separatorPosition="postfix" dfdl:separatorSuppressionPolicy="anyEmpty">
-				<xs:element name="Test1"  type="xs:int"
-					dfdl:initiator="Test1:" dfdl:terminator="+" />
-				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
-					dfdl:initiator="Test2:" dfdl:terminator="+" />
-				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
-					dfdl:initiator="Test3:" dfdl:terminator="+" />
-			</xs:sequence>
-
-
-		</xs:complexType>
-	</xs:element>
-
-</xs:schema>
+				occursCountKind="implicit"
+				ignoreCase="no" representation="text" textStringPadCharacter=" "
+				textPadKind="none" textTrimKind="none" textStringJustification="left"
+				lengthKind="delimited" sequenceKind="ordered" initiatedContent="yes"
+				emptyValueDelimiterPolicy="none"  nilValueDelimiterPolicy="none"   textNumberRep="standard"
+				textStandardBase="10" textNumberPattern="##0" textNumberJustification="right"
+				textNumberPadCharacter="0" textStandardGroupingSeparator=","
+				textStandardDecimalSeparator="." textStandardExponentRep="e"
+				textNumberCheckPolicy="strict" textStandardInfinityRep="~"
+				textStandardNaNRep="z" textNumberRounding="pattern"
+				textStandardZeroRep="0" textOutputMinLength="1" lengthUnits="characters"
+				escapeSchemeRef="" documentFinalTerminatorCanBeMissing="no" outputNewLine="%LF;" />
+
+			
+		</xs:appinfo>
+	</xs:annotation>
+
+	<!-- dataDictionary -->
+	
+	<xs:element name="groupElem">
+		<xs:complexType>
+			<xs:sequence dfdl:sequenceKind="ordered"
+				dfdl:initiatedContent="no" dfdl:separator="* -"
+				dfdl:separatorPosition="infix" dfdl:separatorSuppressionPolicy="trailingEmpty">
+				<xs:element name="Test1"  type="xs:int"
+					dfdl:initiator="Test1:" dfdl:terminator="+" />
+				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
+					dfdl:initiator="Test2:" dfdl:terminator="+" />
+				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
+					dfdl:initiator="Test3:" dfdl:terminator="+" />
+			</xs:sequence>
+
+
+		</xs:complexType>
+	</xs:element>
+	
+	<xs:element name="groupElem2">
+		<xs:complexType>
+			<xs:sequence dfdl:sequenceKind="ordered"
+				dfdl:initiatedContent="no" dfdl:separator="* -"
+				dfdl:separatorPosition="prefix" dfdl:separatorSuppressionPolicy="never">
+				<xs:element name="Test1"  type="xs:int"
+					dfdl:initiator="Test1:" dfdl:terminator="+" />
+				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
+					dfdl:initiator="Test2:" dfdl:terminator="+" />
+				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
+					dfdl:initiator="Test3:" dfdl:terminator="+" />
+			</xs:sequence>
+
+
+		</xs:complexType>
+	</xs:element>
+	
+	<xs:element name="groupElem3">
+		<xs:complexType>
+			<xs:sequence dfdl:sequenceKind="ordered"
+				dfdl:initiatedContent="no" dfdl:separator="* -"
+				dfdl:separatorPosition="postfix" dfdl:separatorSuppressionPolicy="anyEmpty">
+				<xs:element name="Test1"  type="xs:int"
+					dfdl:initiator="Test1:" dfdl:terminator="+" />
+				<xs:element name="Test2" minOccurs="0" maxOccurs="1" type="xs:string"
+					dfdl:initiator="Test2:" dfdl:terminator="+" />
+				<xs:element name="Test3" minOccurs="0" maxOccurs="1" type="xs:int"
+					dfdl:initiator="Test3:" dfdl:terminator="+" />
+			</xs:sequence>
+
+
+		</xs:complexType>
+	</xs:element>
+
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelonetrm_01.dfdl.xsd b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelonetrm_01.dfdl.xsd
index 6e686ce..8d64ee1 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelonetrm_01.dfdl.xsd
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpadelonetrm_01.dfdl.xsd
@@ -16,62 +16,62 @@
   limitations under the License.
 -->
 
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
-	attributeFormDefault="unqualified" >
-
-	<xs:annotation>
-		<xs:appinfo source="http://www.ogf.org/dfdl/">
-			
-			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0"  
-				textBidi="no" floating="no"   encodingErrorPolicy="replace" encoding="utf-8" 
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
+	xmlns:cal="http://www.saf.cal/" elementFormDefault="unqualified"
+	attributeFormDefault="unqualified" >
+
+	<xs:annotation>
+		<xs:appinfo source="http://www.ogf.org/dfdl/">
+			
+			<dfdl:format initiator="" terminator="" leadingSkip="0" trailingSkip="0"  
+				textBidi="no" floating="no"   encodingErrorPolicy="replace" encoding="utf-8" 
 				byteOrder="bigEndian" bitOrder="mostSignificantBitFirst"
-				truncateSpecifiedLengthString="no" ignoreCase="no" representation="text"
-				textStringPadCharacter="*" textPadKind="padChar" textTrimKind="padChar"
-				textStringJustification="left" lengthKind="delimited"
-				textOutputMinLength="6" lengthUnits="bytes"
-				textCalendarJustification="right" nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="both"
-				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
-				sequenceKind="ordered" escapeSchemeRef="" separator="~"
-				separatorPosition="infix" separatorSuppressionPolicy="never" 
-				alignment="1" alignmentUnits="bytes" fillByte="f"
-				occursCountKind="implicit" outputNewLine="%LF;"
-				/>
-		</xs:appinfo>
-	</xs:annotation>
-	
-	<xs:element name="groupElem" >
-		<xs:complexType>
-			<xs:sequence 
-				dfdl:sequenceKind="ordered">
-				<xs:element name="Test1" type="xs:string" minOccurs="1" dfdl:textPadKind="none" dfdl:textTrimKind="none"
-					maxOccurs="1" dfdl:initiator="A:">
-
-				</xs:element>
-				<xs:element name="Test2" type="Field_2" minOccurs="1"
-					maxOccurs="1"  dfdl:initiator="B:">
-
-				</xs:element>
-				<xs:element name="Test3" type="Field_3" minOccurs="1"
-					maxOccurs="1" dfdl:initiator="C:">
-
-				</xs:element>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	
-	<xs:simpleType name="Field_2">
-		<xs:restriction base="xs:string">
-			<xs:minLength value="2"/>
-			<xs:maxLength value="3"/>
-		</xs:restriction>
-	</xs:simpleType>
-	
-	
-	<xs:simpleType name="Field_3">
-		<xs:restriction base="xs:string">
-			<xs:minLength value="3"/>
-		</xs:restriction>
-	</xs:simpleType>
-</xs:schema>
+				truncateSpecifiedLengthString="no" ignoreCase="no" representation="text"
+				textStringPadCharacter="*" textPadKind="padChar" textTrimKind="padChar"
+				textStringJustification="left" lengthKind="delimited"
+				textOutputMinLength="6" lengthUnits="bytes"
+				textCalendarJustification="right" nilValueDelimiterPolicy="both" emptyValueDelimiterPolicy="both"
+				documentFinalTerminatorCanBeMissing="no" initiatedContent="no"
+				sequenceKind="ordered" escapeSchemeRef="" separator="~"
+				separatorPosition="infix" separatorSuppressionPolicy="never" 
+				alignment="1" alignmentUnits="bytes" fillByte="f"
+				occursCountKind="implicit" outputNewLine="%LF;"
+				/>
+		</xs:appinfo>
+	</xs:annotation>
+	
+	<xs:element name="groupElem" >
+		<xs:complexType>
+			<xs:sequence 
+				dfdl:sequenceKind="ordered">
+				<xs:element name="Test1" type="xs:string" minOccurs="1" dfdl:textPadKind="none" dfdl:textTrimKind="none"
+					maxOccurs="1" dfdl:initiator="A:">
+
+				</xs:element>
+				<xs:element name="Test2" type="Field_2" minOccurs="1"
+					maxOccurs="1"  dfdl:initiator="B:">
+
+				</xs:element>
+				<xs:element name="Test3" type="Field_3" minOccurs="1"
+					maxOccurs="1" dfdl:initiator="C:">
+
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+	<xs:simpleType name="Field_2">
+		<xs:restriction base="xs:string">
+			<xs:minLength value="2"/>
+			<xs:maxLength value="3"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	
+	<xs:simpleType name="Field_3">
+		<xs:restriction base="xs:string">
+			<xs:minLength value="3"/>
+		</xs:restriction>
+	</xs:simpleType>
+</xs:schema>
diff --git a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpaext2.tdml b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpaext2.tdml
index 1e6719e..738a68b 100644
--- a/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpaext2.tdml
+++ b/daffodil-test-ibm1/src/test/resources/test-suite/ibm-contributed/dpaext2.tdml
@@ -16,532 +16,532 @@
   limitations under the License.
 -->
 
-<testSuite suiteName="dpaext2" 
-	description="Sample tests to post externally"
-	xmlns="http://www.ibm.com/xmlns/dfdl/testData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ct="http://w3.ibm.com/xmlns/dfdl/ctInfoset"
-	xsi:schemaLocation="http://www.ibm.com/xmlns/dfdl/testData tdml.xsd"
-	defaultRoundTrip="true">
-
-<!-- Section 13 - Simple Types
-    First, some tests for padding/trimming, with properties common to simple types with Text representation
-    and the string/number specific properties related to padding/trimming. Test include trimming include trimming in multibyte encodings, 
-    different justification (right, center, left)
-     -->
-
-<parserTestCase name="simple_type_properties_pad_trim_13_01"
- model="./fvt/ext/dpa/dpaflsmbyfrm41.dfdl.xsd" description="Section 13.2 trimming on multi-byte encoding utf-32BE"
- root="multibytes">
- <document><documentPart type="byte">0000ff3a0000d6c00000ffe10000ffe50000000000000000</documentPart></document>
- <infoset>
-  <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <multibytes>&#65338;&#54976;&#65505;&#65509;</multibytes>
-</dfdlInfoset>
-</infoset>
- </parserTestCase> 
-
-   <parserTestCase name="simple_type_properties_pad_trim_13_02" root="Test1"
-     model="./fvt/ext/dpa/dpaflstrmnum01.dfdl.xsd"
-     description="Section 13.2 trimming on fixed length numbers">
- <document>00001234</document>
-<infoset>
-<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <Test1 xsi:type="xs:integer">1234</Test1>
-</dfdlInfoset> 
-</infoset>
-</parserTestCase>
-  
-	<!--
-		delimited tests with padding/trimming - field2 has minlength 2,
-		maxlength 3, field 3 has minlength 3.  no padding/triming on field 1.
-	-->
-	<parserTestCase name="simple_type_properties_pad_trim_13_03" root="groupElem"
-		model="./fvt/ext/dpa/dpadelonetrm_01.dfdl.xsd" validation="on"
-		 description="Section 13.2 trimming on text fields in a delimited sequence, left justified">
-		<document>A:a~B:bb*~C:ccc</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-				<groupElem>
-					<Test1>a</Test1>
-					<Test2>bb</Test2>
-					<Test3>ccc</Test3>
-				</groupElem>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-
-	<!-- See DFDL-1560 to enable round tripping -->
-   <parserTestCase name="simple_type_properties_pad_trim_13_04" root="Fixed_string_with_Pads_9"
-		model="./fvt/ext/dpa/dpaflstrm101_03.dfdl.xsd" validation="on"
-		 description="Section 13.2 trimming on fixed length text fields, justification='center'"
-		 roundTrip="true">
-
-		<document>xAAAAAAAx</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-				  <Fixed_string_with_Pads_9>AAAAAAA</Fixed_string_with_Pads_9>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-   
-   <!--  in unparser test at this point, add textOutputMinLength -->
-   <!--  Section 13.2.1 escapeScheme is optional -->
-   <!--  Section 13.3 Bidirectional support is optional -->
-   
-      <!--  in unparser test at this point, add truncateSpecifiedLengthString -->
-      
-      <!-- To demonstrate some of the functionality of Section 13.5, properties specific to number with Text representation,
-      we have tests with decimal logical types, so show decimal and grouping separators, and a virtual decimal place.
-      With a logical double type, provide example use of zero rep, not a number rep, infinity rep, and exponent character.
-      Both decimal and double tests make use of the numberPattern property to indicate representation of required digits and location
-      of decimal place and grouping separator. 
-      All the above use base 10 for numbers, so another test is include with a logical short to show use of the textStandardBase
-      property to indicate number bases of 2,8, and 16.-->
-      
-      <parserTestCase name="simple_type_properties_text_number_13_01" root="decimal_group"
-		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
-		 description="Section 13.5 Specification of decimal and grouping separators, virtual decimal place">
-		<document>123 4567.8*123.456,78*1234</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <decimal_group>
-			    <decimal1 xsi:type="xs:decimal">1234567.8</decimal1>
-			    <decimal2 xsi:type="xs:decimal">123456.78</decimal2>
-			    <decimal3 xsi:type="xs:decimal">12.34</decimal3>
-			  </decimal_group>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	<!-- ~*myZero*NaN*12.3x12 -->
-	
-	<parserTestCase name="simple_type_properties_text_number_13_02" root="double_group"
-		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
-		 description="Section 13.5 Specification of zero rep, not a number rep, infinity rep, and exponent character in double">
-		<document>~*myZero*NaN*12.3x12</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <double_group>
-			    <double1 xsi:type="xs:double">INF</double1>
-			    <double1 xsi:type="xs:double">0.0</double1>
-			    <double1 xsi:type="xs:double">NaN</double1>
-			    <double1 xsi:type="xs:double">1.23E13</double1>
-			  </double_group>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	<!--  for unparser, need rounding example here. -->
-
-    <parserTestCase name="simple_type_properties_text_number_13_03" root="base_group"
-		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
-		 description="Section 13.5 Specification of number base - 2,8, and 16">
-		<document>0101*127*10F</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <base_group>
-			    <short_base2 xsi:type="xs:short">5</short_base2>
-			    <short_base8 xsi:type="xs:short">87</short_base8>
-			    <short_base16 xsi:type="xs:short">271</short_base16>
-			   </base_group>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	<!-- Tests for Section 13.7, Properties specific to Number with Binary Representation, include use of the properties
-	binaryNumberRep, binaryDecimalVirtualPoint,  decimalSigned,  binaryNumberCheckPolicy. The first, with a BCD number contrasts
-	a logical decimal type with a viruatl decimal point, and an integer type. The second test is a simple IEEE float number. -->
-	
-	<parserTestCase name="simple_type_properties_binary_number_13_01" root="bcd_group"
-		model="./fvt/ext/dpa/dpanum_bin.dfdl.xsd" 
-		 description="Section 13.7 Properties for numbers with binary representation - BCD">
-		<document><documentPart type="byte">12345678</documentPart>
-		<documentPart type="text">*</documentPart>
-		<documentPart type="byte">12345678</documentPart>
-		</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <bcd_group>
-			    <decimal1 xsi:type="xs:decimal">123456.78</decimal1>
-			    <integer1 xsi:type="xs:integer">12345678</integer1>
-			   </bcd_group>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="simple_type_properties_binary_number_13_02" root="float1"
-		model="./fvt/ext/dpa/dpanum_bin.dfdl.xsd" 
-		 description="Section 13.8 Float/Double with binary representation">
-		<document><documentPart type="byte">A6901D7D</documentPart></document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-		    <float1 xsi:type="xs:float">-1.0E-15</float1>
-			</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-
-   <!--  Sections 13.9 and 13.10 of the DFDL specification cover properties related to logical boolean values, text and binary. -->
-   <!-- For boolean text, the first test has an explicit length for the boolean element, so a entity is used to pad the short
-   boolean true representation value to the same length as false.  Note this is treated  as part of the boolean representation in this case
-   and not a pad character.  The second test shows the use of text numbers (1,0) for the boolean representations.
-   The third test shows the use of lengthKind implicit with varying length of boolean representation, and the fourth, the use
-   of a logical boolean in a binary  representation -->
-   
-    <parserTestCase name="simple_type_properties_text_boolean_13_01" root="boolean1"
-		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
-		 description="Section 13.9 Properties for boolean text  - ">
-		<document>true false</document>
-		<infoset>
-			 <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <boolean1>
-    <MyBoolean1 xsi:type="xs:boolean">true</MyBoolean1>
-    <MyBoolean1 xsi:type="xs:boolean">false</MyBoolean1>
-  </boolean1>
-</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="simple_type_properties_text_boolean_13_02" root="boolean2"
-		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
-		 description="Section 13.9 Properties for boolean text  - ">
-		<document>10</document>
-		<infoset>
-			 <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <boolean2>
-    <MyBoolean2 xsi:type="xs:boolean">true</MyBoolean2>
-    <MyBoolean2 xsi:type="xs:boolean">false</MyBoolean2>
-  </boolean2>
-</dfdlInfoset> 
-		</infoset>
-	</parserTestCase>
-	
-	
-	<parserTestCase name="simple_type_properties_text_boolean_13_03" root="boolean3"
-		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
-		 description="Section 13.9 Properties for boolean text  - ">
-		<document>truetrue</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <boolean3>
-    <MyBoolean3 xsi:type="xs:boolean">true</MyBoolean3>
-    <MyBoolean3 xsi:type="xs:boolean">true</MyBoolean3>
-  </boolean3>
-</dfdlInfoset> 
-
-		</infoset>
-	</parserTestCase>
-	
-	
-	<parserTestCase name="simple_type_properties_bin_boolean_13_01" root="boolean1"
-		model="./fvt/ext/dpa/dpabol102.dfdl.xsd" 
-		 description="Section 13.10 Properties for boolean text (Binary boolean type was also used in alignment
-		 example above - ">
-		<document><documentPart type="byte">00070000</documentPart></document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <boolean1>
-			    <MyBoolean1 xsi:type="xs:boolean">true</MyBoolean1>
-			    <MyBoolean1 xsi:type="xs:boolean">false</MyBoolean1>
-			  </boolean1>
-			</dfdlInfoset> 
-
-		</infoset>
-	</parserTestCase>
-	
-	<!-- Section 13.10, 13.12, and 13.13 cover the properties specific to calendar objects, text and binary. 
-	Tests are included to cover padding and trimming with calendar fields, (properties textCalendarJustification, textCalendarPadCharacter)
-	calendarPattern and PatternKind(including implicit), and celendarFirstDayOfWeeK calendardDaysInFirstWeek (to convert a date value
-	from input provide in a form that indicates the Monday of the First week of 2010.)  
-	With the calendar property calendarStrictChecking, we show 56th week  is acceptable if checking is lax.
-	If the calendar presentation does not include time zone or has implied century, another test shows how calendarTimeZone, calendarCenturyStart
-	properties can be used to indicate this information in the calendar object in the infoset.
-	Finally, two tests show the basic use of binarySeconds and binaryMilliseconds, for logical calendar object represented in seconds or
-	milliseconds after a specified Epoch value.
-	
-	-->
-	<parserTestCase name="simple_type_properties_text_calendar_13_01" root="myDateTime"
-		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
-		 description="Section 13.10 Properties for calendar text  -calendarPattern, calendarPatternKind, celendarFirstDayOfWeek
-		 calendardDaysInFirstWeek , Section 13.12 - textCalendarJustification, textCalendarPadCharacter">
-		<document>xxxx2011040506MON01@</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <myDateTime xsi:type="xs:dateTime">2010-12-27T04:05:06.000000+00:00</myDateTime>
-			</dfdlInfoset>
-
-		</infoset>
-	</parserTestCase>
-	
-<!-- @ Terminator inherited at both parent element and group from default format -->	
-	<parserTestCase name="simple_type_properties_text_calendar_13_02" root="calendar_group"
-		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
-		 description="Section 13.10 Properties for calendar text  - implicit patterns for date, time, and dateTime ">
-		<document>2010-12-30*04:05:06+01:00*2010-12-30T04:05:06@@</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <calendar_group>
-			    <date1 xsi:type="xs:date">2010-12-30+00:00</date1>
-			    <time1 xsi:type="xs:time">04:05:06.000000+01:00</time1>
-			    <datetime1 xsi:type="xs:dateTime">2010-12-30T04:05:06.000000+00:00</datetime1>
-			  </calendar_group>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-		
-	<parserTestCase name="simple_type_properties_text_calendar_13_03" root="myDateTime"
-		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
-		 description="Section 13.10 Properties for calendar text  - calendarStrictChecking (56th week  is ok if lax)">
-		<document>xxxx2011040506MON56@</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <myDateTime xsi:type="xs:dateTime">2012-01-16T04:05:06.000000+00:00</myDateTime>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>	
-	
-	<parserTestCase name="simple_type_properties_text_calendar_13_04" root="myDateTime4"
-		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
-		 description="Section 13.10 Properties for calendar text  -calendarTimeZone, calendarCenturyStart ">
-		<document>101230040506@</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <myDateTime4 xsi:type="xs:dateTime">2010-12-30T04:05:06.000000-05:00</myDateTime4>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="simple_type_properties_bin_calendar_13_01" root="testBinarySeconds"
-		model="./fvt/ext/dpa/dpacalbin100_01.dfdl.xsd" 
-		 description="Section 13.13 Properties for calendar binary - binarySeconds='3600' as a four byte binary integer(an hour)  ">
-		<document><documentPart type="byte">0000003C</documentPart></document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <testBinarySeconds xsi:type="xs:dateTime">1970-01-01T00:01:00.000000+00:00</testBinarySeconds>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-
-     <parserTestCase name="simple_type_properties_bin_calendar_13_02" root="testBinaryMilliseconds"
-		model="./fvt/ext/dpa/dpacalbin100_01.dfdl.xsd" 
-		 description="Section 13.13 Properties for calendar binary binarySeconds='3600' as a four byte binary integer(an hour)  ">
-		<document><documentPart type="byte">000000000000003C</documentPart></document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <testBinaryMilliseconds xsi:type="xs:dateTime">2009-12-24T05:15:00.060000+05:00</testBinaryMilliseconds>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase> 
-
-   <!--  section 13.15, 13.16, 13.17  - nil and default processing - optional -->
-   
-   <!-- Section 14 of the DFDL specification covers Sequence groups. As unordered groups are optional, only tests with ordered
-   groups are included.  Tests show the various separator positions (infix, postfix, and prefix) and separator policies, including
-   scenarios where optional elements of the group are missing. The first tests use delimited length fields, but there are two
-   tests that show a sequence with explicit length fields. -->
-   
-   <parserTestCase name="sequences_separated_14_01" root="groupElem"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - delimited ordered sequence, separatorPosition='infix' separatorSuppressionPolicy='trailingEmptyStrict' ">
-		<document>Test1:1+*Test2:myString+*Test3:3+</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			    <Test3 xsi:type="xs:int">3</Test3>
-			  </groupElem>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_02" root="groupElem"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - missing optional element 3 ">
-		<document>Test1:1+*Test2:myString+</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			   </groupElem>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_03" root="groupElem2"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - delimited ordered sequence, separatorPosition='prefix' separatorSuppressionPolicy='never' ">
-		<document>*Test1:1+*Test2:myString+*Test3:3+</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem2>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			    <Test3 xsi:type="xs:int">3</Test3>
-			  </groupElem2>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_04" root="groupElem2"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - missing optional element 3 ">
-		<document>*Test1:1+*Test2:myString+*</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem2>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			   </groupElem2>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_05" root="groupElem3"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - delimited ordered sequence, separatorPosition='postfix' separatorSuppressionPolicy='anyEmpty' ">
-		<document>Test1:1+*Test2:myString+*Test3:3+*</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem3>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			    <Test3 xsi:type="xs:int">3</Test3>
-			  </groupElem3>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_06" root="groupElem3"
-		model="./fvt/ext/dpa/dpadeloneini_01.dfdl.xsd" 
-		 description="Section 14 Sequences Groups - missing optional element 2 ">
-		<document>Test1:1+*Test3:3+*</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem3>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test3 xsi:type="xs:int">3</Test3>
-			   </groupElem3>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	 <parserTestCase name="sequences_separated_14_07" root="groupElem"
-		model="./fvt/ext/dpa/dpaflsoneini_01.dfdl.xsd" 
-		 description="Section 14 Sequence Groups - fixed length ordered sequence, separatorPosition='infix' separatorSuppressionPolicy='trailingEmptyStrict' ">
-		<document>Test1:1+*Test2:myString+*Test3:3+</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			    <Test3 xsi:type="xs:int">3</Test3>
-			  </groupElem>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<parserTestCase name="sequences_separated_14_08" root="groupElem"
-		model="./fvt/ext/dpa/dpaflsoneini_01.dfdl.xsd" 
-		 description="Section 14 Sequence Groups - fixed length ordered sequence with missing optional element 3 ">
-		<document>Test1:1+*Test2:myString+</document>
-		<infoset>
-			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-			  <groupElem>
-			    <Test1 xsi:type="xs:int">1</Test1>
-			    <Test2>myString</Test2>
-			   </groupElem>
-			</dfdlInfoset>
-		</infoset>
-	</parserTestCase>
-	
-	<!--  floating, unordered, hidden all optional -->
-	
-	<!-- Section 15 covers Choice Groups.  The tests for this take a single global element that has nested choices, and 
-	demonstrates the input and expected infoset values for various choice branches taken. In these tests, the lengthKind is delimited.
-	 -->
-	 
-	<parserTestCase name="choices_basic_15_01"
- model="./fvt/ext/dpa/dpadelmulcho_01.xsd"
- root="Choice_Outer"
- description="Section 15 Choice Groups - nested choices - first branch of outer choice, first branch of inner choice in data ">
- <document>iTest1:1+*Test2:amb=*Test3:3!t</document>
- <infoset>
- <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Choice_Outer>
-    <groupElem>
-      <Test1 xsi:type="xs:int">1</Test1>
-      <Choice_inner>
-        <InnerText1>m</InnerText1>
-      </Choice_inner>
-      <Test3 xsi:type="xs:int">3</Test3>
-    </groupElem>
-  </Choice_Outer>
-</dfdlInfoset>
-</infoset>
- </parserTestCase> 
-
- 
- <parserTestCase name="choices_basic_15_02"
- model="./fvt/ext/dpa/dpadelmulcho_01.xsd"
- root="Choice_Outer"
-  description="Section 15 Choice Groups - nested choices - first branch of outer choice, second branch of inner choice in data ">
-  <document>iTest1:1+*Test2:cmd=*Test3:3!t</document>
- <infoset>
-  <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Choice_Outer>
-    <groupElem>
-      <Test1 xsi:type="xs:int">1</Test1>
-      <Choice_inner>
-        <InnerText2>m</InnerText2>
-      </Choice_inner>
-      <Test3 xsi:type="xs:int">3</Test3>
-    </groupElem>
-  </Choice_Outer>
-</dfdlInfoset>
-</infoset>
- </parserTestCase> 
- 
- <!-- second choice branch of outer choice -->
-  <parserTestCase name="choices_basic_15_03"
- model="./fvt/ext/dpa/dpadelmulcho_01.xsd"
- root="Choice_Outer"
- description="Section 15 Choice Groups - nested choices - second branch of outer choice in data ">
- <document>xmy</document>
- <infoset>
- <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Choice_Outer>
-    <myText2>m</myText2>
-  </Choice_Outer>
-</dfdlInfoset>
-</infoset>
- </parserTestCase>
- 
- <!-- Section 16 covers Arrays and Optional elements. In the sequence groups tests above, we showed the use
- of optional elements in a sequence.   The test here has a sequence that include 3 different elements that all repeat.
- The first element has occursCountKind of fixed, so must have exactly 2 occurrences. The Other two elements show 
- the use of occursCountKind=parsed.
-	 -->
-	 
-  
- <parserTestCase name="arrays_16_01"
- model="./fvt/ext/dpa/dpadelonearr_12.xsd"
- root="groupElem"
-  description="Section 16 Arrays and optional elements - arrays with occursCountKind of fixed and parsed.">
- <document>~A:a~A:b~B:a~B:b~C:a~C:b</document>
- <infoset>
-  <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <groupElem>
-    <Test1>a</Test1>
-    <Test1>b</Test1>
-    <Test2>a</Test2>
-    <Test2>b</Test2>
-    <Test3>a</Test3>
-    <Test3>b</Test3>
-  </groupElem>
-</dfdlInfoset>
-</infoset>
- </parserTestCase> 
-</testSuite>
-
-
+<testSuite suiteName="dpaext2" 
+	description="Sample tests to post externally"
+	xmlns="http://www.ibm.com/xmlns/dfdl/testData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:ct="http://w3.ibm.com/xmlns/dfdl/ctInfoset"
+	xsi:schemaLocation="http://www.ibm.com/xmlns/dfdl/testData tdml.xsd"
+	defaultRoundTrip="true">
+
+<!-- Section 13 - Simple Types
+    First, some tests for padding/trimming, with properties common to simple types with Text representation
+    and the string/number specific properties related to padding/trimming. Test include trimming include trimming in multibyte encodings, 
+    different justification (right, center, left)
+     -->
+
+<parserTestCase name="simple_type_properties_pad_trim_13_01"
+ model="./fvt/ext/dpa/dpaflsmbyfrm41.dfdl.xsd" description="Section 13.2 trimming on multi-byte encoding utf-32BE"
+ root="multibytes">
+ <document><documentPart type="byte">0000ff3a0000d6c00000ffe10000ffe50000000000000000</documentPart></document>
+ <infoset>
+  <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <multibytes>&#65338;&#54976;&#65505;&#65509;</multibytes>
+</dfdlInfoset>
+</infoset>
+ </parserTestCase> 
+
+   <parserTestCase name="simple_type_properties_pad_trim_13_02" root="Test1"
+     model="./fvt/ext/dpa/dpaflstrmnum01.dfdl.xsd"
+     description="Section 13.2 trimming on fixed length numbers">
+ <document>00001234</document>
+<infoset>
+<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <Test1 xsi:type="xs:integer">1234</Test1>
+</dfdlInfoset> 
+</infoset>
+</parserTestCase>
+  
+	<!--
+		delimited tests with padding/trimming - field2 has minlength 2,
+		maxlength 3, field 3 has minlength 3.  no padding/triming on field 1.
+	-->
+	<parserTestCase name="simple_type_properties_pad_trim_13_03" root="groupElem"
+		model="./fvt/ext/dpa/dpadelonetrm_01.dfdl.xsd" validation="on"
+		 description="Section 13.2 trimming on text fields in a delimited sequence, left justified">
+		<document>A:a~B:bb*~C:ccc</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+				<groupElem>
+					<Test1>a</Test1>
+					<Test2>bb</Test2>
+					<Test3>ccc</Test3>
+				</groupElem>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+
+	<!-- See DFDL-1560 to enable round tripping -->
+   <parserTestCase name="simple_type_properties_pad_trim_13_04" root="Fixed_string_with_Pads_9"
+		model="./fvt/ext/dpa/dpaflstrm101_03.dfdl.xsd" validation="on"
+		 description="Section 13.2 trimming on fixed length text fields, justification='center'"
+		 roundTrip="true">
+
+		<document>xAAAAAAAx</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+				  <Fixed_string_with_Pads_9>AAAAAAA</Fixed_string_with_Pads_9>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+   
+   <!--  in unparser test at this point, add textOutputMinLength -->
+   <!--  Section 13.2.1 escapeScheme is optional -->
+   <!--  Section 13.3 Bidirectional support is optional -->
+   
+      <!--  in unparser test at this point, add truncateSpecifiedLengthString -->
+      
+      <!-- To demonstrate some of the functionality of Section 13.5, properties specific to number with Text representation,
+      we have tests with decimal logical types, so show decimal and grouping separators, and a virtual decimal place.
+      With a logical double type, provide example use of zero rep, not a number rep, infinity rep, and exponent character.
+      Both decimal and double tests make use of the numberPattern property to indicate representation of required digits and location
+      of decimal place and grouping separator. 
+      All the above use base 10 for numbers, so another test is include with a logical short to show use of the textStandardBase
+      property to indicate number bases of 2,8, and 16.-->
+      
+      <parserTestCase name="simple_type_properties_text_number_13_01" root="decimal_group"
+		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
+		 description="Section 13.5 Specification of decimal and grouping separators, virtual decimal place">
+		<document>123 4567.8*123.456,78*1234</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <decimal_group>
+			    <decimal1 xsi:type="xs:decimal">1234567.8</decimal1>
+			    <decimal2 xsi:type="xs:decimal">123456.78</decimal2>
+			    <decimal3 xsi:type="xs:decimal">12.34</decimal3>
+			  </decimal_group>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	<!-- ~*myZero*NaN*12.3x12 -->
+	
+	<parserTestCase name="simple_type_properties_text_number_13_02" root="double_group"
+		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
+		 description="Section 13.5 Specification of zero rep, not a number rep, infinity rep, and exponent character in double">
+		<document>~*myZero*NaN*12.3x12</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <double_group>
+			    <double1 xsi:type="xs:double">INF</double1>
+			    <double1 xsi:type="xs:double">0.0</double1>
+			    <double1 xsi:type="xs:double">NaN</double1>
+			    <double1 xsi:type="xs:double">1.23E13</double1>
+			  </double_group>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	<!--  for unparser, need rounding example here. -->
+
+    <parserTestCase name="simple_type_properties_text_number_13_03" root="base_group"
+		model="./fvt/ext/dpa/dpanum_properties.dfdl.xsd" 
+		 description="Section 13.5 Specification of number base - 2,8, and 16">
+		<document>0101*127*10F</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <base_group>
+			    <short_base2 xsi:type="xs:short">5</short_base2>
+			    <short_base8 xsi:type="xs:short">87</short_base8>
+			    <short_base16 xsi:type="xs:short">271</short_base16>
+			   </base_group>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	<!-- Tests for Section 13.7, Properties specific to Number with Binary Representation, include use of the properties
+	binaryNumberRep, binaryDecimalVirtualPoint,  decimalSigned,  binaryNumberCheckPolicy. The first, with a BCD number contrasts
+	a logical decimal type with a viruatl decimal point, and an integer type. The second test is a simple IEEE float number. -->
+	
+	<parserTestCase name="simple_type_properties_binary_number_13_01" root="bcd_group"
+		model="./fvt/ext/dpa/dpanum_bin.dfdl.xsd" 
+		 description="Section 13.7 Properties for numbers with binary representation - BCD">
+		<document><documentPart type="byte">12345678</documentPart>
+		<documentPart type="text">*</documentPart>
+		<documentPart type="byte">12345678</documentPart>
+		</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <bcd_group>
+			    <decimal1 xsi:type="xs:decimal">123456.78</decimal1>
+			    <integer1 xsi:type="xs:integer">12345678</integer1>
+			   </bcd_group>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	<parserTestCase name="simple_type_properties_binary_number_13_02" root="float1"
+		model="./fvt/ext/dpa/dpanum_bin.dfdl.xsd" 
+		 description="Section 13.8 Float/Double with binary representation">
+		<document><documentPart type="byte">A6901D7D</documentPart></document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+		    <float1 xsi:type="xs:float">-1.0E-15</float1>
+			</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+
+   <!--  Sections 13.9 and 13.10 of the DFDL specification cover properties related to logical boolean values, text and binary. -->
+   <!-- For boolean text, the first test has an explicit length for the boolean element, so a entity is used to pad the short
+   boolean true representation value to the same length as false.  Note this is treated  as part of the boolean representation in this case
+   and not a pad character.  The second test shows the use of text numbers (1,0) for the boolean representations.
+   The third test shows the use of lengthKind implicit with varying length of boolean representation, and the fourth, the use
+   of a logical boolean in a binary  representation -->
+   
+    <parserTestCase name="simple_type_properties_text_boolean_13_01" root="boolean1"
+		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
+		 description="Section 13.9 Properties for boolean text  - ">
+		<document>true false</document>
+		<infoset>
+			 <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <boolean1>
+    <MyBoolean1 xsi:type="xs:boolean">true</MyBoolean1>
+    <MyBoolean1 xsi:type="xs:boolean">false</MyBoolean1>
+  </boolean1>
+</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	<parserTestCase name="simple_type_properties_text_boolean_13_02" root="boolean2"
+		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
+		 description="Section 13.9 Properties for boolean text  - ">
+		<document>10</document>
+		<infoset>
+			 <dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <boolean2>
+    <MyBoolean2 xsi:type="xs:boolean">true</MyBoolean2>
+    <MyBoolean2 xsi:type="xs:boolean">false</MyBoolean2>
+  </boolean2>
+</dfdlInfoset> 
+		</infoset>
+	</parserTestCase>
+	
+	
+	<parserTestCase name="simple_type_properties_text_boolean_13_03" root="boolean3"
+		model="./fvt/ext/dpa/dpabol101.dfdl.xsd" 
+		 description="Section 13.9 Properties for boolean text  - ">
+		<document>truetrue</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <boolean3>
+    <MyBoolean3 xsi:type="xs:boolean">true</MyBoolean3>
+    <MyBoolean3 xsi:type="xs:boolean">true</MyBoolean3>
+  </boolean3>
+</dfdlInfoset> 
+
+		</infoset>
+	</parserTestCase>
+	
+	
+	<parserTestCase name="simple_type_properties_bin_boolean_13_01" root="boolean1"
+		model="./fvt/ext/dpa/dpabol102.dfdl.xsd" 
+		 description="Section 13.10 Properties for boolean text (Binary boolean type was also used in alignment
+		 example above - ">
+		<document><documentPart type="byte">00070000</documentPart></document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <boolean1>
+			    <MyBoolean1 xsi:type="xs:boolean">true</MyBoolean1>
+			    <MyBoolean1 xsi:type="xs:boolean">false</MyBoolean1>
+			  </boolean1>
+			</dfdlInfoset> 
+
+		</infoset>
+	</parserTestCase>
+	
+	<!-- Section 13.10, 13.12, and 13.13 cover the properties specific to calendar objects, text and binary. 
+	Tests are included to cover padding and trimming with calendar fields, (properties textCalendarJustification, textCalendarPadCharacter)
+	calendarPattern and PatternKind(including implicit), and celendarFirstDayOfWeeK calendardDaysInFirstWeek (to convert a date value
+	from input provide in a form that indicates the Monday of the First week of 2010.)  
+	With the calendar property calendarStrictChecking, we show 56th week  is acceptable if checking is lax.
+	If the calendar presentation does not include time zone or has implied century, another test shows how calendarTimeZone, calendarCenturyStart
+	properties can be used to indicate this information in the calendar object in the infoset.
+	Finally, two tests show the basic use of binarySeconds and binaryMilliseconds, for logical calendar object represented in seconds or
+	milliseconds after a specified Epoch value.
+	
+	-->
+	<parserTestCase name="simple_type_properties_text_calendar_13_01" root="myDateTime"
+		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
+		 description="Section 13.10 Properties for calendar text  -calendarPattern, calendarPatternKind, celendarFirstDayOfWeek
+		 calendardDaysInFirstWeek , Section 13.12 - textCalendarJustification, textCalendarPadCharacter">
+		<document>xxxx2011040506MON01@</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <myDateTime xsi:type="xs:dateTime">2010-12-27T04:05:06.000000+00:00</myDateTime>
+			</dfdlInfoset>
+
+		</infoset>
+	</parserTestCase>
+	
+<!-- @ Terminator inherited at both parent element and group from default format -->	
+	<parserTestCase name="simple_type_properties_text_calendar_13_02" root="calendar_group"
+		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
+		 description="Section 13.10 Properties for calendar text  - implicit patterns for date, time, and dateTime ">
+		<document>2010-12-30*04:05:06+01:00*2010-12-30T04:05:06@@</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <calendar_group>
+			    <date1 xsi:type="xs:date">2010-12-30+00:00</date1>
+			    <time1 xsi:type="xs:time">04:05:06.000000+01:00</time1>
+			    <datetime1 xsi:type="xs:dateTime">2010-12-30T04:05:06.000000+00:00</datetime1>
+			  </calendar_group>
+			</dfdlInfoset>
+		</infoset>
+	</parserTestCase>
+		
+	<parserTestCase name="simple_type_properties_text_calendar_13_03" root="myDateTime"
+		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
+		 description="Section 13.10 Properties for calendar text  - calendarStrictChecking (56th week  is ok if lax)">
+		<document>xxxx2011040506MON56@</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <myDateTime xsi:type="xs:dateTime">2012-01-16T04:05:06.000000+00:00</myDateTime>
+			</dfdlInfoset>
+		</infoset>
+	</parserTestCase>	
+	
+	<parserTestCase name="simple_type_properties_text_calendar_13_04" root="myDateTime4"
+		model="./fvt/ext/dpa/dpacaltxt_43.dfdl.xsd" 
+		 description="Section 13.10 Properties for calendar text  -calendarTimeZone, calendarCenturyStart ">
+		<document>101230040506@</document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <myDateTime4 xsi:type="xs:dateTime">2010-12-30T04:05:06.000000-05:00</myDateTime4>
+			</dfdlInfoset>
+		</infoset>
+	</parserTestCase>
+	
+	<parserTestCase name="simple_type_properties_bin_calendar_13_01" root="testBinarySeconds"
+		model="./fvt/ext/dpa/dpacalbin100_01.dfdl.xsd" 
+		 description="Section 13.13 Properties for calendar binary - binarySeconds='3600' as a four byte binary integer(an hour)  ">
+		<document><documentPart type="byte">0000003C</documentPart></document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <testBinarySeconds xsi:type="xs:dateTime">1970-01-01T00:01:00.000000+00:00</testBinarySeconds>
+			</dfdlInfoset>
+		</infoset>
+	</parserTestCase>
+
+     <parserTestCase name="simple_type_properties_bin_calendar_13_02" root="testBinaryMilliseconds"
+		model="./fvt/ext/dpa/dpacalbin100_01.dfdl.xsd" 
+		 description="Section 13.13 Properties for calendar binary binarySeconds='3600' as a four byte binary integer(an hour)  ">
+		<document><documentPart type="byte">000000000000003C</documentPart></document>
+		<infoset>
+			<dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+			  <testBinaryMilliseconds xsi:type="xs:dateTime">2009-12-24T05:15:00.060000+05:00</testBinaryMilliseconds>
... 74457 lines suppressed ...

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